Other Parts Discussed in Thread: TMS320C6678,
Tool/software: Code Composer Studio
Hi All!
My CCS setup is as follows:
- CSS v7.4.0.00015
- SYS/BIOS v6.52.0.12
- XDCTools v3.50.4.43
I have a problem generating bare metal ARM project using Code Composer Studio v7.4. I am able to create empty project using GNU 6.3.1 tool-chain. And it compiles.
The next step, as I think from my previous experience with TMS320C6678, is creation of RTSC platform for the project.
It is also created fine and I'm able to select it in General->Products tab of project settings.
But compilation of the whole project fails with these messages:
makefile:145: recipe for target 'test_arm.out' failed
C:\Tools\ti\bios_6_52_00_12\packages\gnu\targets\arm\rtsv7A\lib\boot.aa15fg(startup.oa15fg): In function `_fini':
/db/ztree/library/trees/xdctargets/xdctargets-o04/src/gnu/targets/arm/rtsv7A/startup.c:95: multiple definition of `_fini'
c:/tools/ti/ccsv7/tools/compiler/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/hard/crti.o:(.fini+0x0): first defined here
C:\Tools\ti\bios_6_52_00_12\packages\gnu\targets\arm\rtsv7A\lib\boot.aa15fg(startup.oa15fg): In function `gnu_targets_arm_rtsv7A_startupC':
/db/ztree/library/trees/xdctargets/xdctargets-o04/src/gnu/targets/arm/rtsv7A/startup.c:48: multiple definition of `__dso_handle'
c:/tools/ti/ccsv7/tools/compiler/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/hard/crtbegin.o:(.data+0x0): first defined here
C:\Tools\ti\bios_6_52_00_12\packages\gnu\targets\arm\rtsv7A\lib\boot.aa15fg(startup.oa15fg): In function `gnu_targets_arm_rtsv7A_startupC':
/db/ztree/library/trees/xdctargets/xdctargets-o04/src/gnu/targets/arm/rtsv7A/startup.c:87: undefined reference to `xdc_runtime_System_exit__E'
collect2.exe: error: ld returned 1 exit status
So this is some kind of conflict with SYS/BIOS libraries. These errors can be fixed commenting lines of generated linker.cmd which refer to boot.aa15fg and syscalls.aa15fg libraries:
INPUT(
"C:\Users\win7user\workspace_v7\test_arm\Debug\configPkg\package\cfg\build_pa15fg.oa15fg"
//"C:\Tools\ti\bios_6_52_00_12\packages\gnu\targets\arm\rtsv7A\lib\boot.aa15fg"
//"C:\Tools\ti\bios_6_52_00_12\packages\gnu\targets\arm\rtsv7A\lib\syscalls.aa15fg"
)
But after this a warning "cannot find entry symbol _c_int00; defaulting to 008000d8" arrives, which definitely promises further troubles.
My project does not use SYS/BIOS, so what is the proper way to create project (and RTSC platform) without it? Maybe I need to create RTSC configuration file (or edit some files inside RTSC platform) to disable linking with SYS/BIOS libraries?