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.

AM6422: Load Cortex R5 application into DDR memory via XDS110 Debug Probe

Part Number: AM6422
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hi

On our custom hardware based on AM6422 SoC we are trying to load application created for R5fss0-0 core based on "empty" template from CCS (Version: 20.2.0.12__1.8.0) into DDR memory, not MSRAM.

We have prepared below configuration in SysConfig (version 1.23.0) tool:




During loading application via XDS110 Debug Probe the error is popping up:

MAIN_Cortex_R5_0_0: File Loader: Verification failed: Values at address 0xA0000000 do not match (expected: 0x43F0E92D, actual: 0xE9C132F0) Please verify target memory and memory map.
MAIN_Cortex_R5_0_0: GEL: File: C:\UN2000\materialy\UN2000_firmware\vxworks_example\Debug\vxworks_example.out: a data verification error occurred, file load failed.

I tracked the gel file that is reporting this error (ccs/ccs_base/emulation/gel/AM64x/AM64_DDRS/AM64_DDRS_Confug.gel and found the function Data_WrRd_test()
which is printing this error. I replaces all the 0x8000000 address occurrences with the starting address of DDR memory region, but this still didn't help. Boot process on A53 core is stopped manually at u-boot shell so at this stage DDR memory is already initialized.
So my question is how to load application into DDR memory?



  • Data_WrRd_test() is just a test script that will not be executed unless the user initiates it.  Ensure you have added the DDRSS module,

    and added the DDR configuration file configured for the DDR on your board using the DDR Register Configuration Tool:   https://dev.ti.com/sysconfig/?product=Processor_DDR_Config&device=AM64x

       Regards,

    James

  • Hello James,

    Thanks for response. This error message I posted comes exactly from this GEL file. I do not even able to flash the application changing anything inside code won't help. DDR is already initialized by u-boot or SPL running at R5 core. Anyway I tried your approach but it didn't help.

    BR

    Jakub

  • I'm not sure why that GEL file would be executing if you already initialized the DDR.  If you have any kind of MMU enabled, that function won't work, it is just meant to be a very low level memory test.  Can you send the entire log in the CCS console window?

    Regards,

    James

  • Hello James.
    Sorry for late response. I was delegated to different tasks. I'm sending error message:

    MAIN_Cortex_R5_0_0: File Loader: Verification failed: Values at address 0xA5800000 do not match (expected: 0x00000001, actual: 0x00020000) Please verify target memory and memory map.
    MAIN_Cortex_R5_0_0: GEL: File: C:\code_composer_workspace\UN2000_firmware\UN2000_am6422_r5fss0-0\Debug\UN2000_am6422_r5fss0-0.out: a data verification error occurred, file load failed.

  • In the third snapshot, you should a DDR region defined with a start address of 0xA0000000, end addr =0xA0FFFFFF.  But the file you are loading is trying to load to 0xA58000000, which is not in the defined region.  I think this may be why you are getting the error.

    Regards,

    James

  • Hi James,

    Thanks for response. Sorry I sent you wrong log by mistake because I was testing different addresses. I used this tool to generate settings for DDR
    https://dev.ti.com/sysconfig/#/start
    I see that this tool also output some gel files... Anyway for now we decide to abandon idea of using DDR on our R5 firmware. 
    Thanks for help.

    BR

    Jakub

  • Ok i will close this ticket

    James