Part Number:AM5728
Tool/software: TI-RTOS
Hi,
we are trying to include PDK libraries compiled like COFF files to our application project for TI RTOS. libraries are:
"..\..\LIB\C66x\Include\ti.csl.a66"
"..\..\LIB\C66x\Include\ti.board.a66
"..\..\LIB\C66x\Include\ti.csl.a66"
"..\..\LIB\C66x\Include\ti.gpio.a66
We have compiled them with coff option in top rules.make. BUT when we try to link them in aplication like so:
C\bin\lnk6x --abi=coffabi -mv=6600 --stack_size=0x800 -g --heap_size=0x800 -i"..\..\TiCC\Include\lib" -i"..\..\TiCC\Include" --library="..\..\LIB\C66x\dsplib.a66" -i"..\..\LIB\C66x\Include" --reread_libs --define=CORE1=1 --diag_wrap=off --verbose_diagnostics --warn_sections --xml_link_info="..\..\Programs\MAP\%1_linkInfo.xml" --map_file="..\..\Programs\MAP\%1.map" --relocatable --compress_dwarf=off --strict_compatibility=off "..\..\LIB\C66x\C6000_dsp1.cmd" "..\..\Programs\LNK\%1.LLS" --library="..\..\LIB\C66x\Include\ti.csl.a66" --library="..\..\LIB\C66x\Include\ti.board.a66" -o "..\..\Programs\OUT\%1.out"
THIS hapens:
- Invoking: Ti C6x DSP Linker for "ADC_Mini"
warning: library "..\..\LIB\C66x\Include\ti.csl.a66" contains ELF object files which are incompatible with the TI-COFF output file. Ensure you are using the proper library.
warning: library "..\..\LIB\C66x\Include\ti.board.a66" contains ELF object files which are incompatible with the TI-COFF output file. Ensure you are using the proper library.
warning: library "..\..\LIB\C66x\Include\ti.csl.a66" contains ELF object files which are incompatible with the TI-COFF output file. Ensure you are using the proper library.
warning: library "..\..\LIB\C66x\Include\ti.gpio.a66" contains ELF object files which are incompatible with the TI-COFF output file. Ensure you are using the proper library.
regardles the fact that this is a warning, the symbols contained in the libraries are not linked. For example we use TI's gpio_init() function, in the application map we have :
UNDEFED _GPIO_init
This means that linker could not find symbol.Confirming this we have following warning:
..\..\lib\IO_Map.h", line 337: warning: relocation from function "MUL_task_INIT" to symbol "_GPIO_init" overflowed; the 31-bit relocated address 0xdaabf850 is too large to encode in the 21-bit signed PC-Relative field (type = 'R_C60PCR21' (82), file = "MUL.obj", offset = 0x00000008, section = ".text:_MUL_task_INIT")
GPIO_init();
My question is how do I get real COFF library files without any ELF stuff in them in PDK?
How is it possible that .a66 have ELF inside? Isn't it that .ae66 are elf ?