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 Project with DSPLink example for OMAP-L138

Other Parts Discussed in Thread: OMAP-L138

Hi,

I'm trying to make working the message example DSPLink, under CCS3 on a OMAP-L138.

First, I rebuilt and ran the DSPLink example on the Linux host. This works fine.

Then, I looked to this page : http://processors.wiki.ti.com/index.php/CCS_Project_OMAP-L137_HelloDSP_DSPLINK_example and tried to adapt it for my application and my platform, in order to develop with CCS3.

I obviously got some errors that I fixed but I can't figure out this one : 

"main.c", line 412: error: identifier "tskMessage" is undefined

This "tskMessage" is actually not defined, so I think the application sould take it from annother source, but I don't know where...

Thank you in advance.

Regards,

Ben Philip

 

  • Does anybody have some advices in using CCS3 for an OMAP-L138 DSPLink application please?

    Regards,

    Ben Philip

  • Hi Ben,

    Instead of trying to adapt the application, I would suggest that you use an existing example insude the DSPLink folder or the Audio SOc example that was made for OMAP-L138.

    You do not need to port the project to CCS3, you can still debug from CCS without porting the project. Please see:

    http://processors.wiki.ti.com/index.php/Debugging_the_DSP_side_of_a_DSPLink_application_on_OMAP-L138_using_CCS

     

  • Thank you for your answer Mariana.

    But the problem is that I don't only need to debug with CCS, I also would like to compile and build.

    I want to develop my application, make my ".out" with CCS, copy it to my Linux station, and run my application.

    But I'm confused with all the settings I need to do in CCS3.

    Regards,

    Ben Philip

     

     

  • Ok, I understand.

    The main support for DSPLink applications is to build in Linux, but you can adapt to use in CCS if you want.

    In this case, I would not advise to use the Hello DSP project as a starting point because it uses the L137 BSL.

    Star from one of the DSPLink examples or the AUdioSoc, and then use the detailed procedure step by step to make it into a CCS project:

    http://processors.wiki.ti.com/index.php/CCS_Project_OMAP-L137_HelloDSP_DSPLINK_example#Step_by_step_of_what_was_done

    The main problem with this procedure is that you might hot some bumps on the road. This because your Linux side application will use the DSPLink that is installed in Linux. Than if you build in CCS and use the DSPLink installed in windows, the Linux application and the DSP application built in CCS might conflict and not work. The only way to avoid this and buildin CCS, is to have a samba server in your Linux machine and point the environmental variable dsplink installed in Linux like stated in the page (see below extracted from the page). This process is not always easy, that is why we recommend to build everything on Linux and just debug in CCS.

    Attention:

    \\(IP of your Linux machine)\user\OMAPL137_arm_1_00_00_10\dsplink-1_61_03-prebuilt\packages\dsplink

    For your project to compile you in CCS, you have access your Linux machine (Start->Run, type the IP of the Linux machine) in your Linux machine. One creative solution would be to access your Linux machine from your Windows machine using samba (search the net for more info on how to do this). This way you can set your DSPLINK environmental variable to point to your Linux machine like: DSPLink in your Linux machine for your Linux application, you might have conflicts – especially if you rebuild DSPLink your windows machine for the DSP application, and you use the DSPLinkIf you point to the

     

  • That's exactly what I already did.

    I chose the message example of the DSPLink directory, followed the procedure to make it into a CCS Project (with samba).

    Then, I'm stuck in the error I described in the 1st post.

    Thank you.

     

  • Ok, you are right, I'm sorry I missed that.

    Ok, so looking at the beginning of the main.c you have the declaration od the function:

    #if defined (TSK_MODE)
    /** ----------------------------------------------------------------------------
     *  @func   tskMessage
     *
     *  @desc   Task for TSK based TSKMESSAGE application.
     *
     *  @arg    None
     *
     *  @ret    None
     *
     *  @enter  None
     *
     *  @leave  None
     *
     *  @see    None
     *  ----------------------------------------------------------------------------
     */
    static Int tskMessage () ;
    #endif /* if defined (TSK_MODE) */

    at the end of the main function:

     tskMessageTask = TSK_create (tskMessage, NULL, 0) ;

    and that is the error you are probably getting.

    The function os present right at the end of main.

    So I'm not sure what could be wrong, it should be finding the function. Did you alter this file? If you did compare with the original. An easy fix would be to simply put the tskMessage function before the main function in the main.c file.

  • No, I didn't alter it. I tried to put the tskMessage function before the main function, but the same error occurs :

    "main.c", line 455: error: identifier "tskMessage" is undefined

    The message application works fine when I make it only with the Linux station. So I think this is probably a CCS configuration problem. 

    Thanks

    Ben Philip

     

  • Ok, so the function is there, somehow it is not being found.

    The only thing that comes to my mind is the #if defined (TSK_MODE) could be conflicting with the #if defined (SWI_MODE) ... #else.

    for OMAP-L processors you have to make sure that you built DSPLink in task mode. Did you rebuild DSPLink? Another possibility would be some conflicts. Make sure that all the paths are pointing to the same DSPLink in your Linux machine. Including the paths to the header file (see preprocessor options in the build options). I would say that somehow it looks like neither SWI_MODE nor TSK_MODE are defined.

     

  • My DSPLink is built in TSKMODE. CCS is pointing to the DSPLink and DspBios directories of my Linux station. My header are also taken from the Linux station.

    There is still the compilation failure.

    By the way, when I only try to debug, I was wondering how do I do to see what the LOG_printf is writing in the "trace".

    Thank you.

    Regards,

    Ben Philip