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.

CCS/AM5728: Linker command file for AM5728 + other questions

Part Number: AM5728

Tool/software: Code Composer Studio

Hello,

I have TI AM572x EVM. Just bought XDS200 JTAG debugger and trying to run a program on the target from the host. I have few questions.

1) When I create a new CCS project, as can be seen in the video attached, I chose the correct target and the debugger. Does it automatically choose the endianness too? Because I am getting "does not match the target endianness not loaded" error. When I change the endianness to little, I get "a data verification error occurred file load failed" error. 

2) Why is the linker command file setting empty? Shouldn't all of this automatic? Which linker command file should I choose in this case? I could not find anything specific to AM5728. 

3) Once the project is created, there is a red cross on the target configuration file. As can be seen in the video attached. When, I have specified all of this information while creating the CCS project why does it show a red cross on it? 

Thank you very much for your time. 

  • Hello,

    solid repellent said:
    1) When I create a new CCS project, as can be seen in the video attached, I chose the correct target and the debugger. Does it automatically choose the endianness too? Because I am getting "does not match the target endianness not loaded" error. When I change the endianness to little, I get "a data verification error occurred file load failed" error. 

    The endianness will default to what is defined in the device config files for that device. Apparently it is set to big endian for AM5728 but it can be changed (as you did). Your data verification error is likely because you build the project without a linker command file (as you mentioned in your next point).

    solid repellent said:
    2) Why is the linker command file setting empty? Shouldn't all of this automatic? Which linker command file should I choose in this case? I could not find anything specific to AM5728

    Support for the ARM cores on the AM572x are limited when using the TI ARM compiler. This is because majority of users tend to use GCC (as does the PDK for the AM572x). Hence we do come with an *.lds file for AM572x (GCC's equivalent of *.cmd files)

    solid repellent said:
    3) Once the project is created, there is a red cross on the target configuration file. As can be seen in the video attached. When, I have specified all of this information while creating the CCS project why does it show a red cross on it? 

    This is a strange bug. I can reproduce it. The workaround is to simply open the ccxml file and then toggle the AM572x checkbox. This seems to resolve the issue. I will file a bug for this.


    Thanks

    ki

  • Thanks a lot for the reply Ki. I tried to use the AM572x.lds file with the GNU compiler from Linaro. But when I try to build the project, I am getting "undefined symbol `HEAPSIZE' referenced in expression AM572x.lds" error as can be seen in the video attached. What additional configuration settings that I need to do further.

  • HEAPSIZE and STACKSIZE definitions are referenced in the lds file. Try defining them in your 'Build -> GNU Linker -> Symbols' options (under --defsym options). Add an entry for each and give it a value indicating the stack and heap size allocated.

    Have you installed the PDK for AM57x? Majority of users start with examples from there. It might be easier for you to start there also instead of going from scratch. Even if you get past this issue, there might be other things you need to do to get your environment going.

    ki
  • I am sorry, but from where do I download the pdk for AM57x?
  • Oh ok. It looks like I have a slightly older version "ti-processor-sdk-linux-am57xx-evm-03.02.00.05" already installed. Anyways, I have installed the latest version      "ti-processor-sdk-linux-am57xx-evm-03.03.00.04" now. 

    Are you talking about these example applications (image below)? None of them seem to be CCS projects. Am I looking at the wrong place?

  • You may have to run a script to generate the projects. This is how it used to work with some of the PDKs in the past. I noticed that you have the SDK for embedded linux so I assume you intend to run linux on the AM572x. I'm not sure if the examples are even CCS project based. I would post in the Sitara forum for how to get started with the PDK: e2e.ti.com/.../
  • Do you have a pdk_am57xx folder that was created in the same folder as the sdk? Inside the packages subfolder there are some scripts like pdkProjectCreate to create CCS projects.

    In any case, I would still check out the Sitara forum. The experts there are most knowledgeable with your device, the SDK/PDK, and how you should get started.

    Thanks
    ki
  • No, I do not have any pdk related folder or shell scripts. As you have suggested, I will ask this in Sitara forums. Thank you very much for the reply.