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.

Generating executable binary - run and load address mismatch



Hi,

I have imported the ethercat demo application (SDK v. 1.00.00.04). When looking at the post-build command in the CCS project, there is three options:

"${IA_SDK_HOME}/tools/post_build/post_build.bat" "${CCS_INSTALL_ROOT}" "${CG_TOOL_ROOT}" "${PWD}" "${ProjName}" "${IA_SDK_HOME}/starterware/tools/ti_image" "1" "0" "0x402fc000" "0x40300000"

"${IA_SDK_HOME}/tools/post_build/post_build.bat" "${CCS_INSTALL_ROOT}" "${CG_TOOL_ROOT}" "${PWD}" "${ProjName}" "${IA_SDK_HOME}/starterware/tools/ti_image" "1" "1" "0x80000000" "0x80000000"

"${IA_SDK_HOME}/tools/post_build/post_build.bat" "${CCS_INSTALL_ROOT}" "${CG_TOOL_ROOT}" "${PWD}" "${ProjName}" "${IA_SDK_HOME}/starterware/tools/ti_image" "1" "2" "0x08010010" "0x08010010"

According to the wiki page here: http://processors.wiki.ti.com/index.php/AM335x_SYSBIOS_Industrial_SDK_01.00.00.04_User_Guide#Generating_Executable_Binary_-_Post_Build_Script ,

the first option should be used to generate a binary for SPI flash. However, the load and run addresses suggested in the wiki page doesn't match with the addresses in the provided CCS project. The wiki page suggests 0x80000000 and 0x80000000, while the CCS project have 0x402fc000 and 0x40300000. Which one should I take? Does it make any difference?

Also, where could I get the memory map of the TI ICE board?

  • Hi,

    It depends on your command file (am335x*.cmd)/build configuration etc. In IRAM configuration application is loaded and run from internal memory instead of DDR. So run/load address differ to what is mentioned  in wiki - which is an example of how to load to and run from DDR with SPI flash as boot media. So always cross check with your map file (Debug/Release/IRAM/NOR folders) generated to find the correct options to use.