NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
CCS Project OMAP-L137 HelloDSP DSPLINK example
END OF LIFE
DSP Link is still available for download, but no further releases or updates are planned. Please see IPC Software Options for details and alternatives.
Introduction[edit]
This page describes how to make the DSP side of the Example application using DSP Link on OMAPL1x into a CCS project.
Adapted Project[edit]
Find attached the same helloDSP example with a pjt.
It assumes that you installed the package:
OMAPL137_dsp_setupwin32_1_00_00_11.exe
Not the package:
C674x_dsp_setupwin32_1_00_00_10.exe
From the download site. So if you installed the C674x_dsp_setupwin32_1_00_00_10.exe package, please go back to the download site and get OMAPL137_dsp_setupwin32_1_00_00_11.exe and install in the default path.
After installing it, please edit the file:
C:\OMAPL137_dsp_1_00_00_11\dsplink-1_61_03-prebuilt\packages\dsplink\dsp\inc\DspBios\5.XX\OMAPL1XXGEM\dsplink-omapl1xxgem-base.tci
Comment the line below:
/*prog.module("GBL").PROCID = parseInt (arguments [0]) ;*/
And add the line below to replace it:
prog.module("GBL").PROCID = 0;
If you do not change the procedure above, you will get the error:
js: "dsplink-omapl1xxgem-base.tci", line 44: Illegal type change: GBL.PROCID changed from type integer to type float
Also, please make sure you have the DSPLINK env variable set in Windows. To do that go to Start-> Control Pannel-> System, choose tab Advanced. At the bottom, click on Environment Variables. At “System variables” click “New”. Put the values:
Variable name: DSPLINK
Variable Value: C:\OMAPL137_dsp_1_00_00_11\dsplink-1_61_03-prebuilt\packages\dsplink
Attention:If you point to the DSPLink your windows machine for the DSP application, and you use the DSPLink in your Linux machine for your Linux application, you might have conflicts – especially if you rebuild DSPLink 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:
\\(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)
It also assume that it can find the BSL (.lib) at:
C:\CCStudio_v3.3\boards\evmomapl137_v1\dsp\lib
And the include files for bsl at:
C:\CCStudio_v3.3\boards\evmomapl137_v1\dsp\include
Step by step of what was done[edit]
Here is a sumarized step by step of what was done to adapt it:
1) Add the DSPLINK = C:\OMAPL137_dsp_1_00_00_11\dsplink-1_61_03-prebuilt\packages\dsplink to env varialbes at windows (Control Panel, System, Advanced, Environment Variables) - need to restart CCS to take effect.
2) Adapting dsplink-omapl1xxgem-base.tci
The file should be at: C:\OMAPL137_dsp_1_00_00_11\dsplink-1_61_03-prebuilt\packages\dsplink\dsp\inc\DspBios\5.XX\OMAPL1XXGEM\dsplink-omapl1xxgem-base.tci
Comment the line below:
/*prog.module("GBL").PROCID = parseInt (arguments [0]) ;*/
And add the line below to replace it:
prog.module("GBL").PROCID = 0;
3) Create a new project in CCS
Go to the CCS menu, Project-> New... and create a new project. Give it a name and leave the defaulf settings.
4) Adding source files to project
Right click on your project and "Add Files to Project..." and add the followinf files:
helloDSP.tcf, main.c, tskMessage.c, helloDSP_config.c, and led_test.c.
The led_test.c should be taken from spectrum's digital website here. The build options described assume that you downloaded the code from Spectrum Digital and put it at:
C:\CCStudio_v3.3\boards\
5) Added path to find .tcis:
Right click on the project, select build options, DdspBiosBuilder tab, categoty basic, put the path (do that for DEBUG and RELEASE): %DSPLINK%\dsp\inc\DspBios\5.XX\OMAPL1XXGEM
Make sure you can open tcf in the graphical edit
6) Include in your CCS project the LIBS that you need for DSPLINK (see LIBS variable at the DSP makefile from HelloDSP)
Right click on the project, choose Build Options..., Linker tab, Category Libraries. Add the folowing libraries to the field Incl. Libraries (-l) (do that for DEBUG and RELEASE):
dsplink.lib;dsplinkpool.lib;dsplinkmpcs.lib;dsplinkmplist.lib;dsplinkmsg.lib;dsplinknotify.lib;dsplinkringio.lib;evmomapl137bsl.lib
Add the following paths to the Search Patch (-i) field for RELEASE:
%DSPLINK%\dsp\export\BIN\DspBios\OMAPL1XX\OMAPL1XXGEM_0\RELEASE;C:\CCStudio_v3.3\boards\evmomapl137_v1\dsp\lib
Add the following paths to the Search Patch (-i) field for DEBUG:
%DSPLINK%\dsp\export\BIN\DspBios\OMAPL1XX\OMAPL1XXGEM_0\DEBUG\;C:\CCStudio_v3.3\boards\evmomapl137_v1\dsp\lib
7) Define the necessary symbols at preprocessor (see DEFS variable in the DSP Makefile from HelloDSP)
Right click on project, choose Build Options..., Compiler tab, Category Preprocessor and add the folowing symbols to the field Pre-Define Symbol(-d) (do that for DEBUG and RELEASE):
MAX_DSPS=1;MAX_PROCESSORS=2;ID_GPP=1;OMAPL1XX;PROC_COMPONENT;POOL_COMPONENT;NOTIFY_COMPONENT;MPCS_COMPONENT;RINGIO_COMPONENT;MPLIST_COMPONENT;MSGQ_COMPONENT;MSGQ_ZCPY_LINK;CHNL_COMPONENT;CHNL_ZCPY_LINK;ZCPY_LINK;PROCID=0;DA8XXGEM;DOS_LINUX;DA8XXGEM_INTERFACE=SHMEM_INTERFACE;PHYINTERFACE=SHMEM_INTERFACE
8) Innclude the paths to header files needed (see CINCLUDES variable in the DSP Makefile from HelloDSP)
Right click on project, choose Build Options..., Compiler tab, Category Preprocessor, and add the folowing paths to the field Include Search Path (-i) (do that for DEBUG and RELEASE):
%DSPLINK%\dsp\inc;%DSPLINK%/dsp/inc/DspBios;%DSPLINK%\dsp\inc\DspBios\5.XX;%DSPLINK%\dsp\inc\DspBios\5.XX\OMAPL1XXGEM\;%DSPLINK%\dsp\inc\C64XX;%DSPLINK%\dsp\export\INCLUDE\DspBios\OMAPL1XX
9) Change MV option option according to article:
-mv option to use with the C6747
10) Add .cmd files:
Compile the project to make the tcf file generate a .cmd (you will get some linking errors at this point).
Add the .cmd file generated by the tcf file to your project: helloDSPcfg.cmd. Add also the file helloDSP.cmd.