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.

DVSDK 4.03 DSPLink OMAPL138 configuration

Other Parts Discussed in Thread: OMAPL138, OMAP-L138

Hello,

I'm a beginner with TI products, so my questions may seem a little bit stupid.

 

I'm working with a OMAP L138 board ( ZoomTM OMAP-L138 EVM from Logic to be accurate ).

I have installed the DVSDK version 4.03 on my ubuntu 10.04.

I have been able to setup the nfs boot system and boot up the board with linux (included with the sdk) (linux-2.6.37.psp03.21.00.04) on it.

Also I was able to compile a simple helloworld.c program for ARM on my target and it seems to be working well. So the build environment for the ARM side works OK.

Now I would like to use the DSP and DSPLINK.

The DSPLink sample applications provided by TI work well on my board.

So now my questions:

1) As I understand I have to configure the DSPLink (as described in the DSPLink user guide) in order to compile the DSPLink sample applications or has the configuration been made with the installation?

If I have to configure then here are some more questions:

2) 9.1 DSPLink make system customization. I have to set the distribution file for my platform-os combination. As I understand I have linux-2.6.37.psp03.21.00.04 but in the configuration files (omapl138_arm.mk for example) has the BASE_BUILDOS linux-03.20.00.01. So do I have to change these configuration files (and then what exactly) or use them as they are ? Or can somone provide me the correct files?

3) Also for the DSP side is the c674x_5.xx_linux.mk right file for me?

4) I have set the enviorment variables for $PATH and $DSPLINK as described in the user guide so this should be ok ?

5) Then (or can i do it before the make system configuratin) I will run the DSPLink build configuration perl script vith right options.

Is there anything else I should know or pay atention ?

So the main question is the make system configuration.

Ago

  • Can anyone help me ?

  • I now tried to configure the make system by myself as good as I could.

    Now if I trie to build I get the following error:

    [API ] ------- EXPORT ---------------- DEBUG --------------
    cp /home/ttu/workdir/dsplink_temp/gpp//BUILD/EXPORT/DEBUG/dsplink.lib \
    /home/ttu/workdir/dsplink_temp/gpp//export/BIN/Linux/OMAPL138/DEBUG/. >/dev/null
    make[1]: Leaving directory `/home/ttu/dvsdk/dsplink_1_65_01_05_eng/dsplink/gpp/src/api'
    echo Building kernel side code using kbuild
    Building kernel side code using kbuild
    make PROFILE=DEBUG -C /home/ttu/dvsdk/psp/linux-2.6.37-psp03.21.00.04.sdk SUBDIRS=/home/ttu/dvsdk/dsplink_1_65_01_05_eng/dsplink/gpp/src ARCH=arm CROSS_COMPILE=/home/ttu/dvsdk/linux-devkit/bin/arm-arago-linux-gnueabi- modules
    make[1]: Entering directory `/home/ttu/dvsdk/psp/linux-2.6.37-psp03.21.00.04.sdk'

    ERROR: Kernel configuration is invalid.
    include/generated/autoconf.h or include/config/auto.conf are missing.
    Run 'make oldconfig && make prepare' on kernel src to fix it.


    WARNING: Symbol version dump /home/ttu/dvsdk/psp/linux-2.6.37-psp03.21.00.04.sdk/Module.symvers
    is missing; modules will have no dependencies and modversions.

    Building modules, stage 2.
    /home/ttu/dvsdk/psp/linux-2.6.37-psp03.21.00.04.sdk/scripts/Makefile.modpost:42: include/config/auto.conf: No such file or directory
    make[2]: *** No rule to make target `include/config/auto.conf'. Stop.
    make[1]: *** [modules] Error 2
    make[1]: Leaving directory `/home/ttu/dvsdk/psp/linux-2.6.37-psp03.21.00.04.sdk'
    make: *** [debug] Error 2

    Actually there was a place in the /dsplink/gpp/src/Rules.mk file

    saved_cross := $(shell cat $(KERNEL_DIR)/include/generated/kernel.cross 2> /dev/null)
    CROSS_COMPILE := $(saved_cross)
    export CROSS_COMPILE

    where i looked that in my 

    psp/linux-2.6.37-psp03.21.00.04.sdk/Include foder there is no "generated" folder.

    Is this the problem and then what shuld I do to solve this.

  • Any sugestions ?

  • Ago,

    In your DVSDK install folder, have a look at the Makefile. In the help section, you will find goals to configure and build both Linux and DSPLink. Update Rules.make with your install paths.

    In order to build DSPLink, you must first configure and build your Linux kernel. Your kernel is in the psp/linux-2.6.37-psp03.21.00.04.sdk folder, but it needs to be configured and built.

    The following links contain useful information and links to more details.

    http://processors.wiki.ti.com/index.php/DVSDK
    http://processors.wiki.ti.com/index.php/Getting_Started_Guide_for_OMAP-L1

    For software questions, it is better to post in the Embedded Software > Linux forum. This is a hardware forum.

    ~Ramsey

  • Hello,

    Thanks for your reply Ramsey,

    I figured that I was missing something: beacause I configured DSP link and DVSDK Make files and still got error when I tried to build DSPLink sample applicatsions.

    I thought that that the DVSDK included ready to build linux kernel sources with all modules and drives? Guess I was wrong ?

    As I understood I still have to  configure and build my custom linux kernel before I can build DSPLINK aplications.

    Thanks for the links thou, I will try to follow this kernel building tutorial then.

    Or can someone provide me fully configured and built Linux kernel sources with DSPLink  for the L138 processor so I can just replace my psp folder and build the DSPLink applications without going throu this linux kernel building process.

    Thanks again,

    Investigating forward

  • For reference on how to build DSPLink, you can also look at:

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

    The DVSDK's build system uses the a Makefile based over-ride feature (described in the link above) to configure and build DSPLink for your DVSDK's platform.  If you are interested in the details, you can inspect the DVSDK's top level Makefile and search for "dsplink".  To build DSPLink and its samples application, you can simply run:

    make dsplink

    from the top of your DVSDK installation directory as instructed in the DVSDK's Software Developer's Guide.

  • Hei,

    Thanks for your reply.

    Make Linux and Make dsplink worked

    Thanks for the help.

    Ago

  • Hello,

    I now was able to build DSPLink sample applications with this Make DSPLink command and everything works well on my target platform.

    Now I want to customize some sample application and compile my own application. I do not want to just over write those sample applications.

    As i configured the DSPLINK by myself also I thought that I first trie to recompile one of the sample applcation (loop application for example) in the DSPLink sample folder. For the GPP side if I run Make  in the loop sample application folder it seems to be building, at least I did nod get any error message, but when I tre to build the DSP side and run Make in the DSP side loop application folder i get the following error:

    Generating DSP/BIOS configuration files ...
    /usr//bin/perl /home/ttu/dvsdk/dsplink_1_65_01_05_eng/dsplink/make/bin/runif.pl LINUX "exist /home/ttu/dvsdk/dsplink_1_65_01_05_eng/dsplink/dsp/BUILD/OMAPL138GEM_0/LOOP/BIOS_DEB" "rm -r -f /home/ttu/dvsdk/dsplink_1_65_01_05_eng/dsplink/dsp/BUILD/OMAPL138GEM_0/LOOP/BIOS_DEB" ""
    /usr//bin/perl /home/ttu/dvsdk/dsplink_1_65_01_05_eng/dsplink/make/bin/runif.pl LINUX "exist /home/ttu/dvsdk/dsplink_1_65_01_05_eng/dsplink/dsp/BUILD/OMAPL138GEM_0/LOOP/BIOS_DEB" "" "mkdir -p /home/ttu/dvsdk/dsplink_1_65_01_05_eng/dsplink/dsp/BUILD/OMAPL138GEM_0/LOOP/BIOS_DEB"
    /xdctools_3_16_03_36/tconf -Dconfig.importPath="/home/ttu/dvsdk/dspbios_5_41_03_17/packages;/home/ttu/dvsdk/dspbios_5_41_03_17/packages/ti/bios;/home/ttu/dvsdk/dsplink_1_65_01_05_eng/dsplink/dsp/inc/DspBios;/home/ttu/dvsdk/dsplink_1_65_01_05_eng/dsplink/dsp/inc/DspBios/5.XX/OMAPL138GEM;/home/ttu/dvsdk/dsplink_1_65_01_05_eng/dsplink/dsp/inc/DspBios/5.XX;/home/ttu/dvsdk/dsplink_1_65_01_05_eng/dsplink/dsp/src/samples/loop;" -Dconfig.programName="/home/ttu/dvsdk/dsplink_1_65_01_05_eng/dsplink/dsp/BUILD/OMAPL138GEM_0/LOOP/BIOS_DEB/loop" /home/ttu/dvsdk/dsplink_1_65_01_05_eng/dsplink/dsp/src/samples/loop/DspBios/5.XX/OMAPL138GEM/loop.tcf 0
    /bin/sh: /xdctools_3_16_03_36/tconf: No such file or directory
    make[1]: *** [DspBios/5.XX/OMAPL138GEM/loop.tcf.deb] Error 127
    make[1]: Leaving directory `/home/ttu/dvsdk/dsplink_1_65_01_05_eng/dsplink/dsp/src/samples/loop/DspBios/5.XX/OMAPL138GEM'
    make: *** [objdeb] Error 2

    I looked ant the tconf file exists in this folder. And the DVSDK Make system does not generate this error therefore I guess there is still something wrong in my c674x_5.xx_linux.mk configuration file.

    Would really like to get this configuration working.

     

     

     

  • If you want to simple go into the dsp/src/sample or gpp/src/sample directory to build the sample application then you'll need to modify the appropriate.  In the OMAP-L138 case these file are:

    dsplink/make/DspBios/c674x_5.xx_linux.mk

    dsplink/make/Linux/omapl138_arm.mk

    You may want to look at the DVSDK top level makefile (DVSDK_INSTALL_DIR/Makefile) to see the variables needed to build the gpp and dsp side of the sample applications.  Search for dsplink_samples in that file.

    Some related info here to build your custom DSPLink application:

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

    The DVSDK ships with a more complicated but simpler build example that uses DSPLink (AudioSOC).  It may be worth a look at to see how to create/build a DSPLink application outside on the DSPLink build flow with GNU Makefiles.

    You may also find other topics of interest on main DSPLink wiki page:

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

  • Hello,

    I have configured all files witch needed to be configured according to DSPLink documentation, these included also those files:

    dsplink/make/DspBios/c674x_5.xx_linux.mk

    dsplink/make/Linux/omapl138_arm.mk

    I gues it is worth to look through those files again in the light of DVSDK top level makefile (DVSDK_INSTALL_DIR/Makefile), to see if there are some differences.

    Thanks for this hint. Just thougt that someone can point out some more exact location to look in the light of the error I got.

    Also going to investigate this AudioSoc example.

    Ago

  • In your specific case for the DSP-side sample application to build, you should only need to define the following variables in the c674x_5.xx_linux.mk file:

    BASE_CGTOOLS

    BASE_SABIOS

    XDCTOOLS_DIR

    In my particular case, they would be defines as the following:

    BASE_CGTOOLS=/home/<user>/ti-dvsdk_omapl138-evm_04_03_00_06/cgt6x_6_1_14
    BASE_SABIOS=/home/<user>/ti-dvsdk_omapl138-evm_04_03_00_06/dspbios_5_41_03_17
    XDCTOOLS_DIR=/home/<user>/ti-dvsdk_omapl138-evm_04_03_00_06xdctools_3_16_03_36

    The remainder of the variables in that file can remain as is.  This should allow you to go into the dsplink/dsp/src/samples directory an run 'make' successfully.

    A few gotchas

    • Make sure you run the configuration setup of DspLink, either by following the instruction in the documentation or executing 'make dsplink_cfg' from the top-level of your DVSDK installation.
    • Make sure you have the DSPLINK environment variable set as indicated here before running the 'make' command in the samples directory.
  • Now it's working !

    Thanks!

    I only had this XDCTOOLS_DIR path wrong. In the c674x_5.xx_linux.mk file the default was:

    XDCTOOLS_DIR := $(TI_TOOLS_BASE_DIR)/xdctools_3_16_03_36

    I replaced it with 

    XDCTOOLS_DIR := $(BASE_INSTALL)/xdctools_3_16_03_36


    Ago