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.

OMAP L138 how do I call a function on the DSP from the ARM

Other Parts Discussed in Thread: OMAP-L138

I am using the EVM OMAP L138 board and debugging via XDS100v2 USB Emulator.

How do I write my main program on the ARM side and in the main program call a function on the DSP side?

How do I know what I'm writing a code on the ARM side?  And I know I'm writing on the DSP side?

Is there any code example?

 

I was following these steps:

http://processors.wiki.ti.com/index.php/How_to_connect_to_the_OMAP-L138/C6748/AM1808_EVM_board_using_CCS%3F

 

Thanks.

 

Rafael.

 

  • Hey Rafael,

    I came across your post and thought I might be able to help; hopefully I have interpreted your questions correctly!

    - "How do I know what I'm writing a code on the ARM side?  And I know I'm writing on the DSP side?"

    After you develop your source code and compile your project, you will load the executable object file to the appropriate core. The link that you have referenced provides great instructions to configure a target file and this should be done before debugging on the EVM board. "Debugging" your project should automatically connect to the appropriate core if the correct target is set as default or linked to the project. When you initially created your project, you specified the architecture to be used. (I am assuming you are using CCSv4 since you are using the XDS100v2, so you might review step 3 here: http://processors.wiki.ti.com/index.php/GSG:Creating_projects.) Thus, the source code in an ARM project would run on the ARM core and the source code in a DSP project would run on the DSP core.

    - "How do I write my main program on the ARM side and in the main program call a function on the DSP side?"

    Are you attempting to implement and execute your own DSP function? If so, you could create two separate projects (one for each core) and set aside some memory in shared RAM to use as flag(s) for your DSP function(s). After the ARM sets the corresponding flag in shared RAM, have the ARM send an interrupt to the DSP to check the flag(s).

    I hope this helps! Good luck! (=


    - Kevin

  • Hello Kevin.  Thanks for the reply.

    I have one more doubt.

    Actually I do not know if my emulator is XDS100v1 or XDS100v2.

    But anyway, I can debug the OMAP L-138 with it?

    From what I saw on the link below, XDS100v1 not support debugging of the ARM.

    http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/3204/11179.aspx#11179

    How do I know if my board is with XSD100v1 or XDS100v2?

    Thanks

    Rafael

     

  • Hey Rafael,

    Yes you are correct, the XDS100v1 does not support debugging for the ARM processor. The following link has a nice table that summarizes the compatibility between CCS, the processor families, and the XDS hardware version:

    http://processors.wiki.ti.com/index.php/XDS100#Installation_for_Code_Composer_Studio_v4.x

    As to which version of the XDS100 emulator you are using, you might check with the vendor from whom the emulator was purchased or from whom the board/kit was purchased.  From the forum post you mentioned, it appears that the OMAP-L138 comes with the XDS100v1 embedded and thus you would need to purchase the XDS100v2, or other compatible emulator, to debug the ARM core. The article post is from 2009 so it might be a possibility that a newer version includes the XDS100v2 (not sure). Regardless of whether you are using on-board emulation or an external emulator, I would assume there would be a revision number of some sort located on the hardware that should help identify the type of emulation you are using. I hope this helps you find the right answer!

    -Kevin