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.

OMAP-L138: OMAP-L138 Linux SDK Documentation

Part Number: OMAP-L138


I've been working with v06.03.00.106 of the Linux SDK for the OMAP-L138 and have come across an issue when trying to compile the hello world example in section 1.1.8 GCC ToolChain, Link below:

http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Overview/GCC_ToolChain.html

When performing the compilation it fails because the compiler does not reside at the location stated in the SDK document:

host# <SDK INSTALL DIR>/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/${TOOLCHAIN_PREFIX}gcc helloworld.c -o helloworld

The above example from the documentation produces the following path: /home/ben/ti-processor-sdk-linux-omapl138-lcdk-06.03.00.106/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-linux-gnueabi-gcc

Whereas the compiler actually resides at the following path: /home/ben/ti-processor-sdk-linux-omapl138-lcdk-06.03.00.106/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc

Is this a problem with the SDK documentation, the value assigned to TOOLCHAIN_PREFIX, or something else?

Thanks,

Ben

  • Hi, Ben,

    OMAP-L138 is ARM9 device. Though the Linux SDK and its documentation covers OMAP-L138, the documentation emphasizes more on the newer ARM Cortex-A15 devices. It still covers OMAP-L138 in some degree if you understand what the PATH and PREFIX imply to the compilation. In the other thread for mem_util, I post my commands to do the cross-compilation. One of the commands is to set up the path. You could have seen that the path is set to .../usr/bin/arm-oe-linux-gnueabi folder where the the actual gcc located. In that high level build, I didn't set the PREFIX because it is set in Rules.make. Usually the PREFIX is set to the prefix of the cross-compiler, [PREFIX-]gcc (with - be part of the PREFIX.

    More info on the cross-compilation set up can be found in Kernel's User Guide, http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_Kernel_Users_Guide.html 

    The user space application build environment setup is the same as kernel build. So, it applies to your case, but do adjust it with ARM9 compiler prefix.

    Please note that the TOOLCHAIN_PREFIX is no the right environment variable to use, but CROSS_COMPILE as stated in Kernel User's Guide.

    Rex