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.

PROCESSOR-SDK-AM57X: Project migration from Windows Environment to Linux Environment : CCS 11 looking for exe file

Other Parts Discussed in Thread: CCSTUDIO

I had to migrate a project from CCS 11 running on Windows, to CCS 11 running on Linux.

Since this is a different architecture, I downloaded the Linux versions of all the libraries we use (processor_sdk_rtos_am57xx_08_01_00_09).  After installing CCS 11 on Ubuntu 20.04 I am continuously getting an error where it appears that CCS is searching for a .exe file in the Debug Toolchain.

I am also getting an error that I2C_Transaction doesn't have a slaveAddress field.  The error in the build log states 

>> Compilation failure recipe for target 'app.obj' failed
"../app.c", line 262: error #137: struct "I2C_Transaction_s" has no field "slaveAddress"
1 error detected in the compilation of "../app.c".
gmake: *** [app.obj] Error 1
Building file: "../RingBuffer.c"
Invoking: C6000 Compiler
"/opt/ti/ccs1120/ccs/tools/compiler/ti-cgt-c6000_8.3.12/bin/cl6x" -mv6600 --include_path="/opt/ti/ccs1120/ccs/tools/compiler/ti-cgt-c6000_8.3.12/include" --include_path="/srv/ti/lib/processor_sdk_rtos_am57xx_08_01_00_09/dsplib_c66x_3_4_0_4/packages" --include_path="/home/bkleynhans/Git/ARM_DSP_AM57/DSP" --include_path="/home/bkleynhans/Git/ARM_DSP_AM57/DSP/common" --include_path="/home/bkleynhans/Git/ARM_DSP_AM57/DSP/commonapi" --include_path="/home/bkleynhans/Git/ARM_DSP_AM57/DSP/sigproc" --include_path="/home/bkleynhans/Git/ARM_DSP_AM57/DSP/fft/" --include_path="/home/bkleynhans/Git/ARM_DSP_AM57/DSP/fft/ti/fftlib/src/common" --include_path="/home/bkleynhans/Git/ARM_DSP_AM57/DSP/fft/ti/fftlib/src/common/fft" --include_path="/home/bkleynhans/Git/ARM_DSP_AM57/DSP/fft/ti/fftlib/src/common/ifft" --include_path="/opt/ti/ccs1120/ccs/utils/bin" --include_path="/srv/ti/lib/additional_libs/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/arm-none-eabi/include" --define=am5728 --define=core1 --define=C66X --define=SOC_AM572x --define=evmAM572x --define=ti_targets_arm_elf_M4 --define=BUILD_DEBUG --define=BUILD_FIZno --define=BUILD_871no --define=BUILD_MODEL_Ano --define=BUILD_750 --define=BUILD_731 --define=TIFFTLIB --define=DSP1 -g --c89 --c++14 --relaxed_ansi --diag_warning=225 --diag_wrap=off --display_error_number --preproc_with_compile --preproc_dependency="RingBuffer.d_raw" --cmd_file="configPkg/compiler.opt"  "../RingBuffer.c"
Finished building: "../RingBuffer.c"

but... I can't find any reference to I2C_Transaction_s anywhere in the project.

If I allow the editor to try to autocomplete, it is clear that the field exists.

I have installed, reinstalled, updated, removed, installed from scratch but I can't seem to figure this out.

I also don't understand why CCS is looking for com.ti.ccstudio.buildDefinitions.C6000_8.3.exe when CCS is installed on Linux.  I've searched through all the properties and can't find any reference to any .exe files.

The build log is included for your reference.

  • Hi Benjamin,

    Is your project working fine in windows environment?


  • Hi Parth,

    Yes, it was working fine on a Windows environment.  It was also compiling on Linux using the Windows binaries, though we had some undefined behavior which is why I moved to the Linux binaries.  Unfortunately I can't get it working with the Linux binaries however.



  • OK, so I found the causes of all the issues.

    For the first error (Unable to find tool in toolchain), it was caused by enabling "CDT Cross GCC Built-in Compiler" under 

    Right-click project -> Properties -> C/C++ General -> Preprocessor Include Paths -> Providers

    I didn't require those features any more, and when I disabled the provider the error went away.

    The second error ("I2C_Transaction_s" has no field "slaveAddress") was caused because I tried to use a newer version of the pdk_am57xx library.  The version included in the SDK was pdk_am57xx_1_0_18, and I tried to use pdk_am57xx_1_0_19.

    The "slaveAddress" field was removed between version 1_0_18 and 1_0_19.  I downgraded the library and the problem was solved.