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.

TMDS243EVM: uart_uniflash.py send error: NAK received

Part Number: TMDS243EVM
Other Parts Discussed in Thread: UNIFLASH, , LP-AM243

Hello,

I'm trying to initialize SOC with the uart_uniflash.py based on the tutorial. ( AM243x MCU+ SDK: EVM Setup (ti.com) )

The 1st command in the python script worked well. However, the 2nd command in the python script was aborted due to NAK as the attached screenshot. Multiple power cycles were not helpful.

As a backup solution, I tried SOC initilization using SD BOOT based on the above tutorial. The sbl_null.release.tiimage was copied into the boot partition(FAT) of SD card and renamed as tiboot3.bin but the UART terminal didn't show anything when POWER-ON the board. Please help me to solve this problem. Thanks.

Thanks.

uniflash

  • Hello Jeff,

    Can you confirm that per the prior post you did the following:

    1. Set the board to UART boot mode via the 8-wide switches as documented and then power cycled the EVM so it powered up in UART boot mode
    2. Confirmed the COM port for the XDS110 UART
    3. Connected to that COM port with a Serial Terminal and observed 'C' being printed out
    4. Disconnected from the Serial Terminal before trying to flash the image
    5. Followed the steps you described above

    Also what version of Python do you have currently? You can find out with python --version.

    I have tested on an LP-AM243 as that is what I had immediately accessible and was able to get it to work properly on the first try, but I will need to find a TMDS243EVM tomorrow to validate on that board instead.

    Best Regards,

    Ralph Jacobi

  • Hello Ralph,

    Thank you for the answer. I double confirmed the questions from you as belows.

    1. Set the board to UART boot mode via the 8-wide switches as documented and then power cycled the EVM so it powered up in UART boot mode
      1. The switches were set to UART BOOT MODE. (SW2 = 1101 1100, SW3 = 1011 0000)
    2. Confirmed the COM port for the XDS110 UART
      1. USB Serial Port (COM33~36), XDS110 UART COM32
    3. Connected to that COM port with a Serial Terminal and observed 'C' being printed out
      1. CCS terminal showed 'C' character periodically through COM33.
    4. Disconnected from the Serial Terminal before trying to flash the image
      1. CCS terminal is disconnected before trying uart_uniflash.
    5. Followed the steps you described above
      1. python version is 3.9.13

    Best Regards,

    Jeff

  • Hi Jeff,

    We have seen this issue reported some times, it happens due to watchdog timer reset.

    Just before executing the python script could you please power cycle the board and run script immediately after it

    Hope this will resolve the issue, Could you try and let us know.

    BR

    Nilabh A.

  • Hi Nilabh,

    Thank you for the idea. I immediately entered the command right after power cycle but it was not changed unfortunately.

    Regards,

    Jeff

  • Hello Jeff,

    Sorry our delay on supporting this fundamental issue, but I have since gotten a lot of new information about what is happening with your EVM.

    The TMDS243EVM is a newer version of originally released TMS243GPEVM. This new TMDS243EVM includes High-Security Field-Securable (HS-FS) silicon. With that change, there is a different process for boot loading required for HS-FS devices which has been documented.

    The most important resource I can provide is the following migration guide page: https://dev.ti.com/tirex/content/mcu_plus_sdk_am243x_08_05_00_24/docs/api_guide_am243x/HSFS_MIGRATION_GUIDE.html

    This guide walks through the differences between GP and HS-FS devices, what images are required to load into the board, and what the recommended flow is for doing so.

    The key element for your specific use case is the Application boot using SBL (SBL OSPI, SBL NULL, SBL UART, SBL SD etc.) I've copy pasted that section here for your immediate reference:

    Since most of the differences in HS-FS is related to image signing, once the SBL and application image is correctly built, rest of the flow is the same as GP for application boot. Take care that the right images are used. For example, to use SBL NULL for your application boot, flash the sbl_null.release.hs_fs.tiimage image. Same goes for other SBLs.

    With this revised process, you should be able to successfully use the SBL with the TMDS243EVM.

    Best Regards,

    Ralph Jacobi

  • Hello Ralph,

    Thank you for the information. The hs_fs image can be flashed well to my board TMDS243EVM.

    Best Regards,

    Jeff