AM625: AM62X EVM LP: Can't boot through DFU

Part Number: AM625

Tool/software:

Hello TI Support,

I have a AM62X LP Evaluation kit and I am trying to boot the board through DFU by following this guide: 3.1.1.2. USB Device Firmware Upgrade (DFU) — Processor SDK AM62x Documentation

I am using the binaries available in this path: ti-processor-linux-sdk/bin/DFU_flash/bin/am62xx-lp-evm/hs

The first command seems to be working fine... After that I cannot continue the process in the guide. Please have a look at the logs bellow.


PS > dfu-util -R -a 0 -D .\tiboot3.bin
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0451:6165
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0110
Device returned transfer size 512
Copying data from PC to DFU device
Download        [=========================] 100%       308298 bytes
Download done.
state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present
state(2) = dfuIDLE, status(0) = No error condition is present
Done!
Resetting USB to switch back to runtime mode
PS C:\Users\CAJ7BRG\VM_SHARED\boot_binaries> dfu-util -l
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Found DFU: [0451:6165] ver=0200, devnum=55, cfg=1, intf=0, path="1-13", alt=1, name="UNKNOWN", serial="UNKNOWN"
Found DFU: [0451:6165] ver=0200, devnum=55, cfg=1, intf=0, path="1-13", alt=0, name="UNKNOWN", serial="UNKNOWN"
PS > dfu-util -R -a 0 -D .\tispl.bin
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0451:6165
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: error get_status
PS C:\Users\CAJ7BRG\VM_SHARED\boot_binaries>

dfu-boot-logs.txt
PS > dfu-util -R -a 0 -D .\tiboot3.bin
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0451:6165
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0110
Device returned transfer size 512
Copying data from PC to DFU device
Download        [=========================] 100%       308298 bytes
Download done.
state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present
state(2) = dfuIDLE, status(0) = No error condition is present
Done!
Resetting USB to switch back to runtime mode
PS C:\Users\CAJ7BRG\VM_SHARED\boot_binaries> dfu-util -l
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Found DFU: [0451:6165] ver=0200, devnum=55, cfg=1, intf=0, path="1-13", alt=1, name="UNKNOWN", serial="UNKNOWN"
Found DFU: [0451:6165] ver=0200, devnum=55, cfg=1, intf=0, path="1-13", alt=0, name="UNKNOWN", serial="UNKNOWN"
PS > dfu-util -R -a 0 -D .\tispl.bin
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0451:6165
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: error get_status
PS C:\Users\CAJ7BRG\VM_SHARED\boot_binaries>

  • Hello,

    If you are trying on a Linux environment, please follow the guide: https://dev.ti.com/tirex/explore/node?node=A__AeVbwnGEP1NObR9gnw1lhA__AM62-ACADEMY__uiYMDcq__LATEST

    Regards,
    Aparna

  • Hello! So I am guessing that the binaries available in the SDK are not for DFU boot and I need to build new ones

  • Yes, that's right. You will need to re-build the U-boot binaries using am62x_evm_r5_usbdfu_defconfig.

    Please modify UBOOT_MACHINE_R5 in the toplevel Rules.make file and re-build. Use new binaries to flash using DFU.

    Regards,
    Aparna

  • I did these steps but it is still not flashing. I get the same behavior as before.

    I tried flashing the binaries in ti-sdk/board-support/u-boot-build

    Do I need to build also the bl31.bin and bl32.bin? Or can I use the pre built ones?


  • I tried flashing the binaries in ti-sdk/board-support/u-boot-build

    This is correct. If you have re-built the U-boot binaries using the top-level makefile using command make u-boot

    Connect the AM62x SK EVM type-C USB port J13 to the Linux PC USB host port.

    Please make sure the board is set to USB Peripheral boot mode:

    You don't need to build anything else.

    Regards,
    Aparna

  • Is this the same for the Low Power EVM?

  • Yes. Please let me know if the error still persists.

  • I have the switches as you show in that picture. I have all the connections shown in the picture and also the other USB-C cable. I still cannot flash


    If I connect both USB-C cables the DFU device appears but I still cannot flash

    I also change this in Rules.make:

    #add platform for scripts
    PLATFORM?=am62xx-lp-evm

  • Hello Aparna Patra! Any other steps you recommend me trying? I will provide more information about my EVM.

    Full model name on the board: AM62X Low Power SKEVM PROC124E1

    I also checked the AM62x-Low Power SK EVM User's Guide and found that this revision has bugs... Can these bugs and changes be what is holding me back from flashing this EVM?


  • Hello,

    Could you try connecting just the J13 type C port and remove the Power supply.

    Please share the commands used and error logs in this setting. Also the snapshot of your hardware.

    Regards,
    Aparna

  • Hello,

    If I just connect the J13 the DFU device does not appear when running dfu-util -l

    On my EVM J13 refers to TYPE C Power and J15 is TYPE C DRP.

    If I connect J13 to PC the device does not appear after running dfu-util -l
    If I connect only J15 to the PC the device appears and these are the logs:

    PS C:\Users\CAJ7BRG\VM_SHARED\boot_binaries> dfu-util -l
    dfu-util 0.11
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2021 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to sourceforge.net/.../
    
    Found DFU: [0451:6165] ver=0200, devnum=28, cfg=1, intf=0, path="1-13", alt=1, name="SocId", serial="01.00.00.00"
    Found DFU: [0451:6165] ver=0200, devnum=28, cfg=1, intf=0, path="1-13", alt=0, name="bootloader", serial="01.00.00.00"
    PS C:\Users\CAJ7BRG\VM_SHARED\boot_binaries> dfu-util -R -a 0 -D .\tiboot3.bin
    dfu-util 0.11
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2021 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to sourceforge.net/.../
    
    Warning: Invalid DFU suffix signature
    A valid DFU suffix will be required in a future dfu-util release
    Opening DFU capable USB device...
    Device ID 0451:6165
    Device DFU version 0110
    Claiming USB DFU Interface...
    Setting Alternate Interface #0 ...
    Determining device status...
    DFU state(2) = dfuIDLE, status(0) = No error condition is present
    DFU mode device DFU version 0110
    Device returned transfer size 512
    Copying data from PC to DFU device
    Download [=========================] 100% 308298 bytes
    Download done.
    DFU state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present
    DFU state(2) = dfuIDLE, status(0) = No error condition is present
    Done!
    Resetting USB to switch back to Run-Time mode
    PS C:\Users\CAJ7BRG\VM_SHARED\boot_binaries> dfu-util -l
    dfu-util 0.11
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2021 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to sourceforge.net/.../
    
    Failed to retrieve language identifiers
    Failed to retrieve language identifiers
    Failed to retrieve language identifiers
    Failed to retrieve language identifiers
    Found DFU: [0451:6165] ver=0200, devnum=33, cfg=1, intf=0, path="1-13", alt=1, name="UNKNOWN", serial="UNKNOWN"
    Found DFU: [0451:6165] ver=0200, devnum=33, cfg=1, intf=0, path="1-13", alt=0, name="UNKNOWN", serial="UNKNOWN"
    PS C:\Users\CAJ7BRG\VM_SHARED\boot_binaries> dfu-util -R -a 0 -D .\tispl.bin
    dfu-util 0.11
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2021 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to sourceforge.net/.../
    
    Warning: Invalid DFU suffix signature
    A valid DFU suffix will be required in a future dfu-util release
    Failed to retrieve language identifiers
    Failed to retrieve language identifiers
    Opening DFU capable USB device...
    Device ID 0451:6165
    Device DFU version 0110
    Claiming USB DFU Interface...
    Setting Alternate Interface #0 ...
    Determining device status...
    error get_status: LIBUSB_ERROR_PIPE
    /resized-image/__size/320x240/__key/communityserver-discussions-components-files/791/1719418420387.jpg

  • Hello,

    J15 is TYPE C DRP.

    Okay, then only J15 needs to be connected.

    If you are trying on a Linux environment, please follow the guide: https://dev.ti.com/tirex/explore/node?node=A__AeVbwnGEP1NObR9gnw1lhA__AM62-ACADEMY__uiYMDcq__LATEST

    Are you following the guide I had referred to earlier? The commands look different from whats mentioned in the link.

    Regards,
    Aparna

  • Yes I am following the guide you sent me earlier. The commands are the same to me...

    using dfu-util -R -a 0 -D tiboot3.bin is the same as using dfu-util -R -a bootloader -D tiboot3.bin

    Can you provide me what are the expected logs so we could see if something is different?

  • Hello,

    Are you using a HS-FS board or a GP one?

    You can use the command as shown below, to find out:

    ❯ dfu-util -a SocId -U socid.bin
    dfu-util 0.11
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2021 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
    
    Opening DFU capable USB device...
    Device ID 0451:6165
    Device DFU version 0110
    Claiming USB DFU Interface...
    Setting Alternate Interface #1 ...
    Determining device status...
    DFU state(2) = dfuIDLE, status(0) = No error condition is present
    DFU mode device DFU version 0110
    Device returned transfer size 512
    Copying data from DFU device to PC
    Upload  [=========================] 100%          200 bytes
    Upload done.
    Received a total of 200 bytes
    ❯ xxd socid.bin
    00000000: 0200 0000 011a 0000 616d 3632 7800 0000  ........am62x...
    00000010: 0000 0000 4853 4653 0100 0100 0100 0100  ....HSFS........ 

    Regards,
    Aparna

  • Hello!

    I have checked and it is GP device (check image bellow)

  • Thanks for confirming. You will have to flash the GP binary, i.e. tiboot3-am62x-gp-evm.bin

    But the support for GP devices has been removed after 8.6 SDK.

    You can test using the earlier SDKs, but TI support will be limited if GP devices are used.

    Regards,
    Aparna

  • So I have some progression. I flashed the following binaries:

    • tiboot3-am62x-gp-evm.bin
    • tispl.bin_unsigned
    • u-boot.img_unsigned

    And the target boots (here are the logs):

    U-Boot SPL 2023.04 (Jun 21 2024 - 08:15:56 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.8--v09.02.08 (Kool Koala)')
    SPL initial stack usage: 13408 bytes
    Trying to boot from DFU
    #########################################################DOWNLOAD ... OK
    Ctrl+C to exit ...
    Loading Environment from nowhere... OK
    init_env from device 10 not supported!
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
    NOTICE:  BL31: Built : 16:09:05, Feb  9 2024
    
    U-Boot SPL 2023.04 (Jun 21 2024 - 08:16:37 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.8--v09.02.08 (Kool Koala)')
    SPL initial stack usage: 1856 bytes
    MMC: no card present
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:1
    Error: could not access storage.
    Trying to boot from DFU
    #####DOWNLOAD ... OK
    Ctrl+C to exit ...
    
    
    U-Boot 2023.04 (Jun 21 2024 - 08:16:37 +0000)
    
    SoC:   AM62X SR1.0 GP
    Model: Texas Instruments AM62x LP SK
    EEPROM not available at 80, trying to read at 81
    Board: AM62-LP-SKEVM rev E1
    DRAM:  no bloblist found!2 GiB
    Core:  81 devices, 33 uclasses, devicetree: separate
    NAND:  0 MiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0
    =>

    By looking at the logs, does it look like a normal boot? Without any problems?

  • Hello,

    Yes, this looks correct.

    Regards,
    Aparna

  • Hello! Thank you for the support on booting u-boot through DFU.

    Now I am trying to boot a Linux kernel in my EVM through u-boot and dfu. Is there a guide on how to do this?

    Thank you!

  • Hello,

    What is the boot media being used here?

    You can follow the FAQ instructions to boot Linux from eMMC:
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1127618/faq-sk-am62-how-to-flash-emmc-using-usb-dfu-on-am62x-sk-e2

    Regards,
    Aparna