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.
Replies: 5
Views: 5810
I'm making CodeComposerStudio (6.1.3) projects for OpenMP Accelerator Model. I'm currently planning to use my makefiles that contain all the Flags required for the OAM compile. One thing I'm stumbling is the fact that clacc requires the TARGET_ROOTDIR environment variable.
It would be nice to set that from CCS as the compiler (GCC 5.3.1 Linaro from TI Processor SDK Linux Version 3.0.0.4 or 3.1.0.6) toolchain is set up and usable in the CCS (there are other normal ARM Projects using it without problems). However, I can't find a preset value that would point to the arm side sysroot ,e.g. for 3.1.0.6:
~/ti-processor-sdk-linux-am57xx-evm-03.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi
If someone would use the 3.0.0.4 SDK with the project, the last component of the path (except for the version number) would have to be cortexa15hf-neon-linux-gnueabi. I would like to setup the CCS project so that this value would automatically be set correctly into TARGET_ROOTDIR. Obviously a workaround would be to let all users set this path in their own environment outside of CCS to their matching location, but that I'd like to avoid.
Is there any way to achieve this? Or is there a way to let CCS build a makefile automatically that contains this settings for OAM/clacc?
Hi,
You can set build environment variables in CCS. Look at the Window->Preferences->Environment dialog.
It's not preset, but you can use this dialog box to set the TARGET_ROOTDIR env variable for your current SDK.
Best Regards,
Eric
In reply to EricStotzer:
In reply to Stefan Hegny:
HI Stefan,
Unfortunately, there is no auto-set env variable in CCS for the sysroots/armxxx directory (or at least not that I'm aware of). If I come up with (or across) a workaround I'll post it.
What I'm currently using is a shell script
-- snip --
#!/bin/bash
# where is cl6x?cl6xexe=$( which cl6x )test -z "$cl6xexe" && echo "cl6x not found, PATH not correct" && exit 1
cd $( dirname "$cl6xexe" )
# find sysrootslastcur=$( basename $( pwd ) )cur=$( basename $( pwd ) )
while [ "$cur" != sysroots ]do test "$cur" == "/" && echo "No sysroots found above $cl6xexe" && exit 1 lastcur="$cur" cd .. cur=$( basename $( pwd ) )done
# now we are in sysroots, lastcur is where we came from ( the x86 subdir )armroot=$( ls -d */|grep -v "$lastcur" |cut -d/ -f 1|grep -i abi)
cd $armroot && pwd
called in makefile like
export SDK_PATH_TARGET=$(shell ../where/this/script/is.lsh)
It will use the PATH to the cl6x that is set by CCS according to the selected compiler toolchain.