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.

fastRTS Lib alignment

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!