Greetings,
I am new to the TI DSP world and have been experiencing link errors trying to build a program with ELF output format for the evm6457 platform. It builds fine with a COFF format and also builds fine in ELF when a dsk6455 plaform is selected.
I have been able to recreate the problem in a very simple example by creating a new project for the C6000 family with a "Generic C64+ Device" variant and using the Sys/BIOS "Typical" project template and selecting the evm6457 platform. Then I set the following properties for the new project:
Device endianness = big
Compiler version = TI v7.3.1
Output format = eabi (ELF)
Runtime support library = rts64pluse_elf_eh.lib
Target = ti.targets.elf.C64P_big_endian
When I build it the linker throws a slew of warnings about symbol relocation overflow (e.g. "relocation to symbol __c6xabi_unwind_cpp_pr0 overflowed"). Also there are 9 unresolved symbol errors (e.g. _ti_sysbios_family_c62_TaskSupport_swap__E in file :sysbios.lib).
I then changed the plaform to dsk6455 and it builds with no errors. Also, I changed the runtime support library to rts64pluse_elf.lib with plaform evm6457 and it built just fine. I have tried various things based on reading past forum posts and the C6000 EABI Migration wiki, but nothing seems to affect the errors. Then to complete the test I changed the output format to COFF and kept the platform as evm6457 and changed the runtime support library to rts64pluse_eh.lib and it builds with no errors.
I am wondering if there is something specific to the evm6457 platform and rts64pluse_elf_eh.lib that doesn't support ELF, or is there some property I'm failing to set?
Here are the particulars of my installation:
CCS Version 5.1.0.09000
C6000 BIOS6 6.32.5.54
C6000 Compiler Tools 7.3.1
C6000 IPC 1.23.5.40
C6000 XDCTools 3.22.4.46
Thanks,
Jeff Vernon