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 for OMAP L137 EVM

Other Parts Discussed in Thread: OMAP-L137, OMAPL138, DA8XX

Hello

I'm trying to build DSPLink following this guide: http://tiexpressdsp.com/index.php/Building_The_OMAP-L137_SDK.

I have successfully built the linux kernel and modules under /home/<user>/workdir/lsp/ti-davinci/linux-2.6.18_pro500.

I have also run: perl config/bin/dsplinkcfg.pl --platform=OMAPL138 --nodsp=1 --dspcfg_0=OMAPL138GEMSHMEM --dspos_0=DSPBIOS5XX --gppos=ARM --comps=ponslrmc --DspTskMode=1

and adjusted: /home/<useracct>/OMAPL137_arm_1_00_00_xx/DSPLINK_DIR/packages/dsplink/make/Linux/omapl1xx_mvlpro5.0.mk

However, when I'm invoking /home/<useracct>/OMAPL13#_arm_1_##_##_##/xdctools_3_1#_##_##/gmake inside /home/<useracct>/OMAPL13#_arm_1_##_##_##/DSPLINK_DIR/packages/dsplink/gpp/src the make seems to take the wrong kernel header files. I get the following errors:

In file included from /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/../target/usr/include/linux/timex.h:187,
                 from /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/../target/usr/include/linux/sched.h:48,
                 from /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/../target/usr/include/linux/module.h:9,
                 from DA8XXGEM/shmem/Linux/da8xxgem_phy_shmem.c:34:
/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/../target/usr/include/asm/timex.h:15:28: error: asm/arch/timex.h: No such file or directory
In file included from /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/../target/usr/include/linux/sched.h:49,
                 from /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/../target/usr/include/linux/module.h:9,
                 from DA8XXGEM/shmem/Linux/da8xxgem_phy_shmem.c:34:
/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/../target/usr/include/linux/jiffies.h:33:3: error: #error You lose.

and late on:

/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/../target/usr/include/asm/irq.h:4:27: error: asm/arch/irqs.h: No such file or directory
In file included from DA8XXGEM/shmem/Linux/da8xxgem_phy_shmem.c:34:
/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/../target/usr/include/linux/module.h:611:2: error: #error Modules should never use the kernel headers found in /usr/include
/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/../target/usr/include/linux/module.h:612:2: error: #error but rather the headers found in your LSP kernel sources.

Can anyone tell me what I have to do so that the DSPLink build system is taking the correct header files??

 

 

  • Dominique,

    There is a mismatch of devices in the script that you run and the makefile that you are editing.

    Please note:

    1) You have configured DSPLink for OMAPL138.

    I have also run: perl config/bin/dsplinkcfg.pl --platform=OMAPL138 --nodsp=1 --dspcfg_0=OMAPL138GEMSHMEM --dspos_0=DSPBIOS5XX --gppos=ARM --comps=ponslrmc --DspTskMode=1

    But

    2) You are editing file for omapL1xx.

    and adjusted: /home/<useracct>/OMAPL137_arm_1_00_00_xx/DSPLINK_DIR/packages/dsplink/make/Linux/omapl1xx_mvlpro5.0.mk

    Please configure and edit makefile for same device either OMAPL138 or OMAPL137.

    Deepali

  • I think the command for the configure script which I've posted is actually a copy & paste mistake. I of course used the settings for the OMAP L137.

    I managed to solve my problem tho. The error was in the omaplxx_mvlpro5.0.mk file. I don't know if I did something different than stated in the wiki guides but for some reason I had to edit this:

    #OSINC_TARGET    := $(BASE_TOOLCHAIN)/target/usr/include
    OSINC_TARGET    := $(BASE_BUILDOS)/include

    the TOOLCHAIN points to /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le to state where the compiler, linker etc. binaries are.

    the BUILDOS points to /home/<useracct>/workdir/lsp/ti-davinci/linux-2.6.18_pro500 where I have copied the lsp directories and built the kernel for the OMAP. With this correction (which is not stated in the guide!) the dsplink make is now taking the correct linux kernel header files :-).

  • Dominique,

    In omapl1xx_mvlpro5.0.mk, only the below variables need to be updated. As you have pointed out, you have edited them correctly with the correct paths.

    #   ----------------------------------------------------------------------------
    #   Base directory for the GPP OS
    #   ----------------------------------------------------------------------------
    BASE_BUILDOS    := ${HOME}/REL_LSP_02_20_00_07/montavista/pro/devkit/lsp/ti-davinci/linux-2.6.18_pro500

    #   ----------------------------------------------------------------------------
    #   Base for toolchain
    #   ----------------------------------------------------------------------------
    BASE_TOOLCHAIN    := ${HOME}/montavista5_glibc/pro/devkit/arm/v5t_le

    I do not understand why you will have to update OSINC_TARGET variable?

    OSINC_TARGET    := $(BASE_BUILDOS)/include

    There is already a variable which does exactly that. BASE_OSINC is used to define the OS headers.

    BASE_OSINC      := $(BASE_BUILDOS)/include

    Could there be any other reason for the build failure?

    Deepali

  • Well what I've noticed is that with

    OSINC_TARGET    := $(BASE_TOOLCHAIN)/target/usr/include

    The make for DSPLink was including the kernel headers from this location:

    /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin/../target/usr/include/linux/

    which got me the error: #error Modules should never use the kernel headers found in /usr/include but rather the headers found in your LSP kernel sources.

    so when I changed to OSINC_TARGET    := $(BASE_BUILDOS)/include which results in /home/<useracct>/workdir/lsp/ti-davinci/linux-2.6.18_pro500 /include the correct headers were included by DSPLink's make system.
    I don't know whether something on my system is configured wrong or there's a mess with the variables inside the make file. For now I can live with that fix ;-).

  • Dominique,

    Thanks for the reply.

    Thanks for the workaround which fixed your problem. I do need to root cause it so other customers don't run into it.

    In standard tests run prior to release, we have not seen this. There could be a difference in the Montavista release package that you are using.This is the version the DSPLink 1.61.03 release is validated with.

    Montavista Linux release:

    5.0 with Da8xx EVM based on linux 2.6.18 kernel. Either glibc or uclibc tool chain can be installed. (REL_LSP_02_20_00_03.tgz) It is available as part of the TI’s Linux Platform Support Product (PSP) 02.20 packages for DA8xx Evaluation Module (EVM).

    Deepali