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.

TI-gcc for bare-metal is failing

I would like to integrate an existing ASM file in to my project. unfortunately i am getting  the error

"compile for little endian and target is big endian".

The lib provided by TI-GCC is compiled for little endian.

How/where do i get a lib which is compiled for bigendian?

  • Pradeep,

    What device are you on?  Many of our devices are Little Endian only.  Also the libraries are specific to the sub-family (Cortex M0/3/4, R4/5, A8/9/15...)

    John

  • Hi John,

    My target device is Hercules with R4. I have few ASM files with few prinfts in it which need to be integrated in to my project for Hercules.

    When i integrate the ASM files and compile as a whole project, the gcc linker throws the following error.

    c:/ti/ccsv6/ccsv6/tools/compiler/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/bin/ld.exe: c:/ti/ccsv6/ccsv6/tools/compiler/gcc-arm-none-eabi-4_7-2013q3/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/lib/armv7-ar/thumb/fpu\libc.a(lib_a-printf.o): compiled for a little endian system and target is big endian


    Thanks,

    Pradeep

  • Unfortunately, the only way to obtain the missing RTS library is to rebuild the entire GCC toolchain from source.  You can download the source and build instructions from here. If you want to build the exact version shipped with CCS v6, then use the toolchain named 4.7-2013-q3-update release from the 4.7 series.

    Thanks and regards,

    -George

  • Sorry, but I failed to mention you will have to tweak the process a bit to build the big endian libraries you need.  I don't have any expertise with that step.  This page appears helpful.

    Thanks and regards,

    -George