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.

AM1808: Erasing and Flashing memory

Part Number: AM1808
Other Parts Discussed in Thread: OMAP-L138

Hello friends,

I have a custom board  with AM1808 and a FPGA. Serial port is connected to the AM1808 trough FPGA. I am trying to erase the flash memory using sfh_OMAP-L138.exe. Serial port is connected to UART0. After running 

sfh_OMAP-L138.exe -erase -v -targetType AM1808 -flashType NAND -p COM6, the tools is stuck in "Waiting for SFT on the OMAP-L138... " as you see below.

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

   TI Serial Flasher Host Program for OMAP-L138

   (C) 2011, Texas Instruments, Inc.

   Ver. 1.67

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

 

 

      [TYPE] Global erase

    [TARGET] AM1808

    [DEVICE] NAND

    [NAND Block] 1

 

Attempting to connect to device COM6...

Press any key to end this program at any time.

 

(AIS Parse): Read magic word 0x41504954.

(AIS Parse): Waiting for BOOTME... (power on or reset target now)

(AIS Parse): BOOTME received!

(AIS Parse): Performing Start-Word Sync...

(AIS Parse): Performing Ping Opcode Sync...

(AIS Parse): Processing command 0: 0x58535901.

(AIS Parse): Performing Opcode Sync...

(AIS Parse): Loading section...

(AIS Parse): Loaded 13492-Byte section to address 0x80000000.

(AIS Parse): Processing command 1: 0x58535901.

(AIS Parse): Performing Opcode Sync...

(AIS Parse): Loading section...

(AIS Parse): Loaded 1432-Byte section to address 0x800034B4.

(AIS Parse): Processing command 2: 0x58535906.

(AIS Parse): Performing Opcode Sync...

(AIS Parse): Performing jump and close...

(AIS Parse): AIS complete. Jump to address 0x80000000.

(AIS Parse): Waiting for DONE...

(AIS Parse): Boot completed successfully.

 

Waiting for SFT on the OMAP-L138...

I checked the source code, the SP is stuck in UART_open function in below line:

// Wait until the UART is not currently transmitting data
while((UART->LSR & 0x40) == 0x0);

Somehow bit 6 ( TEMT ) in LSR register is 1 all the time. and it means "Both the transmitter FIFO and the transmitter shift register (TSR) are empty". 

Now my question is, did you have any similar issue before?