How to read the old (and fault) NAND flash memory DM365, of my Phantom3 Pro before change it?.

Joined
Feb 6, 2016
Messages
7
Reaction score
3
Age
36
I flashed one time the NAND flash memory (image problems) with good results, but after a few months, again FPV problem. I tried flash again but a mistake writing one sector appear, so I think that the chip is broken, so I would like to change the chip, but I read that is better to read the original chip, if it is possible, to use this information for flashing the new , and avoid if possible the 8fps problem, but I don’t now how to do that. Some one can help me how to do it please?.
 
Last edited:
a mistake writing one sector appear
make sure it appears always and is not just one-time problem.

I read that is better to read the original chip, if it is possible, to use this information for flashing the new
That's true, it would be best if you was able to read the "encrypted partition", as it can only be decrypted properly with ATSHA205 chip on your specific board. There's also an encrypted file in root file system somewhere, but I can't remember details or whether it's even really needed.

How - you need to boot to either a u-boot console or Linux shell, then just issue commands to send the data through serial interface.

Can you do this without u-boot - probably yes. Since the `sfh_DM36x` uses some kind of interface which allows writing, there probably also is an interface to allow reading. But you'd have to understand how `sfh_DM36x` works and write a similar tool for reading - I don't think there's a tool ready.

And can you do this without programming a tool - also yes, another possibility is to just solder the chip to a PC programmer board and read it from a PC tool. Though I'm not sure if it's easy to find a kit for this specific chip, and it probably isn't cheap due to rarity.
 
Thanks for your answer,.
Yes always apear the same error
"Target: Writing header and image data to Block 0x0000000A, Page 0x00000000
Target: Write verify failed, skipping block!"

I am using serial conection and I don't have change the chip yet, so I would like to know if I can read it before change the chip with the serial procedure.

-----------------------------------------------------
TI Serial Flasher Host Program for DM36x
(C) 2009, Texas Instruments, Inc.
Ver. 1.50
-----------------------------------------------------


Flashing NAND with ubl1.img and u-boot.img.


Attempting to connect to device COM3...
Press any key to end this program at any time.


Waiting for the DM36x...
Target: BOOTME
BOOTME commmand received. Returning ACK and header...
ACK command sent. Waiting for BEGIN command...
Target: BEGIN
BEGIN commmand received. Sending CRC table...
100% [ ]
CRC table sent....



Waiting for DONE...
Target: DONE
DONE received. Sending the UBL...
0% [ ------------------------------------------------------------ ]
Status Undefined
100%
Sending UBL...
Target: DONE UBL sent.
DONE received. UBL was accepted.
UBL transmitted successfully.


Waiting for SFT on the DM36x...
Target: Starting UART Boot...
Target: BOOTUBL
BOOTUBL commmand received. Returning CMD and command...
CMD value sent. Waiting for DONE...
Target: DONE
DONE received. Command was accepted.
Sending the UBL image
Waiting for SENDIMG sequence...
Target: SENDIMG
SENDIMG received. Returning ACK and header for image data...
ACK command sent. Waiting for BEGIN command...
Target: BEGIN
BEGIN commmand received.
0% [ ------------------------------------------------------------ ]
Status Undefined

100%
Waiting for DONE... Image data sent.
Target: DONE
DONE received. All bytes of image data received...
Target: Writing UBL to NAND flash
Target: Unprotecting blocks 0x00000001 through 0x00000018.
Target: Number of blocks needed for header and data: 0x0x00000001
Target: Attempting to start in block number 0x0x00000001.
Target: Erasing block 0x00000001 through 0x00000001.
Target: Writing header and image data to Block 0x00000001, Page 0x00000000
Target: Erasing block 0x00000002 through 0x00000002.
Target: Writing header and image data to Block 0x00000002, Page 0x00000000
Target: Erasing block 0x00000003 through 0x00000003.
Target: Writing header and image data to Block 0x00000003, Page 0x00000000
Target: Erasing block 0x00000004 through 0x00000004.
Target: Writing header and image data to Block 0x00000004, Page 0x00000000
Target: Erasing block 0x00000005 through 0x00000005.
Target: Writing header and image data to Block 0x00000005, Page 0x00000000
Target: Erasing block 0x00000006 through 0x00000006.
Target: Writing header and image data to Block 0x00000006, Page 0x00000000
Target: Erasing block 0x00000007 through 0x00000007.
Target: Writing header and image data to Block 0x00000007, Page 0x00000000
Target: Erasing block 0x00000008 through 0x00000008.
Target: Writing header and image data to Block 0x00000008, Page 0x00000000
Target: Erasing block 0x00000009 through 0x00000009.
Target: Writing header and image data to Block 0x00000009, Page 0x00000000
Target: Erasing block 0x0000000A through 0x0000000A.
Target: Writing header and image data to Block 0x0000000A, Page 0x00000000
Target: Write verify failed, skipping block!
Target: Erasing block 0x0000000B through 0x0000000B.
Target: Writing header and image data to Block 0x0000000B, Page 0x00000000
Target: Erasing block 0x0000000C through 0x0000000C.
Target: Writing header and image data to Block 0x0000000C, Page 0x00000000
Target: Erasing block 0x0000000D through 0x0000000D.
Target: Writing header and image data to Block 0x0000000D, Page 0x00000000
Target: Erasing block 0x0000000E through 0x0000000E.
Target: Writing header and image data to Block 0x0000000E, Page 0x00000000
Target: Erasing block 0x0000000F through 0x0000000F.
Target: Writing header and image data to Block 0x0000000F, Page 0x00000000
Target: Erasing block 0x00000010 through 0x00000010.
Target: Writing header and image data to Block 0x00000010, Page 0x00000000
Target: Erasing block 0x00000011 through 0x00000011.
Target: Writing header and image data to Block 0x00000011, Page 0x00000000
Target: Erasing block 0x00000012 through 0x00000012.
Target: Writing header and image data to Block 0x00000012, Page 0x00000000
Target: Erasing block 0x00000013 through 0x00000013.
Target: Writing header and image data to Block 0x00000013, Page 0x00000000
Target: Erasing block 0x00000014 through 0x00000014.
Target: Writing header and image data to Block 0x00000014, Page 0x00000000
Target: Erasing block 0x00000015 through 0x00000015.
Target: Writing header and image data to Block 0x00000015, Page 0x00000000
Target: Erasing block 0x00000016 through 0x00000016.
Target: Writing header and image data to Block 0x00000016, Page 0x00000000
Target: Erasing block 0x00000017 through 0x00000017.
Target: Writing header and image data to Block 0x00000017, Page 0x00000000
Target: Erasing block 0x00000018 through 0x00000018.
Target: Writing header and image data to Block 0x00000018, Page 0x00000000
Target: Protecting the entire NAND flash.
Target: DONE
 

Recent Posts

Members online

Forum statistics

Threads
143,519
Messages
1,471,091
Members
105,494
Latest member
tgbest