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.

AM6548: Question about booting from UART

Part Number: AM6548

We followed the guide in https://software-dl.ti.com/processor-sdk-linux/esd/AM65X/latest/exports/docs/linux/Foundational_Components/U-Boot/UG-UART.html

when we run command:

#sb --xmodem tiboot3.bin > /dev/ttyUSB1 < /dev/ttyUSB1
Sending tiboot3.bin, 1204 blocks: Give your local XMODEM receive command now.

it have no reaction after that, what's wrong with it?

By the way, we use IDK evm board to do this test, and boot code 3..0 set 1010.  if  MCU_UART0 is /dev/ttyUSB1, why we can't continue transferring other boot files?

Thanks

Kenn

  • Keerthy,

    I also tried the UART boot mode on PG2.0 EVM, SW3[4:1]=1010, send file from Tera Term in X-modem, there is no response on console connect to J42(USB).

    If set to UBOOT mode, should see something in console like that of AM335x "CCCC....."

    Then I connect console to J30. power up the board, output a serial number on console then CCC, then send file with XMODE, only transferred 128 bytes

    Seems SPL configured I2C IO expander to select MCU_UART1 output to J30 or USB J42. 

    anyway, how to verify UART boot mode on GPEVM?

  • Hi Tony,

    Can you use minicom to try UART boot on AM654x-EVM? I believe you do NOT have a custom board a but TI EVM..

    SW3: 0101000000 [1:10]

    Any Chance you can try with minicom? Also which SDK version? You should be connecting to MCU_UART you will see Ccc.

    Complete similar procedure for J721e can be followed for AM6 as well: e2e.ti.com/.../faq-tda4vm-detailed-step-for-uart-boot

    Best Regards,
    Keerthy

  • Keerthy,

    #1. Yes, I am verify it on EVM, UART connection as below: 

    #2. Yes, there is CCC output on console, but not only CCC.

    #3. use xmodem to transfer tiboot3.bin, no success.

  • Tony,

    Thanks for sharing picture of EVM. We typically connect Micro USB port. Your board seems to be having a different
    connection for UART. Is this a custom board?

    https://software-dl.ti.com/processor-sdk-linux/esd/AM65X/latest/exports/docs/linux/How_to_Guides/Hardware_Setup_with_CCS/TMDX654_EVM_Hardware_Setup.html#supported-jtag-debug-probes-emulators

    You can see the port in the picture in the above link.

    - Keerthy

  • That was J30 on IDK which is the mcu_uart port,  to my understanding , you can also use alternative Micro USB port as well, that's the same port.

    the key problem is why that serial port(mcu_uart) can't transfer files by Xmodem.

    Thanks

    Kenn

  • Keerthy,

    I know the USB port UART. because there is not anything output from the USB port, then I connect to the TTL signal port. I explained on the first reply already: "Seems SPL configured I2C IO expander to select MCU_UART1 output to J30 or USB J42. "

    Please take a try on EVM. Thanks.

    I summarize the UART circuit of EVM as below, the MCU_UART output to TTL port in default as the MCU_UART_SEL pin pulled down to select channel A.

  • Hi, Keerthy

    Do you have any updates about this UART boot function?

    Thanks

    Kenn

  • Hi Kenn,

    Please connect to the micro-USB port marked as UART.

    You will see 4 instances of USB enumerated on your host PC.
    In my ubuntu i see:

    /dev/ttyUSB0
    /dev/ttyUSB1
    /dev/ttyUSB2
    /dev/ttyUSB3

    Now you will not see the CCCCC... characters coming up on the /dev/ttyUSB0
    The above is MAIN_UART instance.

    You first need to connect to /dev/ttyUSB1 & you will be able to see the CCCC characters
    coming.

    Start from there transfer tiboot3.bin over xmodem

    Once that is done you can transfer sysfw.itb on the same UART instance using ymodem.

    Now you should see SPL traces on MAIN_UART instance aka /dev/ttyUSB0

    switch to that minicom window and transfer tispl.bin using ymodem & followed by u-boot.img using ymodem as well.

    Please click on verify answer if you succeed.

    I am able to boot to u-boot prompt using the above steps.

    Best Regards,
    Keerthy

  • Hi, Keerthy:

    Yes , we can see "cccc...." in /dev/ttyUSB1, but when we transfer tiboot3.bin,it didn't work:

    kenn@Precision-5530:~/tmp/uboot_6548$ sb --xmodem ./tiboot3_origin > /dev/ttyUSB1 < /dev/ttyUSB1
    Sending ./tiboot3_origin, 1204 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
    Retry 0: Timeout on sector ACK
    Retry 0: Timeout on sector ACK
    Retry 0: Timeout on sector ACK
    Retry 0: Timeout on sector ACK
    Retry 0: Timeout on sector ACK
    Retry 0: Timeout on sector ACK
    Retry 0: Timeout on sector ACK
    Retry 0: Timeout on sector ACK
    Retry 0: Retry Count Exceeded

    Transfer incomplete

    which tool did you use to transfer tiboot3.bin?

    Thanks

    Kenn

  • we also use minicom to transfer tiboot3.bin in xmodem,it also didn't work:

    how do you make it work?

    Thanks

  • Yes, finally we are also able to boot to u-boot using your steps after we changed a host PC.

    Thanks, Keerthy!

  • Aah! So it was a host PC problem :-). Glad you are unblocked.

    Cheers,
    Keerthy

  • It worked on IDK.

    Unfortunately,  it still didn't work on our custom board, our UART HW had a different connection with IDK( only TX/RX connection, no CTS/RTS signal connection), it appeared NACK error when we did the first tiboot3.bin XMODEM transferring. 

    If possible, please help us to figure out the function of booting from USB/DFU, thanks a lot!

    Thanks

    Kenn