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 debug for ARM and DSP

Other Parts Discussed in Thread: OMAPL138

Hi TI,

Am I right to say that CCS with emulator is set up to single-step either ARM code or DSP code ?
   

Can CCS be used to single-step from ARM code into DSP code ?

In my application, ARM will call DSP function to run on DSP.

If there is issue between ARM and DSP, how do you debug it ?

Thanks,

Mr Tan

  • Hi,

    Yes, you are right: the emulator is able to single-step code each core of the device independently - it will never single-step across cores (i.e., jump to the other core).

    The process of debugging cross-core applications is covered in the page below, as well as in several pages under the DSPLink category. Although some of them are somewhat old, the concepts are applicable to the debugging procedure:

    http://processors.wiki.ti.com/index.php/CCS_Debugging_of_Linux_Applications_with_GDB

    http://processors.wiki.ti.com/index.php/Category:DSPLink

    Also, the discussion in the page below talks a bit about the process of loading and running code on multiple cores.

    http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/122303/436657.aspx

    Hope this helps,

    Rafael

  • hi rafael,

    i have gone through most of the threads on ARM+DSP devices, and I have one specific doubt regarding DSP wakeup in c6a816x. I am using evm816x provided by spectrum digital.

    is it possible to wake up DSP from u-boot like in the case of OMAPL138 processor? if yes then how? I have already tried accessing DSP from applications compiled via C6RUNapp.. I just need to understand if it is possible to boot up DSP along with ARM in c6a816x.

    hope you can clear out my doubts here

    thank you

    regards

  • Hi,

    Yes, it is possible to "wake up" the DSP core while running u-boot, however you will need to inspect the EVM GEL file and look for the routine that releases the DSP core - if I am not mistaken, this routine is called C674x(). Then you need to add the code inside this routine to your u-boot source code.

    Keep in mind that the GEL file initializes the Cortex A8 device first, therefore the routine above may require some pre-initialization from the OnTargetConnect() GEL routine.

    Also, you will need to find a way to load and run the desired DSP code as well, since simply releasing the core from reset with an empty or trashed memory may cause the core to hang on an exception or simply reset itself.

    Although these scripts are necessary to make CCS run code on the multiple cores, their implementation is usually done by the device experts - thus I would redirect any hardware or initialization questions directly to the device forum.

    Hope this helps,

    Rafael

  • thanks, Rafael. I also learned a lot from your posts.