Other Parts Discussed in Thread: SYSCONFIG
Hi TI-Experts,
we try to set up an empty CCS Project for the AM243x based on the TI Arm Clang Compiler Tools with C++ support.
Therefore we use:
- Code Composer Studio 11.0.0.00012
- TI Clang v1.3.0.LTS
- mcu_plus_sdk_am243x_08_01_00_36
- sysconfig_1.10.0
Steps to reproduce:
1. Import the empty example project from the sdk (mcu_plus_sdk_am243x_08_01_00_36\examples\empty\am243x-lp\r5fss0-0_freertos) into CCS
2. Build the example - success
3. Rename main.c to main.cpp
4. Wrapped everything except the int main() function with extern "C" { }
5. Rebuild the complete project - success
6. Introduced a user class in the C++ area (not extern "C"):
class myClass { public: myClass(){id = -1;} int32_t getID(){return id;} private: int32_t id; };
7. build - success
8. Create an instance of the class in main():
myClass instance {};
9. Build finished with warnings:
warning #17003-D: relocation to symbol "__TI_exidx_linkto_scn_start_1" overflowed; the 32-bit relocated address 0x8ff58268 is too large to encode in the 31-bit signed PC-Relative field (type = 'R_ARM_PREL31' (42), file = "<internal>", offset = 0x00000000, section = ".ARM.exidx.vectors:freertos.am243x.r5f.ti-arm-clang.debug.lib<HwiP_armv7r_vectors_freertos_asm.obj>")
warning #10015-D: output file "empty_am243x-lp_r5fss0-0_freertos_ti-arm-clang.out" cannot be loaded and run on a target system
-> It is not possible to load or debug the binary.
We checked the TI Arm Clan Compiler Tools User's guide: https://software-dl.ti.com/codegen/docs/tiarmclang/compiler_tools_user_guide/getting_started_guide/using_the_tools.html# - without success.
In addition, we verified that the "Generate Far Call Trampolines (-trampolines Option) is set.
Question:
Is there a special linker option necessary to link C++ object files?
Thanks in advance
Best regards,
Tommy