AM263P4-Q1: AM263P4- Flash or Booting through UART

Part Number: AM263P4-Q1
Other Parts Discussed in Thread: UNIFLASH, TMDSCNCD263P, SYSCONFIG

Hi team,
  

We are trying to boot/flash the AM263Px device through a Waveshare USB-to-TTL Converter using the UART boot mode.

We are able to receive the 'C' character from the MCU, which indicates that the ROM bootloader has entered UART boot mode and is waiting for an XMODEM transfer. However, while attempting to transfer the image, the file parsing/loading fails, and the flashing process does not complete.

Could you please guide us on the correct procedure for booting/flashing the AM263Px through UART?

Specifically, we would appreciate your guidance on:

  • The recommended tool and procedure for UART flashing.
  • The required image format (e.g., .tiimage, .appimage, or any other format).
  • Whether any additional steps or settings are required for XMODEM transfer.
  • Whether a flash writer (such as sbl_uart_uniflash) needs to be loaded before programming the application image.

Your guidance would be greatly appreciated.





Thanks & Regards
Jayakeerthana P

  • Hi,

    The recommended tool and procedure for UART flashing.

    You can first try with Teraterm (if windows) or minicom (in Linux) and see if you are able to load via XMODEM at 115200 baud rate.

    The required image format (e.g., .tiimage, .appimage, or any other format).

    As you are loading the first image which ROM loads, it should be .tiimage

    Whether any additional steps or settings are required for XMODEM transfer.

    No additional steps, UART Boot mode -> 115200 baud rate -> XMODEM and load to RAM

    Whether a flash writer (such as sbl_uart_uniflash) needs to be loaded before programming the application image.

    This is only needed if you want to load the application to the flash. If you want to load it to RAM, then usual XMODEM is sufficient.

    Are you using HS-FS or HS-SE MCU? If HS-SE, then the certificate should be valid for it to load successfully. If HS-FS, it just has to be in .tiiimage format.

    Thanks and Regards,

    Nikhil Dasan

  • Hi,
    Thank you for your response.
    We are using the below this part number AM263P4AFONFZCZRQ1.Could you confirm whether this support?

  • Hi,

    Yes, the above part number follows the same process. To get started, you can try building and loading the sbl_null binary in the mcu_plus_sdk folder ${MCU_PLUS_SDK}\examples\drivers\boot\sbl_null

    Regards,

    Nikhil

  • Hi, 

    We are following the procedure described below to flash the application image to the NOR flash: https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/latest/exports/docs/api_guide_am263px/GETTING_STARTED_FLASH.html

    However, when using the uart_uniflash.py script, the file parsing/loading operation fails, and the flashing process does not complete. The execution gets stuck at Command 2, and the image is not programmed into the NOR flash.


    Thanks,
    Shilpa

  • Hi Shilpa,

    Ok, this is the script to write to flash using UART.

    So Step1 : ensure you are in UART boot mode

    Step 2: ensure the other terminals like Teraterm or any serial console is not connected to this COM.

    Step 3: Enure to pass the correct COM port through which you are seeing "CCC"

    Step 4: If it getting stuck, even with all the above ensured, please share the mcelf_cbl_ospi.cfg file you are using?

    Thanks and Regards,

    Nikhil Dasan

  • Hi Nikhil,

    Thank you for the suggestions. We have verified that all three initial steps are being executed correctly. However, the process is getting stuck at the fourth step, specifically after executing the second command.

    Could you please review the attached file and let us know if any changes are required?

    We look forward to your suggestions.

    8168.mcelf_sbl_ospi.cfg

  • The cfg file looks correct for a AM263Px control card. May I know if you are also using an AM263Px CC

    AM263P4AFONFZCZRQ1

    From your package name, it looks like you have AM263Px Sensor Package (ZCZ-F) + SIP Flash-in-Package.

    Please confirm if you have done the below to the SDK, before starting the same?. The examples should be migrated to SIP version to modify the same for 8MB flash

    AM263Px MCU+ SDK: Migrating examples from package to package in AM263PX

    Thanks and Regards,

    Nikhil Dasan

  • Hi Nikhil,

    Could you please confirm whether the AM263Px Control Card (part number: TMDSCNCD263P) includes RDC and SIP? I am able to flash the code on the Control Card without using migration, and we are using the same controller for our custom board.

    Thanks and Regards

    Shilpa

  • Hi Shilpa,

    There are 2 separate control cards for SIP (https://www.ti.com/tool/TMDSCNCD263P-SIP) and Non-SIP (https://www.ti.com/tool/TMDSCNCD263P)

    If you are able to flash without migration, then most probably you are using a non-SIP control card.

    Thanks and Regards,

    Nikhil Dasan

  • Hi Nikhil,

    I understand that we are using the AM263Px Sensor Package (ZCZ-F) + SIP Flash-in-Package control card.

    While migrating, do we need to provide the SDK path in the following command?

    $ node migrate.js --product {your_sdk_path}/.metadata/product.json --sourceDevice AM263PX --destinationDevice AM263PX --sourcePackage ZCZ_S --destinationPackage ZCZ_F --migratePath {your_sdk_path}
    
     
    The above command requires both the source and destination details. In our case, we have only one SDK installation:
     (C:\ti\mcu_plus_sdk_am263px_11_01_00_19) Should we use the same SDK path for both the --product and --migratePath parameters?

    Additionally, after migrating to the FIP (ZCZ-F) package, is it possible to revert back to the SIP (ZCZ-S) package if required, or is the migration intended to be a one-way process?

    Could you please clarify?

    Thanks & Regards,
    Shilpa

  • Hi Shilpa

    While migrating, do we need to provide the SDK path in the following command?

    Yes,

    The above command requires both the source and destination details. In our case, we have only one SDK installation:

    --migratePath is the folder or example that you want to migrate and --product will point to your SDK path, Rest all remains as is.

    Additionally, after migrating to the FIP (ZCZ-F) package, is it possible to revert back to the SIP (ZCZ-S) package if required, or is the migration intended to be a one-way process?

    I suggest creating a git repo locally for the installed SDK and then run this script on the example. This way you can revert the same. 

    However, if you are planning to use AM263Px SIP package for your project, you can keep the migrated changes for rest of your project lifecycle.

    Thanks and Regards,

    Nikhil Dasan

  • Hi Nikhil
    I am trying to migrate an AM263Px CoreMark example from package ZCZ_S to ZCZ_F using the MCUSDK migration script from MCU+ SDK AM263Px 26.00.00.06.

    The migration script fails with the following error:

    Error: Cannot find module 'C:\ti\sysconfig_1.27.0\tests\sysConfig'

    In migrate.js, the script explicitly requires:

    syscfgPath = `C:\\ti\\${sysconfigVersion}\\tests\\sysConfig`;
    const sysConfig = require(syscfgPath);

    However, the installed SysConfig 1.27.0 does not contain the tests\sysConfig directory/module.


    Could you please confirm which SysConfig version/package is required for the MCUSDK migration script, or provide the correct migration API/module for SDK 26.00.00.06?

    Thanks, and Regards,

    Sreerag 

  • Hi Sreerag,

    C:\ti\mcu_plus_sdk_am263px_26_00_00_06\tools\migration_script>
    
    node migrate.js --product C:/ti/mcu_plus_sdk_am263px_26_00_00_06/tools/migration_script/.metadata/product.json --sourceDevice AM263PX --destinationDevice AM263PX --sourcePackage ZCZ_S --destinationPackage ZCZ_F --migratePath C:\ti\mcu_plus_sdk_am263px_26_00_00_06\examples\benchmarks\coremark_benchmark\

    Please ensure you are doing the above and please ensure you have sysconfig installed in C:/ti path. Below is my sysconfig

    I'm trying this on Windows machine.

    Thanks and Regards,

    Nikhil Dasan

  • Hi Nikhil,

    Thanks for the response.

    I followed the exact command you provided and I have SysConfig 1.27.0 installed under:

    C:\ti\sysconfig_1.27.0

    However, as shown in the attached image, the tests folder is not present in my SysConfig installation.

    Because of this, the migration script fails with:

    Error: Cannot find module 'C:\ti\sysconfig_1.27.0\tests\sysConfig'

    Could you please review the attached image?

    Thanks, and Regards,
    Sreerag

  • Hi Sreerag,

    Looks like your sysconfig is not correctly installed. 

    Please reinstall the same from here

    SYSCONFIG IDE, configuration, compiler or debugger | TI.com

    Post successful installation, it should be like this.

    Regards,

    Nikhil 

  • Hi Nikhil,

    Thanks for the response.

    I reinstalled the recommended SysConfig version and successfully completed the package migration from AM263PX ZCZ_S to ZCZ_F.



    After the migration, I tried to perform the UART UniFlash using the following command:

    python uart_uniflash.py -p COM<x> --cfg=sbl_prebuilt/am263px-cc/default_sbl_null.cfg

    I am getting the following error while running the UniFlash command:

    Could you please help me check and resolve this issue?

    Thanks, and Regards,
    Sreerag


  • Hi Sreerag,

    Have you migrated the sbl_uart_uniflash project as well?

    Thanks and Regards,

    Nikhil Dasan

  • Hi Nikhil,

    Thanks for the response.

    I have migrated my application project from ZCZ_S to ZCZ_F using the migration script.

    Regarding the sbl_uart_uniflash, could you please guide me on the exact steps to migrate?

    Please share the recommended procedure so that I can proceed accordingly.

    Thanks, and Regards,
    Sreerag

  • Hi Sreerag,

    Please run the same migration script on the sbl_uart_uniflash project as well and rebuild the same

    You can find the sbl_uart_uniflash project in examples/drivers/boot/ folder

    node migrate.js --product C:/ti/mcu_plus_sdk_am263px_26_00_00_06/tools/migration_script/.metadata/product.json --sourceDevice AM263PX --destinationDevice AM263PX --sourcePackage ZCZ_S --destinationPackage ZCZ_F --migratePath C:\ti\mcu_plus_sdk_am263px_26_00_00_06\examples\drivers\boot

  • Hi Nikhil,

    I have run the migration script for the sbl_uart_uniflash project as suggested, with the package migration.

    The migration completed successfully, as shown in the attached screenshot.


    Could you please confirm whether the migration was performed correctly and whether I can proceed with rebuilding the migrated sbl_uart_uniflash project and then continue with the remaining uart uniflash steps?

    Thanks, and Regards,
    Sreerag

  • Hi Nikhil,

    I proceeded with the UART UniFlash procedure after migrating and rebuilding the sbl_uart_uniflash project as suggested.

    However, the flash operation is still failing while sending the flash writer. The terminal shows errors such as:

    send error: expected NAK, CRC, EOT or CAN

    [ERROR] XMODEM send failed, no response OR incorrect response from EVM

    Also, the serial console is showing character, as shown in the attached image.

    Could you please check and advise on the next steps to resolve this issue?

    Thanks and Regards,
    Sreerag

  • Hi Sreerag,

    Have you ensured that the uart is not connected to serial console, when you are trying to execute the uart_uniflash script?

    Thanks and Regards,

    Nikhil Dasan

  • Hi Nikhil,

    Yes, we have ensured that the UART is disconnected from the Serial Console before executing the uart_uniflash.py script. We close/disconnect the Serial Console first and then run the UART UniFlash script.

    Now the flash writer is being sent successfully, and the script shows:

    Sent flashwriter ... of size 51865 bytes in 6.19s.

    However, during the second command, while sending sbl_null.release.tiimage, the transfer remains at 0%.

    I have attached the screenshots of the UniFlash output and the default_sbl_null.cfg configuration for reference.

    Could you please check and confirm whether the configuration and procedure are correct, and advise what could be causing the second-stage transfer to remain at 0%?

    Thanks and Regards,
    Sreerag

  • Hi Nikhil,

    We are still waiting for your feedback on the UART UniFlash issue, where the transfer of sbl_null.release.tiimage remains stuck at 0%.

    Could you please review the attached screenshots and default_sbl_null.cfg configuration and advise whether the procedure is correct and what could be causing the second-stage transfer to remain at 0%?

    Your guidance would be greatly appreciated.

    Thanks, and Regards,
    Sreerag

  • Hi Nikhil,

    This is a high-priority issue for our project, and we are still awaiting your feedback on the UART UniFlash issue where the transfer remains stuck at 0%.

    This issue is currently blocking our progress, so your prompt feedback would be highly appreciated.

    Thanks, and Regards,
    Sreerag

  • Hi,

    Sorry for the delay in response here. May I know if you are still facing this issue?

    Thanks and Regards,

    Nikhil Dasan