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.
Hi,
I am trying to build my project (an ELF relocatable dll) with CCSv5, using the fastRTS lib but it throws a linker error:
<Linking>
error: file "C:/ti/c67xmathlib_2_01_00_00/lib/c67xfastMath_elf.lib<log2sp.obj>"
>> Compilation failure
expects 8-byte alignment of arrays, but previous files align arrays to 4
bytes
error: file
"C:/ti/ccsv5/tools/compiler/c6000_7.4.6/lib/rts67plus_elf.lib<errno.obj>"
aligns arrays to 4 bytes, but previous files expect arrays to be aligned to
8 bytes
I assume the lib was built with 8bytes alignment, whereas my project requires 4bytes.
Is it possible to rebuild it with a different struct alignment, and if so...HOW?
cheers
Ok,
found the solution to this particular problem:
1- import the lib project in CCS
2- select the build configuration needed (what is the difference between C67p_elf and C67x_elf???)
3- tick the --target_compatibility_6200 under the Runtime Model Option
4- rebuild
5- link in the project the new lib and update the search path.
The project buids and links ok, however it does not pipeline...(but I will open a new thread for this one)
Using --target_compatibility_6200 just doesn't seem correct to me. But I don't fully understand this yet.
In my experiments, rebuilding the library with a recent compiler version (I used v7.4.4) fixes the problem. I did not use --target_compatibility_6200. I have a guess or two about why that is, but I'm not sure of it yet.
Marcello Gagliardi said:what is the difference between C67p_elf and C67x_elf?
C67x refers to the C6700 family of devices. C67p refers to the C6700+ family of devices.
Thanks and regards,
-George
Hi George,
I confirm that even without that option ticked the library links fine.
Thanks , for pointing that out!