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.

CCS/TMS570LC4357: CCS7 Does not match the target endianness

Part Number: TMS570LC4357
Other Parts Discussed in Thread: RM57L843

Tool/software: Code Composer Studio

Hi, 

I have similar problem to https://e2e.ti.com/support/microcontrollers/hercules/f/312/p/422395/1508696 

CortexR5: GEL Output: Memory Map Setup for Flash @ Address 0x0CortexR5: GEL: File: C:\Users\jdrewniak\workspace\TMS570\SOFT\hercules\build\hercules.elf Does not match the target endianness, not loaded. Check project build options and target configuration file (ccxml).
CortexR5: GEL: File: C:\Users\jdrewniak\workspace\TMS570\SOFT\hercules\build\hercules.elf Does not match the target endianness, not loaded. Check project build options and target configuration file (ccxml).

 

CPSR:E bit is set to big-endian

General->Advanced->Device endianness is set to little ( but I can tell this don't change .ccxml )

How to force CCS to change endianness of hercules and flash it. 

 

 

  • You can't change a TMS570LC4357 to little endian. It's fixed to operate in Big Endian mode.
    So you need to change your project setting General->Advanced->Device Endianess to 'be32'.

    There may be other options that need to flip as well because of this; but I haven't noticed this recently.
    In the past I think you also may have had to change the endian option on the linker tab.. anyway try
    first just changing that one option to 'be32'.
  • Ok, so hercules doesn't support little endian. 

    With CCS I have got ccsv7\tools\compiler\gcc-arm-none-eabi-4_9-2015q3 . Does TI provide this compiler with libgcc.a and libc.a for big endian?

    I want to use hercules with  ti\Hercules\Cortex-R4 CMSIS DSP Library but this math lib requires big-ended libgcc.a and libc.a

  • Jacek,

    TI currently doesn't support the combination of Hercules + GCC at all regardless of endian.  This might be buried in the release notes for CCS...   GCC is included in CCS for the other ARM targets like the Cortex A and M.

    If you want to work with GCC instead of the TI ARM compiler you need to either self support - in which case I think you've found the biggest issue which is with the runtime libraries that don't just 'recompile' to big endian.    Or you can go to one of the companies that provides commercial support for GCC  (Atollic and Mentor Graphics come to mind).

    Now, a few minor points:

       - you should be able to still use CCS as an IDE (with built in flash download, debug, and trace support) with any compiler that produces an EABI object file.   So you are not necessarily having to give up CCS's IDE but I think you understand this.


       - There is an RM57L843 that is almost the same device as TMS570LC4357.   There differences are:

             RM57L is little endian.  

             It's operating conditions are industrial rather than automotive:  

                       slightly higher max freq. 

                       slightly reduced temp range

                        not Q100 qualified.

             RM57L doesn't have FlexRay

    If you can live with those differences maybe the RM57L is a better fit for you.

    -Anthony