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

Part Number: PROCESSOR-SDK-AM57X
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
subdir_rules.mk:14: 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.

DspAm750.build.txt

  • Hi Benjamin,

    Is your project working fine in windows environment?

    Regards,
    Parth

  • 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.

    Regards,

    Ben

  • 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.