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?