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.

LP-AM243: failed to program bootloader to LP-AM243x+BP-CC3301

Part Number: LP-AM243x

Tool/software:

Hello,

I'm following the "Getting Started" guide in the "CC33XX RTOS MCU User's Guide" for setting up the AM243x and CC33XX. I've reached step 4 and am encountering an error:

D:\ti\cc33xx_mcu_package_R4\tools\programing>python uart_uniflash.py -p COM32 --cfg=only_wifi_fw.cfg

Parsing config file ...
Parsing config file ... SUCCESS. Found 6 command(s) !!!

Executing command 1 of 6 ...
Found flash writer ... sending ./sbl_uart_uniflash.release.tiimage
Sent flashwriter ./sbl_uart_uniflash.release.tiimage of size 294775 bytes in 27.1s.

Executing command 2 of 6 ...
Command arguments : --operation=flash-phy-tuning-data
Sending flash-phy-tuning-data_command:   0%|                                                 | 0/32 [00:00<?, ?bytes/s]send error: expected NAK, CRC, EOT or CAN; got b'0'
send error: expected NAK, CRC, EOT or CAN; got b'2'
send error: expected NAK, CRC, EOT or CAN; got b'0'
send error: expected NAK, CRC, EOT or CAN; got b'0'
send error: expected NAK, CRC, EOT or CAN; got b'0'
send error: expected NAK, CRC, EOT or CAN; got b'0'
send error: expected NAK, CRC, EOT or CAN; got b'0'
send error: expected NAK, CRC, EOT or CAN; got b'0'
send error: expected NAK, CRC, EOT or CAN; got b'0'
send error: expected NAK, CRC, EOT or CAN; got b'1'
send error: expected NAK, CRC, EOT or CAN; got b'1'
send error: error_count reached 10, aborting.
Sending flash-phy-tuning-data_command:   6%|██▌                                      | 2/32 [00:01<00:59,  2.00s/bytes]
[ERROR] XMODEM send failed, no response OR incorrect response from EVM OR cancelled by user,
Power cycle EVM and run this script again !!!

-Completed the "Getting Started" guide for the AM243x MCU+ SDK.
-Successfully flashed default_sbl_null.cfg using UniFlash.

-I've verified that the SW4 switch is in the correct position.
-I can see 'C' characters being printed on the UART serial console before attempting the flashing procedure.

-I've Power cycle EVM and run this script mutliple times but the error persist.

-I've tried command prompt with and without admin rights.

-I've tried disconnect BP-33X1 before program

Environment:

-mcu_plus_sdk_am243x_08_05_00_24, mcu_plus_sdk_am243x_09_02_00_50

-cc33xx_mcu_package_R4

-CCS 12.7.1

-SysConfig 1.18.1, 1.12.0, 1.21.0

-TI_Clang 2.1.0 LTS, 1.3.0 LTS

-Windows 10

-ASSY: PROC109A(001)

Any help in troubleshooting this XMODEM send failure would be greatly appreciated!

  • Hi Leo,

    Could you send a screenshot of your only_wifi_fw.cfg file. I would also check that your microusb cable has a proper connection to the AM243 device. Also make sure you dont have anything else open (such as putty) on that COM port. Last thing to check would be that the switches are set to the correct boot mode. you want this configuration

    Best,

    Rogelio

  • Hi Rogelio,

    1. Here is the screenshot of only_wifi_fw.cfg. No modification has been made on only_wifi_fw.cfg.

    2. I have a proper connection to the AM243x-LP because I can successfully program the cfg file from the AM243x MCU+ SDK 09.02.00 getting started guide. However, I'm unable to program the only_wifi_fw.cfg. 

    3. I'm certain that no other application has any serial ports open.

    4. I've followed the connection instructions from the tutorial. I've included a picture of the switch position for reference.

    Here are a couple more attempts I've made:

    1. I tried replacing the uart_uniflash.py script from mcu_plus_sdk_am243x_09_02_00_50\tools\boot with the one from cc33xx_mcu_package_R4\tools\programing, but the problem remains.

    2. I tried commenting out the --operation=flash-phy-tuning-data option in the command, but the process still gets stuck at command 2.

    D:\ti\cc33xx_mcu_package_R4\tools\programing>python uart_uniflash.py -p COM32 --cfg=only_wifi_fw.cfg
    
    Parsing config file ...
    Parsing config file ... SUCCESS. Found 5 command(s) !!!
    
    Executing command 1 of 5 ...
    Found flash writer ... sending ./sbl_uart_uniflash.release.tiimage
    Sent flashwriter ./sbl_uart_uniflash.release.tiimage of size 294775 bytes in 27.41s.
    
    Executing command 2 of 5 ...
    Command arguments : --file=./sbl_ospi.release.tiimage --operation=flash --flash-offset=0x0
    Sending ./sbl_ospi.release.tiimage:   0%|                                                | 0/299700 [00:00<?, ?bytes/s]send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'2'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'1'
    send error: expected NAK, CRC, EOT or CAN; got b'1'
    send error: error_count reached 10, aborting.
    Sending ./sbl_ospi.release.tiimage:   0%|                                    | 2/299700 [00:02<166:52:16,  2.00s/bytes]
    [ERROR] XMODEM send failed, no response OR incorrect response from EVM OR cancelled by user,
    Power cycle EVM and run this script again !!!

    I tried re-running the commands from the AM243x MCU+ SDK 09.02.00 getting started guide, and they work! I'm unable to figure out why the commands from that guide work, but the ones for the only_wifi_fw.cfg file don't (https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/09_02_00_50/exports/docs/api_guide_am243x/GETTING_STARTED_FLASH.html)

      python uart_uniflash.py -p COM148 --cfg=sbl_prebuilt/am243x-lp/default_sbl_ospi.cfg

    I'm starting to run out of ideas. Any further suggestions would be greatly appreciated!

  • Hi Leo,

    Hmm everything seems correct on your end. I just tested this on my side and actually ran into the same error on my third sanity check. However, after resetting the device and rerunning the script it went through successfully.

     MINGW64 /c/ti/cc33xx_mcu_package_R4/tools/secured_programing
    $ python uart_uniflash.py -p COM123 --cfg=only_wifi_fw.cfg
    
    Parsing config file ...
    Parsing config file ... SUCCESS. Found 6 command(s) !!!
    
    Executing command 1 of 6 ...
    Found flash writer ... sending ./sbl_uart_uniflash.release.hs_fs.tiimage
    Sent flashwriter ./sbl_uart_uniflash.release.hs_fs.tiimage of size 296589 bytes in 29.03s.
    
    Executing command 2 of 6 ...
    Command arguments : --operation=flash-phy-tuning-data
    Sending flash-phy-tuning-data_command:   0%|          | 0/32 [00:00<?, ?bytes/s]
    [ERROR] XMODEM send failed, no response OR incorrect response from EVM OR cancelled by user,
    Power cycle EVM and run this script again !!!
    
     MINGW64 /c/ti/cc33xx_mcu_package_R4/tools/secured_programing
    $ python uart_uniflash.py -p COM123 --cfg=only_wifi_fw.cfg
    
    Parsing config file ...
    Parsing config file ... SUCCESS. Found 6 command(s) !!!
    
    Executing command 1 of 6 ...
    Found flash writer ... sending ./sbl_uart_uniflash.release.hs_fs.tiimage
    Sent flashwriter ./sbl_uart_uniflash.release.hs_fs.tiimage of size 296589 bytes in 28.65s.
    
    Executing command 2 of 6 ...
    Command arguments : --operation=flash-phy-tuning-data
    Sent flash phy tuning data in 1.61s.
    [STATUS] SUCCESS !!!
    
    Executing command 3 of 6 ...
    Command arguments : --file=./sbl_ospi.release.hs_fs.tiimage --operation=flash --flash-offset=0x0
    Sent ./sbl_ospi.release.hs_fs.tiimage of size 301482 bytes in 29.73s.
    [STATUS] SUCCESS !!!
    
    Executing command 4 of 6 ...
    Command arguments : --file=../wifi_fw/cc33xx_fw.bin --operation=flash --flash-offset=0x800000
    Sent ../wifi_fw/cc33xx_fw.bin of size 521568 bytes in 49.23s.
    [STATUS] SUCCESS !!!
    
    Executing command 5 of 6 ...
    Command arguments : --file=../wifi_fw/cc33xx_2nd_loader.bin --operation=flash --flash-offset=0x900000
    Sent ../wifi_fw/cc33xx_2nd_loader.bin of size 70212 bytes in 9.24s.
    [STATUS] SUCCESS !!!
    
    Executing command 6 of 6 ...
    Command arguments : --file=../wifi_fw/cc33xx-conf.bin --operation=flash --flash-offset=0xb00000
    Sent ../wifi_fw/cc33xx-conf.bin of size 1129 bytes in 3.17s.
    [STATUS] SUCCESS !!!
    
    All commands from config file are executed !!!
    

    My device is a secured device however, can you confirm that you are using the older generation of the am243 that does not require the secured programming. If not you might have to use that folder instead of just  programming.

    Best,

    Rogelio

  • I attempted to reset the device when I encountered the error, but the script still got stuck at step 2

    D:\ti\cc33xx_mcu_package_R4\tools\programing>python uart_uniflash.py -p COM32 --cfg=only_wifi_fw.cfg
    
    Parsing config file ...
    Parsing config file ... SUCCESS. Found 6 command(s) !!!
    
    Executing command 1 of 6 ...
    Found flash writer ... sending ./sbl_uart_uniflash.release.tiimage
    Sent flashwriter ./sbl_uart_uniflash.release.tiimage of size 294775 bytes in 28.1s.
    
    Executing command 2 of 6 ...
    Command arguments : --operation=flash-phy-tuning-data
    Sending flash-phy-tuning-data_command:   0%|                                                 | 0/32 [00:00<?, ?bytes/s]send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'2'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'1'
    send error: expected NAK, CRC, EOT or CAN; got b'1'
    send error: error_count reached 10, aborting.
    Sending flash-phy-tuning-data_command:   6%|██▌                                      | 2/32 [00:02<01:00,  2.01s/bytes]
    [ERROR] XMODEM send failed, no response OR incorrect response from EVM OR cancelled by user,
    Power cycle EVM and run this script again !!!
    
    D:\ti\cc33xx_mcu_package_R4\tools\programing>python uart_uniflash.py -p COM32 --cfg=only_wifi_fw.cfg
    
    Parsing config file ...
    Parsing config file ... SUCCESS. Found 6 command(s) !!!
    
    Executing command 1 of 6 ...
    Found flash writer ... sending ./sbl_uart_uniflash.release.tiimage
    Sent flashwriter ./sbl_uart_uniflash.release.tiimage of size 294775 bytes in 27.42s.
    
    Executing command 2 of 6 ...
    Command arguments : --operation=flash-phy-tuning-data
    Sending flash-phy-tuning-data_command:   0%|                                                 | 0/32 [00:00<?, ?bytes/s]send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'2'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'1'
    send error: expected NAK, CRC, EOT or CAN; got b'1'
    send error: error_count reached 10, aborting.
    Sending flash-phy-tuning-data_command:   6%|██▌                                      | 2/32 [00:02<01:00,  2.00s/bytes]
    [ERROR] XMODEM send failed, no response OR incorrect response from EVM OR cancelled by user,
    Power cycle EVM and run this script again !!!
    
    D:\ti\cc33xx_mcu_package_R4\tools\programing>python uart_uniflash.py -p COM32 --cfg=only_wifi_fw.cfg
    
    Parsing config file ...
    Parsing config file ... SUCCESS. Found 6 command(s) !!!
    
    Executing command 1 of 6 ...
    Found flash writer ... sending ./sbl_uart_uniflash.release.tiimage
    Sent flashwriter ./sbl_uart_uniflash.release.tiimage of size 294775 bytes in 27.54s.
    
    Executing command 2 of 6 ...
    Command arguments : --operation=flash-phy-tuning-data
    Sending flash-phy-tuning-data_command:   0%|                                                 | 0/32 [00:00<?, ?bytes/s]send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'2'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'1'
    send error: expected NAK, CRC, EOT or CAN; got b'1'
    send error: error_count reached 10, aborting.
    Sending flash-phy-tuning-data_command:   6%|██▌                                      | 2/32 [00:02<01:00,  2.01s/bytes]
    [ERROR] XMODEM send failed, no response OR incorrect response from EVM OR cancelled by user,
    Power cycle EVM and run this script again !!!
    
    D:\ti\cc33xx_mcu_package_R4\tools\programing>

    I attempted to run the script under secured_programing but I got stuck at step 1.

    D:\ti\cc33xx_mcu_package_R4\tools\secured_programing>python uart_uniflash.py -p COM32 --cfg=only_wifi_fw.cfg
    
    Parsing config file ...
    Parsing config file ... SUCCESS. Found 6 command(s) !!!
    
    Executing command 1 of 6 ...
    Found flash writer ... sending ./sbl_uart_uniflash.release.hs_fs.tiimage
    Sending ./sbl_uart_uniflash.release.hs_fs.tiimage:   0%|                                 | 0/296589 [00:00<?, ?bytes/s]send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'2'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'0'
    send error: expected NAK, CRC, EOT or CAN; got b'1'
    send error: expected NAK, CRC, EOT or CAN; got b'1'
    send error: error_count reached 10, aborting.
    Sending ./sbl_uart_uniflash.release.hs_fs.tiimage:   0%|                     | 2/296589 [00:03<257:58:16,  3.13s/bytes]
    [ERROR] XMODEM send failed, no response OR incorrect response from EVM OR cancelled by user,
    Power cycle EVM and run this script again !!!
    
    

    My board is labeled PROC109A(001) which is brought from TI online shop on 16-Jun-2024. According to the guide, "If you're using a secure MCU (LP-AM243 PROC1093B or newer), open the <cc33xx_mcu_package>/tools/secured_programming folder." So, PROC1093B is much newer than PROC109A, correct?

  • Hello, any updates on the issue?

  • Hi Leo, 

    Can you try using securedprogramming script and see what results you get. Also try running the program_application_and _wifi_fw.cfg, it would be interesting to see a change in behavior. Unfortunately I cannot replicate this issue on my side and youre the first person ever to run into it, but from what you have stated you seem to be doing all the steps correctly. I could record a video of the process if you think that could help you make sure all the steps are being taken.

    Best,

    Rogelio

  • The problem has been resolved after reinstalling all components from scratch, although I am unsure of the exact change that led to the fix. I appreciate your support.

  • Hi Leo,

    Im glad you were able to get it up and running. Definitely a strange issue, ill keep it in mind if multiple cases keep occurring.

    Best,

    Rogelio