Other Parts Discussed in Thread: UNIFLASH
Tool/software:
I am attempting to program the TMDS243EVM board I have via USB using a Raspberry Pi running Ubuntu 24.04 LTS.
I have installed dfu-util installed and working.
The boot mode switches are set as follows.
A colleague has used usb_bootloader.py to successfully program the EMV with a simple hello world example on a Windows system, but it is hanging for me.
I am using the same image file and arguments as she used on her Windows system. I have not installed CCS on my Raspberry Pi, but I have copied the entire ~/ti/mcu_plus_sdk_am243x_09_01_00_41/tools/boot folder to the Pi and the hello word image.
It looks like programming starts by loading the sbl_prebuilt/am243x-evm/sbl_dfu.debug.hs_fs.tiimage file, but fails after that unable to enumerate the DFU. It will hang there indefinitely unless I power cycle the EVM.
In this example I run the script and when the script hangs "Waiting for DFU device to be enumerated ...." I power cycled the EVM and it continues and finishes the example programming session:
pi@rpi3-desktop-Ubuntu24:~/ccs12-sdk9.01.00.41-tools$ sudo python3 usb_bootloader.py -b sbl_prebuilt/am243x-evm/sbl_dfu.debug.hs_fs.tiimage -i 0 -f hello_world_am243x-evm_r5fss0-0_nortos_ti-arm-clang.appimage.hs_fs ---------------------------------------------------------------- Sending the SBL DFU bootloader sbl_prebuilt/am243x-evm/sbl_dfu.debug.hs_fs.tiimage ... ---------------------------------------------------------------------------- Executing DFU command with alt_setting=0 interface=0 transfer_size=512 ---------------------------------------------------------------------------- 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/ dfu-util: Warning: Invalid DFU suffix signature dfu-util: 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 Warning: Overriding device-reported transfer size Copying data from PC to DFU device Download [=========================] 100% 363845 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! ---------------------------------------------------------------- Sent bootloader sbl_prebuilt/am243x-evm/sbl_dfu.debug.hs_fs.tiimage of size 363845 bytes in 1.9s. ---------------------------------------------------------------- ---------------------------------------------------------------- Sending the application hello_world_am243x-evm_r5fss0-0_nortos_ti-arm-clang.appimage.hs_fs ... ------------------------------------------------------ Waiting for DFU device to be enumerated .... ------------------------------------------------------ ------------------------------------------------------ Waiting for DFU device to be enumerated .... ------------------------------------------------------ ------------------------------------------------------ Waiting for DFU device to be enumerated .... ------------------------------------------------------ ------------------------------------------------------ Waiting for DFU device to be enumerated .... ------------------------------------------------------ ------------------------------------------------------ Waiting for DFU device to be enumerated .... ------------------------------------------------------ ------------------------------------------------------ Waiting for DFU device to be enumerated .... ------------------------------------------------------ ---------------------------------------------------------------------------- Executing DFU command with alt_setting=0 interface=0 transfer_size=512 ---------------------------------------------------------------------------- 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/ dfu-util: Warning: Invalid DFU suffix signature dfu-util: 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 Warning: Overriding device-reported transfer size Copying data from PC to DFU device Download [=========================] 100% 40298 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! ---------------------------------------------------------------- Sent application hello_world_am243x-evm_r5fss0-0_nortos_ti-arm-clang.appimage.hs_fs of size 40298 bytes in 1.25s. ---------------------------------------------------------------- pi@rpi3-desktop-Ubuntu24:~/ccs12-sdk9.01.00.41-tools$
I am attempting to setup a automated programming tool that will work for our target board (AM243x via USB). Power cycling mid script is a problem. Automating the power cycling could be a problem.
I would like to get some clear instructions on the API for usb_bootloader.py and usb_dfu_uniflash.py if that will serve my purpose better, but I can't find any documentation for either of these tools.