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.

RTOS/PROCESSOR-SDK-OMAPL138: Possible SDK Package Inconsistencies

Part Number: PROCESSOR-SDK-OMAPL138
Other Parts Discussed in Thread: OMAPL138

Tool/software: TI-RTOS

Can someone confirm the following, as it is getting quite frustrating... Im not new to Linux, nor embedded systems... I am new to multicore embedded system though... So Im going to assume I am doing something wrong here...

I have a fresh installation of the Processor SDK RTOS for the OMAPL138... I have started from a fresh new installation as CCS has added new updated releases to my main tools folder and I didn't want to get my wires crossed... Lets use the packages supplied by the installer ONLY...

When I try to build the RTOS SDK it seems as though various version numbers for the installed libraries/packages are set incorrectly...

There are two locations (that I have found) where these version numbers (for ndk, xdc, ipc, edma3, etc...) are being set... 

  1. Within the setupenv.sh and Rules.make of the RTOS SDK Directory
  2. Within the Rules.make of the OMAPL138 PDK Directory

And ofcourse, these values do not match...

Im fairly confident that the values within the PDK directory are incorrect, as the values within the RTOS files match those which were installed to the filesystem. I have had to update the following version numbers defined in the PDK directory to match those installed in the RTOS directory in order for the SDK build to succeed -

  • IPC Version
  • CGT_ARM Version
  • BIOS version
  • EDMA3 Version

Im also finding that some of the default values returned by the setupenv.sh script within the RTOS installation folder is configuring Environment Variables with invalid folders... In particular, it is expecting a gcc-arm-none-eabi-4_9-2015q3 folder within the ti tools folder... Im pretty sure this is corrected by the time make jumps into the PDK directory so we end up picking up the correct toolchain (luck?)... Or perhaps Im not cross compiling at all... Can I set this to the gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabi tool chain as per the Linux Processor SDK build? Or should there be an additional gcc package included in the installer, like that found within the Linux Processor SDK?

I am using the latest processor_sdk_rtos_omapl138_4_00_00_04, cross compiling on a Linux host.

Current ti tools folder contains the following (gcc-linaro folders are the only manually installed packages - using wget/tar):

bios_6_46_05_55                                                     
cg_xml                                                              
dsplib_c674x_3_4_0_0                                                
edma3_lld_2_12_04_28                                                
gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabi                   
gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf                 
ipc_3_46_00_02                                                      
mathlib_c674x_3_1_1_0                                               
ndk_2_25_01_11                                                      
pdk_omapl138_1_0_1                                                  
processor_sdk_rtos_omapl138_4_00_00_04                              
ti-cgt-arm_16.9.2.LTS                                               
ti-cgt-c6000_8.1.3                                                  
ti-processor-sdk-linux-omapl138-lcdk-04.00.00.04                    
uia_2_00_06_52                                                      
xdais_7_24_00_04                                                    
xdctools_3_32_01_22_core

And the IPC examples aren't building either (make ipc_examples)... Error: xdc.tools.configuro: Error: can't open input file 'ti.platforms.evmOMAPL138:dsp'. Im sure this is a configuration error on my part, but Im unable to access the wiki at the moment, is it offline? This is what I see when I try to load processors.wiki.ti.com/.../Processor_SDK_RTOS_Software_Developer_Guide

An error occurred while processing your request.
Reference #97.483ce93f.1502433971.164dd451

  • Hi Juan,

    I've forwarded this to the TI RTOS experts. Their feedback should be posted here.

    BR
    Tsvetolin Shulev
  • Juan,

    I have looked at the Rules.make file that you pointed to inside the SDK and I am going to attempt to explain this in context of how the SDK is created and builds.

    For the end user the Rules.make inside the SDK doesn`t get used as the environment is setup using setupenv.sh which calls pdkSetupEnv.sh to setup the version number of all the components. I believe the Rules.make inside the PDK is added  so that the component can be built independently without expecting users to setup the environment using SDK scripts.

    Juan Aguero said:
    Im also finding that some of the default values returned by the setupenv.sh script within the RTOS installation folder is configuring Environment Variables with invalid folders... In particular, it is expecting a gcc-arm-none-eabi-4_9-2015q3 folder within the ti tools folder... Im pretty sure this is corrected by the time make jumps into the PDK directory so we end up picking up the correct toolchain (luck?)

    Can you provide the log from your setup script to explain this situation.

    Juan Aguero said:
    And the IPC examples aren't building either (make ipc_examples)... Error: xdc.tools.configuro: Error: can't open input file 'ti.platforms.evmOMAPL138:dsp'.

    Are these the steps that you are using to build the IPC examples.

    http://processors.wiki.ti.com/index.php/Processor_SDK_IPC_Quick_Start_Guide#Build_IPC_Linux_examples

    Juan Aguero said:
    An error occurred while processing your request. Reference #97.483ce93f.1502433971.164dd451

    TI Processor wiki was down at the around the time of this posting. You should be able to access it now.

  • Hi Rahul,

    Thanks for getting back to me... OK, I understand the differences between the versions...

    Actually, the issue is that I was running the setupenv.sh as a script...<./setupenv.sh>... When in fact it should have been sourced <source setupenv.sh>. This is described in 

    The build succeeds when I "source" the file... And fails as per my previous post when I use it as a script...

    For completion (hopefully it helps someone else), the build fails as it is unable to find armcl in multiple places, this is because it is trying to reference ti-cgt-arm_16.9.1.LTS instead of ti-cgt-arm_16.9.2.LTS, hence my digging around the makefiles...

    make[6]: /home/juansta/ti/ti-cgt-arm_16.9.1.LTS/bin/armcl: Command not found
    make[6]: *** [/home/juansta/ti/pdk_omapl138_1_0_1/packages/ti/build/makerules/rules_ti_cgt_arm.mk:137: /home/juansta/ti/pdk_omapl138_1_0_1/packages/ti/binary/ti/fs/fatfs/fatfs_indp/obj/arm9/release/diskio.oae9] Error 127
    make[6]: Leaving directory '/home/juansta/ti/pdk_omapl138_1_0_1/packages/ti/fs/fatfs'
    make[5]: *** [/home/juansta/ti/pdk_omapl138_1_0_1/packages/ti/build/comp_top.mk:317: fatfs_indp] Error 2
    make[5]: Leaving directory '/home/juansta/ti/pdk_omapl138_1_0_1/packages/ti/fs/fatfs'
    make[4]: *** [/home/juansta/ti/pdk_omapl138_1_0_1/packages/ti/build/comp_top.mk:146: little_lib] Error 2
    make[4]: Leaving directory '/home/juansta/ti/pdk_omapl138_1_0_1/packages/ti/fs/fatfs'
    make[6]: Entering directory '/home/juansta/ti/pdk_omapl138_1_0_1/packages/ti/board'
    make[3]: *** [/home/juansta/ti/pdk_omapl138_1_0_1/packages/ti/build/comp_top.mk:143: arm9_0_lib] Error 2
    make[3]: Leaving directory '/home/juansta/ti/pdk_omapl138_1_0_1/packages/ti/fs/fatfs'
    make[6]: Entering directory '/home/juansta/ti/pdk_omapl138_1_0_1/packages/ti/drv/gpio'
    make[2]: *** [/home/juansta/ti/pdk_omapl138_1_0_1/packages/ti/build/comp_top.mk:135: omapl138_lib] Error 2
    make[2]: Leaving directory '/home/juansta/ti/pdk_omapl138_1_0_1/packages/ti/fs/fatfs'
    make[1]: *** [makefile:68: fatfs] Error 2

    Muscle memory coming fresh from configuring the Linux-SDK where the setup.sh file is executed and not sourced led to this error... Is there a possibility to package the file without executable flags?

    RE the IPC examples... Im just following on from the RTOS SDK build guide. It states the makefile has additional targets, one of which are the IPC examples

    But I have just tried to run that now, after new found 'sourcing' methodology for environment config... And realised that 'out-of-the-box' the HOSTOS environment variable is set to "bios" (within the top level makefile) this ensures that no examples are found. If I manually update this to "linux" (feeling now that Im doing the wrong thing) make finds the examples but fails to build. I think I am getting my cores (Linux to RTOS divide) mixed up, I will follow the build guide for the IPC module instead and will create a new thread if there are any issues...

    Cheers