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.

Building DSPLink/DSP Library & Sample Binaries in Windows (OMAP-L137)

Other Parts Discussed in Thread: OMAP-L137, CCSTUDIO

Below is a modification of the wiki link:

http://wiki.davincidsp.com/index.php/How_to_build_an_ARM/DSP_Hello_World_program_on_the_DaVinci_EVM

Hopefully will help someone as a number of changes from online information were needed to build DSPLink on Windows.  Am sure there are other ways but this seems to work.

 

Kev

Building DSPLink/DSP Library & Sample Binaries in Windows (OMAP-L137)

 

Note:  Below has not been tested yet but does result in the expected binary output generation.  The creation of the below c:\dvevm_1_20 subdirectory is purely arbitrary and may be anything desired, used since following wiki example.

At first, create a directory:  ‘C:\dvevm_1_20 and copy the dsplink folder from your linux to your windows host (you may already have it on your windows system as well but best to make a copy), i.e. C:\dvevm_1_20\ dsplink-1_61_03-prebuilt\packages\dsplink. 

From now on, we work on the windows host. You need to install

  • the Code Composer Studio test version
  • Perl in C:\Perl
  • MinGW in C:\Mingw [3]

Copy C:\Mingw\mingw32-make.exe to gmake.exe so your Mingw can understand the gmake command.

Create the folder C:\ti-tools\bios,

  • copy the contents of C:\CCStudio_v3.3\bios_5_33_05 into C:\ti-tools\bios and
  • the folder C:\CCStudio_v3.3\C6000 into C:\ti-tools so is a C:\ti-tools\C6000 folder.

Create multiple batch files in the C:\dvevm_1_20 directory and modify accordingly:

 

setpath.bat (each set is all on one line):

set DSPMAKE_Makefile=Makefile

set DSPLINK=C:\dvevm_1_20\dsplink-1_61_03-prebuilt\packages\dsplink

set PATH=C:\Perl\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Mingw\bin

set C6X_C_DIR=C:\dvevm_1_20\dsplink-1_61_03-prebuilt\packages\dsplink\dsp\export\INCLUDE\DspBios\OMAPL1XX\internal

 

config.bat (each command is all on one line):

cd C:\dvevm_1_20\dsplink-1_61_03-prebuilt\packages\dsplink\etc\host\scripts\msdos

dsplinkcfg --platform=OMAPL1XX --nodsp=1 --dspcfg_0=OMAPL1XXGEMSHMEM --dspos_0=DSPBIOS5XX --gppos=MVL5G --comps=ponslrm --legacy=1

 

buildSampleDebug.bat (each command is all on one line):

cd C:\dvevm_1_20\dsplink-1_61_03-prebuilt\packages\dsplink\dsp\src\samples

 

copy C:\dvevm_1_20\dsplink-1_61_03-prebuilt\packages\dsplink\dsp\export\BIN\DspBios\OMAPL1XX\OMAPL1XXGEM_0\DEBUG\*.lib C:\dvevm_1_20\dsplink-1_61_03-prebuilt\packages\dsplink\dsp\BUILD\OMAPL1XXGEM_0\EXPORT\DEBUG

 

gmake -s debug

 

buildSampleRelease.bat (each command is all on one line):

cd C:\dvevm_1_20\dsplink-1_61_03-prebuilt\packages\dsplink\dsp\src\samples

 

copy C:\dvevm_1_20\dsplink-1_61_03-prebuilt\packages\dsplink\dsp\export\BIN\DspBios\OMAPL1XX\OMAPL1XXGEM_0\RELEASE\*.lib C:\dvevm_1_20\dsplink-1_61_03-prebuilt\packages\dsplink\dsp\BUILD\OMAPL1XXGEM_0\EXPORT\RELEASE

 

gmake -s release

 

buildDSPDebug.bat (each command is all on one line):

cd C:\dvevm_1_20\dsplink-1_61_03-prebuilt\packages\dsplink\dsp\src

 

gmake -s debug

 

buildDSPRelease.bat (each command is all on one line):

cd C:\dvevm_1_20\dsplink-1_61_03-prebuilt\packages\dsplink\dsp\src

 

gmake -s release

 

 

 

In order to setup for building the examples or libraries run the following once:

 

setpath

config

 

Now each time wish to build the samples run:

 

setpath

buildSampleDebug or buildSampleRelease depending upon type desired.

 

The .out file for each will be in:

 

C:\dvevm_1_20\dsplink-1_61_03-prebuilt\packages\dsplink\dsp\BUILD\OMAPL1XXGEM_0\EXPORT\DEBUG

 

Or

 

C:\dvevm_1_20\dsplink-1_61_03-prebuilt\packages\dsplink\dsp\BUILD\OMAPL1XXGEM_0\EXPORT\RELEASE

 

In order to build the DSP libraries:

            setpath

            buildDSPDebug or buildDSPRelease depending upon type desired.

 

Note:  The copy command in the ‘buildSample…’ is not needed if a full build of the DSP libraries is done first.  The rebuild automatically places the updated libraries in the proper directory.  When copied from Linux the ‘dsplink’ prebuilt image does not have the libaries initally there.

 

  • Hi,

       Have you successfully run sample applications on OMAPL37 ?

  • No, we spent a bunch of time getting DSPLink built and decided it was not worth the effort given the lack of debug support on the DSP side and documentation problems.  We had a complicated and large DSP program to debug that ran in parallel with Linux and DSPLink doesn't support that debug environment well.  There are ways to do it with loading the binary via DSPLink and then symbols but in the end was much easier to write our own given all we wanted where multiple shared memory interfaces and interrupt driven message passing.  With that we can debug and test the DSP side in parallel with running Linux, modify DSP code, reload with JTAG, and Linux stays running.  Sometimes more work is less work in the end...

    Kev

     

  • I am new to dsp and I can not run samples on OMAPL137 too.  The loop sample crushes the system, when I dig into the problem, I found that every time dsp side app calls "SIO_issue",  the OS dies; I comment out some modules in loop_tsk.tci file,  OS works fine but can not get any respones from dsp.   So how do you debug dsp app when OS is running ?  How can I observe dsp output at least ?  I see a wiki page says that on omapL137 dsplink must be compiled with DPS_TSK_MOD, but I did't find in the documents.  Sadly,  they all did't work.

  • >>So how do you debug dsp app when OS is running ?  How can I observe dsp output at least ?

    Short answer is Code Composer 3,3 that comes with the Starter Kit.

    Longer answer is that slide 35 of http://tiexpressdsp.com/images/b/b7/Linuxbydegreesda8xprimusdskswtools013009Part1.ppt.pdf shows loopgpp being debugged with gdbserver (using MV DevRocket.  Could use gdb just as easily) and loop being debugges with Code Composer 3,3 that comes with the Starter Kit. 

    Starting on slide 21, the build and debug steps are documented.  But please not that the doc is written from the prespective of a DSP (an WinXP) person learning Linux. 

  • Hello,

    I discovered a bug in the above scripting which will prevent the rebuild process from completing successfully.

    In the following extract:

    config.bat (each command is all on one line):

    cd C:\dvevm_1_20\dsplink-1_61_03-prebuilt\packages\dsplink\etc\host\scripts\msdos

    dsplinkcfg --platform=OMAPL1XX --nodsp=1 --dspcfg_0=OMAPL1XXGEMSHMEM --dspos_0=DSPBIOS5XX --gppos=MVL5G --comps=ponslrm --legacy=1

     

    the portion of the script that indicates: --comps=ponslrm

    must be changed to : --comps=ponslrmc

     

    for the final sample images to be able to run correctly.

     

    I suspect this is the reason that the failures elsewhere were reported. I made this change and was finally able to run the message sample program successfully using the dsp message.out built on the windows side for dsp and the messagegpp program built on the linux side for the arm side.

     

    I also found that in the prebuilt distribution for the OMAP-L137 there was no dsplinkdata.lib file present in the appropriate exports directory and as a result it was impossible to rebuild the message application dsp side with the prebuild image as well.

     

    -Richard Bagdazian