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.

AM69: UART bootloader

Part Number: AM69


I'm working on the UART bootloader using the SDK, but I'm facing some issues. Here's my operation process:

  1. Booting from SD Card: Booting from an SD card works fine. Next, I set the switches to UART bootloader mode as per section 2.2.1 in the  spruj70a.pdf (ti.com) document from TI. There are four switches: only sw2.1, sw2.2, and sw2.3 are used, sw2.4 is not used.

  2. Boot Information Output: When booting from the SD card, the boot information is output on COM2. The Host PC creates four COM ports: COM1 to COM4.

  3. Booting from UART: Now, I want to boot from UART refer to the link 3.1.1.9. UART — Processor SDK Linux for AM69 Documentation I change /dev/ttyUSB0 to /dev/ttyUSB2. There's another difference: I send the tispl.bin file instead of u-boot-spl.bin from the /board-support/prebuilt-images path.

Could you provide guidance on resolving these issues?

  • The problem:The serial port has no output

  • Hi,

    Do you see ping from ROM (Character 'c' printing on the console) after powering up the board in UART boot mode?

    Regards,
    Parth

  • The serial  port has no input at all

  • Hi Ming,

    First thing that you should I serve on the uart is the character C repeating on the console. Also you have to start with tiboot3.bin and not the u-boot-spl.bin.

    Best Regards,

    Keerthy 

  • I have understood and have made certain progress on top of this thanks.

  • Current Progress and Issues with UART Booting

    Setup Details:

    1. PC Serial Ports:

    • My PC serial port is ttyUSB1-4
    • According to Table 2-4 in spruj70a.pdf (ti.com)
      • ttyUSB2 corresponds to MCU_UART
      • ttyUSB3 corresponds to UART8 (used for A72 debug)

    2. Boot Flows

    However, section 3.1.1.9 in 3.1.1.9. UART — Processor SDK Linux for AM69 Documentation indicates using only two files( tiboot3.bin and u-boot.img)and the same serial port

    Observed Behavior:

    1. Sending tiboot3.bin via ttyUSB2, Transfer completes successfully

    $ stty -F /dev/ttyUSB2 speed 115200 cs8 -parenb -cstopb
    115200
    $ sx -kb tiboot3.bin < /dev/ttyUSB2 > /dev/ttyUSB2
    Sending tiboot3.bin, 4061 blocks: Give your local XMODEM receive command now.
    Bytes Sent: 519936   BPS:10509                           
    
    Transfer complete

    and ttyUSB3 prints

    U-Boot SPL 2023.04-gb0d868ee08 (Nov 02 2023 - 22:53:54 +0000)
    EEPROM not available at 0x50, trying to read at 0x51
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.2--v09.01.02 (Kool )
    SPL initial stack usage: 13424 bytes
    Trying to boot from UART
    CCCCCCCCC

    2. Sending u-boot.img via ttyUSB2

    sx -kb --ymodem u-boot.img < /dev/ttyUSB2 > /dev/ttyUSB2
    Retry 0: Timeout on pathname
    
    Transfer incomplete

    and ttyUSB3 output is as follows, failed

    U-Boot SPL 2023.04-gb0d868ee08 (Nov 02 2023 - 22:53:54 +0000)
    EEPROM not available at 0x50, trying to read at 0x51
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.2--v09.01.02 (Kool )
    SPL initial stack usage: 13424 bytes
    Trying to boot from UART
    CCCCCCCCCCspl: ymodem err - Timed out
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    Questions:

    • Should u-boot.img be sent to ttyUSB3?
    • Should tispl.bin be sent instead?

    Attempted Approaches:

    1. Sending u-boot.img via ttyUSB3

    I shut down ttyUSB3 in minicom and attempted to send the u-boot.img to ttyUSB3, but the transfer failed. When I reopened ttyUSB3 in minicom, there was no response.

    $ sx -kb --ymodem u-boot.img < /dev/ttyUSB3 > /dev/ttyUSB3
    Sending: u-boot.img
    Ymodem sectors/kbytes sent:   1/ 0kRetry 0: Got 61 for sector ACK
    Retry 0: NAK on sector
    Retry 0: Got 6f for sector ACK
    Retry 0: NAK on sector
    Retry 0: Got 4f for sector ACK
    Retry 0: NAK on sector
    Retry 0: Got 5f for sector ACK
    Retry 0: NAK on sector
    Bytes Sent:1326464   BPS:10017                           
    Sending: 
    Ymodem sectors/kbytes sent:   0/ 0k
    Transfer complete

    2. Sending  tispl.bin via ttyUSB2, transfer failure

    $ sx -kb tispl.bin < /dev/ttyUSB2 > /dev/ttyUSB2
    Sending tispl.bin, 8423 blocks: Give your local XMODEM receive command now.
    Xmodem sectors/kbytes sent:   0/ 0kRetry 0: Timeout on sector ACK
    Retry 0: Timeout on sector ACK
    Retry 0: Timeout on sector ACK

     

    I would greatly appreciate your assistance with this issue. Thank you very much for your help.

  • Hi,

    MCU_UART0 is COM2. So i assume that COM2 --> ttyUSB2 & that is working as expected.

    Now the next Images should be transferred on MAIN_UART8 aka ttyUSB3.

    The CCCCCCC... appearing on ttyUSB3 is a clue for you to start transferring tispl.bin.

    That should be first transferred and then you will again get CCCCCCCC on ttyUSB3 and that is when you need to transfer u-boot.img.

    - Keerthy

  • I have solved this problem, and your comments were very helpful. Thank you very much!