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.

TMDS64EVM: Issue Running Application After Flashing via UART Boot Mode

Genius 3215 points

Part Number: TMDS64EVM

Hi All,

I executed the application flash procedure by following the URL below, but I am unable to run the flashed application.

https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/11_02_00_24/exports/docs/api_guide_am64x/GETTING_STARTED_FLASH.html

When checking the UART Boot Mode flashing log, it appears that the flash operation itself was successful.


Below is the UART terminal output after switching to OSPI/xSPI mode.
(The “INFO:” and “[DPL]” messages do not appear, which suggests that the flashed application may not be running properly.)

I have confirmed that the boot switches are set correctly according to the manual.

Best Regards,

Ito

  • Hi,

    This appears to be stuck in SBL OSPI. Please refer to this FAQ:  [FAQ] AM62X/AM64X : [FAQ] Debugging SBL boot in RTOS SDK and load symbols for SBL OSPI from CCS to check where it is stuck.

    Best Regards,

    Meet.

  • Hi Thakar,

    Thank you for your help.

    I have checked the FAQ and am currently stuck at the steps below.

    Even after loading the symbols, “Target Halted” is not displayed.


    Boot mode pin settings
    → The boot mode configuration using DIP switches is correct; no issues.

    SBL image
    → The SBL is written to OSPI at address 0x0, so there is no issue.



    Memory mapping
    → The ROM correctly reads the beginning of OSPI (offset 0x0), so there is no issue.


    SBL modifications
    → The SBL was modified as described in the documentation; no issues.


    Building the SBL in debug mode
    → This seems to have been done correctly (most likely).


    Connecting to CCS and executing in single-step mode
    → “Target Halted” is not displayed, which may indicate that the RBL is unable to load the SBL.


      Best Regards,

    Ito

  • Hi,

    It seems that you are flashing release image of SBL OSPI but building SBL in debug mode. You need to flash the debug mode binary of SBL, if you are building it in debug mode after adding the while loop. 

    Best Regards,

    Meet.

  • Hello Meet,

    My apologies but I will be taking over on behalf of Ito-san.

    Upon retrying after flashing the debug mode binary of SBL, “Target Halted” is still not displayed.

    This: D:\ti\mcu_plus_sdk_am64x_11_02_00_24\tools\boot\sbl_prebuilt\am64x-evm\default_sbl_ospi.cfg file's line 25 was changed to the following:

    --file="D:\ccs_ws_sample\sbl_ospi_am64x-evm_r5fss0-0_nortos_ti-arm-clang\sbl_ospi.Debug.hs_fs.tiimage" --operation=flash --flash-offset=0x0

    Flashing

    →It appears that the flashing succeeds. 

    Building the SBL in debug mode

    →It appears that this also succeeds.

    Inside of CCS:

    However, just as before "Target Halted" isn't being displayed.

     

    Please let me know if you need any additional information.

    Thank you, and I look forward to your response.

    Best regards,

    Michael

  • Hi Michael,

    You are building the example using the makefile in SDk's location (example/drivers/boot......) but flashing the example that is built in CCS. 

    Is this the default SBL OSPI which is failing or you have modified this? If you have changed something in SBL OSPI then please share those changes or your SBL OSPI project if possible. From the description I assume that you are using am64-evm and not a custom board but please confirm the same as well.

    Best Regards,

    Meet.

  • Hi Meet,

    Thank you for your response.

    To the best of my knowledge, the SBL OSPI is default except for adding the while loop as listed in the FAQ, and the board being used is the AM64X-EVM (TMDS64EVM).

    I understand your point that there may be a mismatch between what is being built and what is being flashed.

    To address this, do you have a recommendation standardizing build flow (SDK vs CCS)?

    Best regards,

    Michael

  • To the best of my knowledge, the SBL OSPI is default except for adding the while loop as listed in the FAQ, and the board being used is the AM64X-EVM (TMDS64EVM).

    If you face this with the default SDK let me once try this at my end with SBL OSPI and UART echo example, usually I have not seen any issues while running the default SBL, but I will give it a try.

    To address this, do you have a recommendation standardizing build flow (SDK vs CCS)?

    There is no recommended method, just make sure you are flashing the binary that you have updated in either SDK or CCS.

  • Hi Michael,

    I tried this with the default sbl_ospi and uart_echo_callback example and it's working for me:

    DMSC Firmware Version 11.2.5--v11.02.05 (Fancy Rat)
    DMSC Firmware revision 0xb
    DMSC ABI revision 4.0
    
    KPI_DATA: [BOOTLOADER_PROFILE] CPU Clock        : 800.000 MHz 
    KPI_DATA: [BOOTLOADER_PROFILE] Boot Media       : NOR SPI FLASH 
    KPI_DATA: [BOOTLOADER_PROFILE] Boot Media Clock : 166.667 MHz 
    KPI_DATA: [BOOTLOADER_PROFILE] Boot Image Size  : 52 KB 
    KPI_DATA: [BOOTLOADER_PROFILE] Cores present    : 
    r5f0-0                                                                                                                                                
    KPI_DATA: [BOOTLOADER PROFILE] SYSFW init                       :      11324us                                                                        
    KPI_DATA: [BOOTLOADER PROFILE] System_init                      :      14242us                                                                        
    KPI_DATA: [BOOTLOADER PROFILE] Drivers_open                     :       1665us                                                                        
    KPI_DATA: [BOOTLOADER PROFILE] Board_driversOpen                :      28744us                                                                        
    KPI_DATA: [BOOTLOADER PROFILE] Sciclient Get Version            :       9846us                                                                        
    KPI_DATA: [BOOTLOADER PROFILE] CPU Load                         :      23321us                                                                        
    KPI_DATA: [BOOTLOADER PROFILE] SBL End                          :        808us                                                                        
    KPI_DATA: [BOOTLOADER_PROFILE] SBL Total Time Taken             :      89953us                                                                        
                                                                                                                                                          
    Image loading done, switching to application ...                                                                                                      
    This is uart echo test callback mode                                                                                                                  
    Receives 8 characters then echo's back. Please input..                                                                                                
    12345678                                                                                                                                              
    All tests have passed!!

    Unless there have been any changes to SBL I don't think it should cause any issues.