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.

OMAP-L138 Serial Loader Timeout

Other Parts Discussed in Thread: OMAP-L138, AM1705

I tried to upload an U-Boot image to an OMAP-L138 (Logic PD EVM) through UART2. I first started with the example OMAPL138-ARM-LED-uart.bin (from http://processors.wiki.ti.com/index.php/Boot_Images_for_OMAP-L138).

I tried slh_OMAP-L138.exe and UartHost.exe as upload tools. My problem is that the chance that I see blinking LEDs is about 1:20 (but because It is sometimes working I assume that my Boot Pins etc... are correctly set).

If everything works as expected (which is not that often as written above) the output looks like:

Waiting for the OMAP-L138...
(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: 0x5853590D.
(AIS Parse): Performing Opcode Sync...
(AIS Parse): Executing function...
(AIS Parse): Processing command 1: 0x5853590D.
(AIS Parse): Performing Opcode Sync...
(AIS Parse): Executing function...
(AIS Parse): Processing command 2: 0x58535901.
(AIS Parse): Performing Opcode Sync...
(AIS Parse): Loading section...
(AIS Parse): Loaded 1464-Byte section to address 0x80000800.
(AIS Parse): Processing command 3: 0x58535901.
(AIS Parse): Performing Opcode Sync...
(AIS Parse): Loading section...
(AIS Parse): Loaded 100-Byte section to address 0x80000DB8.
(AIS Parse): Processing command 4: 0x58535906.
(AIS Parse): Performing Opcode Sync...
(AIS Parse): Performing jump and close...
(AIS Parse): AIS complete. Jump to address 0x80000D10.
(AIS Parse): Waiting for DONE...
(AIS Parse): Boot completed successfully.

Operation completed successfully.


But normally that output looks like:

Waiting for the OMAP-L138...
(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: 0x5853590D.
(AIS Parse): Performing Opcode Sync...
(AIS Parse): Executing function...
(AIS Parse): Processing command 1: 0x5853590D.
(AIS Parse): Performing Opcode Sync...
(AIS Parse): Executing function...
(AIS Parse): Processing command 2: 0x58535901.
(AIS Parse): Performing Opcode Sync...
(AIS Parse): Loading section...
(AIS Parse): Loaded 1464-Byte section to address 0x80000800.
(AIS Parse): Processing command 3: 0x58535901.
(AIS Parse): Performing Opcode Sync...
(Serial Port): Read error! (Timeout für den Vorgang wurde überschritten.)
(AIS Parse): I/O Error in read!
(Serial Port): Read error! (Timeout für den Vorgang wurde überschritten.)
(AIS Parse): I/O Error in read!

...

When I analyze the serial communication I looks the device should send the following acknowledge.

HEX = 01 59 53 52
ASCII = .YSR


But when the download does not work as expected there is no such response from the OMAP-L138.

I've tried different computers, shorter serial cables, and another LogicPD EVM Board. Tried to change the baudrate slightly (~115300). Nothing helps.

The boot rom has the following revision:

U-Boot > md.l 0xfffd0000
fffd0000: ea000006 e1a00000 30303864 3430306b    ........d800k004
fffd0010: 20090715 00085420 fffd0000 01010101    ...  T..........
fffd0020: e10f0000 e3c0001f e3800013 e38000c0    ................
fffd0030: e129f000 e59f000c e240d008 e3cdd007    ..).......@.....
fffd0040: e59f0004 e1a0f000 ffff0700 fffd3980    .............9..

More or less as expected uploading an U-Boot image never worked.

Any idea?

  • Can you use the debug gel file to print out any ROM error messages:

    http://processors.wiki.ti.com/index.php/OMAP-L1x_Debug_Gel_Files

    This will, of course, require CCS and an emulator.

    Jeff

  • Based on the Bootloader documents I started to write my own Serial Loader, just to understand the protocol somewhat better. While it's a hack (AIS isn't strictly parsed) I was able to upload U-Boot (and the LED example) without one single problem multiple times.

    Then I looked closer at how the TI tools uploads the data. It seems that the OMAP-L138 does not responds with the expected sequence, because the Serial Loader from TI sends new commands too fast. This shouldn't be a problem but the Serial Loader seems not wait until the correct ack is received. Probably the TI Serial Loader would work as well on a computer that is way more slower, compared to the ones I've done the tests (If anyone cares I'll write a more detailed response).

    I've anyone else has this problems I can upload my hack somewhere.

  • Thanks for that information. We found the same thing and  corrected the GUI version of the tool. The serial loader will be updated too to fix it.

    Jeff

  • Hi,

    I'm using the custom board for AM1705. I'm facing issue while trying to load the u-boot (0x58535901) to SD-RAM in UART BOOT mode. I'm receiving the I/0 Error as shown below.

    Can you please share your version of Serial Loader to debug the issue.Regards,

    Arul

     

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

    (AIS Parse): Performing Opcode Sync...

    (AIS Parse): Loading section...

    (AIS Parse): Loaded 123900-Byte section to address 0xC1080000.

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

    (AIS Parse): Performing Opcode Sync...

    (Serial Port): Read error! (The operation has timed out.)

    (AIS Parse): I/O Error in read!

    (Serial Port): Read error! (The operation has timed out.)

    (AIS Parse): I/O Error in read!

    (Serial Port): Read error! (The operation has timed out.)

    (AIS Parse): I/O Error in read!

    (System): Boot aborted by user.

    (Serial Port): Closing COM3.