This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Flashing NAND via serial port



Hi all,
I'm trying to burn the NAND flash on our DM365 EVM (REV E) via serial port.
After erasing it (via u-boot), I tried to use the recommended application - sfh_DM36x.exe, but without success.
Maybe I do something wrong.
Here the log:
alex@alex-desktop:~/.../serial_flash/dm365$ ./flash_cmd

-----------------------------------------------------
   TI Serial Flasher Host Program for DM36x
   (C) 2009, Texas Instruments, Inc.
   Ver. 1.50
-----------------------------------------------------
Flashing NAND with ubl.bin and u-boot.bin.


Attempting to connect to device /dev/ttyUSB0...
Press any key to end this program at any time.


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


Waiting for DONE...
DONE received.  Sending the UBL...
   0% [ ------------------------------------------------------------ ]
Status Undefined

 100%                                                              
DONE received.  UBL was accepted. sent.
UBL transmitted successfully.


Waiting for SFT on the DM36x...
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME
        Target:  BOOTME      (endless loop...)

Aborting program...       (at this point I pressed 'enter' to abort it)


Interfacing to the DM36x via UART failed.
Please reset or power-cycle the board and try again...
alex@alex-desktop:~/.../serial_flash/dm365$


Thanks in advance for your help.

  • Hi,

    I have also seen such errors while using serial flasher. I found out two solutions to this problem.

    1. Erase the NAND using the serial flasher.

    2. Just re-running the flasher has sometimes solved the issue.

    As you can see, option 1 is the more cleaner way to do it.

    Regards, Sudhakar

  • Here the result:

     

    alex@alex-desktop:~/.../serial_flash/dm365$ mono sfh_DM36x.exe -nanderase -p /dev/ttyUSB1


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


    Globally erasing NAND flash.


    Attempting to connect to device /dev/ttyUSB1...
    Press any key to end this program at any time.


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


    Waiting for DONE...
    DONE received.  Sending the UBL...
       0% [ ------------------------------------------------------------ ]
    Status Undefined

     100%                                                              
    DONE received.  UBL was accepted. sent.
    UBL transmitted successfully.


    Waiting for SFT on the DM36x...
        Target:     BOOTME
        Target:     BOOTME
        Target:     BOOTME
        Target:     BOOTME
        Target:     BOOTME
        Target:     BOOTME
        Target:     BOOTME
        Target:     BOOTME
        Target:     BOOTME
        Target:     BOOTME
        Target:     BOOTME
        Target:     BOOTME
        Target:     BOOTME
        Target:     BOOTME

    Aborting program...


    Interfacing to the DM36x via UART failed.
    Please reset or power-cycle the board and try again...
    alex@alex-desktop:~/.../serial_flash/dm365$

  • IIRC, there is some weirdness in that you have to run the program twice.  Check the readme or docs.  I believe it hangs on the first attempt, then you ctrl-c out and run it again. 

    John A

  • Hi John,

    I have already tried this way. It still doesn't work.

  • Hi,

    From where did you get the sfh_DM36x.exe you are using? Can you try with sfh_DM36x.exe from http://arago-project.org/files/releases/davinci-psp_03.01.01.38/board-utils/board-utils-davinci.tar.gz? I have tried this and it consistently works.

    Regards, Sudhakar

  • Sudhakar, thanks a lot!

    This version is the same as mine (1.50), but it works.

    Not from the first try, but finally, after several retries, it burned the NAND.

    Alex.