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.

UART Failure "Waiting for SFT on the DM644x..." using sfh_DM644x.exe

We are troubleshooting an issue that is only present in a recent build of boards.  We are unable to write to flash.  In this particular build we moved to a different flash due to obsolescence issues and are considering whether or not this is the root cause of our issue.

From 1374.S29GL-P_00.pdf to 1016.S29GL_128S_01GS_00.pdf (Replace P/N: S29GL256P11FFIV20 with S29GL256S11FHIV20)

Command: sfh_DM644x.exe -erase -targetType DM6441 -flashType NOR
-----------------------------------------------------
TI Serial Flasher Host Program for DM644x
(C) 2010, Texas Instruments, Inc.
Ver. 1.67
-----------------------------------------------------


Platform is Windows.
Globally erasing the NOR flash device on the DM6441

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


Waiting for the DM644x...
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...
DONE received. Sending the UBL...
100% [ ████████████████████████████████████████████████████████████ ]
UBL sent.

DONE received. UBL was accepted.

Waiting for SFT on the DM644x...
Target:

The program hangs at "Waiting for SFT on the DM644x..." for several minutes before "Target:" appears.

Using DVFlasher_1_12.exe, we confirmed that there is an issue writing to the flash in general:

Command: DVFlasher_1_12.exe -enor -v

-----------------------------------------------------

   TI DVFlasher Host Program for DM644x

   (C) 2007, Texas Instruments, Inc.

-----------------------------------------------------

 

 

Platform is Windows.

Globally erasing NOR flash.

 

 

Attempting to connect to device COM1...

Press any key to end this program at any time.

 

 

Waiting for DVEVM...

        DVEVM:   BOOTME

BOOTME commmand received. Returning ACK and header...

ACK command sent. Waiting for BEGIN command...

        DVEVM:    BEGIN

BEGIN commmand received. Sending CRC table...

CRC table sent.  Waiting for DONE...

        DVEVM:     DONE

DONE received.  Sending the UART UBL file...

        DVEVM:     DONE

DONE received.  UART UBL file was accepted.

UART UBL Transmitted successfully.

 

        DVEVM:  * * * DDR TESTING * * *

        DVEVM:  Write to DDR[0] = A55AA55A

        DVEVM:  Read from DDR[0] = FFFFFFFF

        DVEVM:  Test DDR Timing Settings... FAILED

        DVEVM:  TI UBL Version: 1.12, Flash type: NOR

        DVEVM:  Booting PSP Boot Loader

        DVEVM:  PSPBootMode = UART

 

Waiting for UBL on DVEVM...

        DVEVM:  Starting UART Boot...

        DVEVM:  BOOTPSP

UBL's BOOTPSP commmand received. Returning CMD and command...

CMD value sent.

        DVEVM:  NOR Initialization:

        DVEVM:          Command Set: AMD

        DVEVM:          Manufacturer: AMD

        DVEVM:          Size (in bytes): 0x01000000

        DVEVM:  Erasing the NOR Flash

        DVEVM:  Erased through 0x02020000

        DVEVM:  Erased through 0x02040000

        DVEVM:  Erased through 0x02060000

        DVEVM:  Erased through 0x02080000

        DVEVM:  Erased through 0x020A0000

        DVEVM:  Erased through 0x020C0000

        DVEVM:  Erased through 0x020E0000

        DVEVM:  Erased through 0x02100000

        DVEVM:  Erased through 0x02120000

        DVEVM:  Erased through 0x02140000

        DVEVM:  Erased through 0x02160000

        DVEVM:  Erased through 0x02180000

        DVEVM:  Erased through 0x021A0000

        DVEVM:  Erased through 0x021C0000

        DVEVM:  Erased through 0x021E0000

        DVEVM:  Erased through 0x02200000

        DVEVM:  Erased through 0x02220000

        DVEVM:  Erased through 0x02240000

        DVEVM:  Erased through 0x02260000

        DVEVM:  Erased through 0x02280000

        DVEVM:  Erased through 0x022A0000

        DVEVM:  Erased through 0x022C0000

        DVEVM:  Erased through 0x022E0000

        DVEVM:  Erased through 0x02300000

        DVEVM:  Erased through 0x02320000

        DVEVM:  Erased through 0x02340000

        DVEVM:  Erased through 0x02360000

        DVEVM:  Erased through 0x02380000

        DVEVM:  Erased through 0x023A0000

        DVEVM:  Erased through 0x023C0000

        DVEVM:  Erased through 0x023E0000

        DVEVM:  Erased through 0x02400000

        DVEVM:  Erased through 0x02420000

        DVEVM:  Erased through 0x02440000

        DVEVM:  Erased through 0x02460000

        DVEVM:  Erased through 0x02480000

        DVEVM:  Erased through 0x024A0000

        DVEVM:  Erased through 0x024C0000

        DVEVM:  Erased through 0x024E0000

        DVEVM:  Erased through 0x02500000

        DVEVM:  Erased through 0x02520000

        DVEVM:  Erased through 0x02540000

        DVEVM:  Erased through 0x02560000

        DVEVM:  Erased through 0x02580000

        DVEVM:  Erased through 0x025A0000

        DVEVM:  Erased through 0x025C0000

        DVEVM:  Erased through 0x025E0000

        DVEVM:  Erased through 0x02600000

        DVEVM:  Erased through 0x02620000

        DVEVM:  Erased through 0x02640000

        DVEVM:  Erased through 0x02660000

        DVEVM:  Erased through 0x02680000

        DVEVM:  Erased through 0x026A0000

        DVEVM:  Erased through 0x026C0000

        DVEVM:  Erased through 0x026E0000

        DVEVM:  Erased through 0x02700000

        DVEVM:  Erased through 0x02720000

        DVEVM:  Erased through 0x02740000

        DVEVM:  Erased through 0x02760000

        DVEVM:  Erased through 0x02780000

        DVEVM:  Erased through 0x027A0000

        DVEVM:  Erased through 0x027C0000

        DVEVM:  Erased through 0x027E0000

        DVEVM:  Erased through 0x02800000

        DVEVM:  Erased through 0x02820000

        DVEVM:  Erased through 0x02840000

        DVEVM:  Erased through 0x02860000

        DVEVM:  Erased through 0x02880000

        DVEVM:  Erased through 0x028A0000

        DVEVM:  Erased through 0x028C0000

        DVEVM:  Erased through 0x028E0000

        DVEVM:  Erased through 0x02900000

        DVEVM:  Erased through 0x02920000

        DVEVM:  Erased through 0x02940000

        DVEVM:  Erased through 0x02960000

        DVEVM:  Erased through 0x02980000

        DVEVM:  Erased through 0x029A0000

        DVEVM:  Erased through 0x029C0000

        DVEVM:  Erased through 0x029E0000

        DVEVM:  Erased through 0x02A00000

        DVEVM:  Erased through 0x02A20000

        DVEVM:  Erased through 0x02A40000

        DVEVM:  Erased through 0x02A60000

        DVEVM:  Erased through 0x02A80000

        DVEVM:  Erased through 0x02AA0000

        DVEVM:  Erased through 0x02AC0000

        DVEVM:  Erased through 0x02AE0000

        DVEVM:  Erased through 0x02B00000

        DVEVM:  Erased through 0x02B20000

        DVEVM:  Erased through 0x02B40000

        DVEVM:  Erased through 0x02B60000

        DVEVM:  Erased through 0x02B80000

        DVEVM:  Erased through 0x02BA0000

        DVEVM:  Erased through 0x02BC0000

        DVEVM:  Erased through 0x02BE0000

        DVEVM:  Erased through 0x02C00000

        DVEVM:  Erased through 0x02C20000

        DVEVM:  Erased through 0x02C40000

        DVEVM:  Erased through 0x02C60000

        DVEVM:  Erased through 0x02C80000

        DVEVM:  Erased through 0x02CA0000

        DVEVM:  Erased through 0x02CC0000

        DVEVM:  Erased through 0x02CE0000

        DVEVM:  Erased through 0x02D00000

        DVEVM:  Erased through 0x02D20000

        DVEVM:  Erased through 0x02D40000

        DVEVM:  Erased through 0x02D60000

        DVEVM:  Erased through 0x02D80000

        DVEVM:  Erased through 0x02DA0000

        DVEVM:  Erased through 0x02DC0000

        DVEVM:  Erased through 0x02DE0000

        DVEVM:  Erased through 0x02E00000

        DVEVM:  Erased through 0x02E20000

        DVEVM:  Erased through 0x02E40000

        DVEVM:  Erased through 0x02E60000

        DVEVM:  Erased through 0x02E80000

        DVEVM:  Erased through 0x02EA0000

        DVEVM:  Erased through 0x02EC0000

        DVEVM:  Erased through 0x02EE0000

        DVEVM:  Erased through 0x02F00000

        DVEVM:  Erased through 0x02F20000

        DVEVM:  Erased through 0x02F40000

        DVEVM:  Erased through 0x02F60000

        DVEVM:  Erased through 0x02F80000

        DVEVM:  Erased through 0x02FA0000

        DVEVM:  Erased through 0x02FC0000

        DVEVM:  Erased through 0x02FE0000

        DVEVM:  Erased through 0x03000000

        DVEVM:  Erase Completed

        DVEVM:  Erase completed successfully.

        DVEVM:     DONE

 

Operation completed successfully.


Any thoughts on this issue would be greatly appreciated.  Our issue appears to be similar to the issue presented in this post:

  • After a lot of troubleshooting, we determined that this was a manufacturing error.  

    Our CM placed a wrong resistor value on the board, which attenuated the DDR clock.  This prevented us from programming the flash, which in turn prevented CLCKOUT signals from the DaVinci as well as oscillation of our 24MHz crystal.