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: CCS 10 target status displays "BE8" for a TMS570LC4357, rather than "BE32"

Part Number: TMS570LC4357

Tool/software: Code Composer Studio

As part of the investigation into the related question about trying to rebuild the GNU ARM toolchain to add big-endian run time libraries to support the TMS570LC4357 device noticed some discrepancies about if this Cortex-R5F device is "BE8" or "BE32":

1. The TMS570LC4357 datasheet says "This device is BE32, or word invariant big endian".

2. When a new project is created for a TMS570LC4357 in CCS 10 using the TI compiler in the project properties under General -> Project type and tool chain -> Device endianness is "be32".

3. Yet, when the CCS debugger is attached to a TMS570LC4357 using a XDS110 the Target Status view reports "BE8", rather than "BE32":

4. Based upon the above Target Status I went to look at the ARM Cortex-R documentation to try and find which status bits indicate if the device is "BE8" or "BE32".

However, according to the Cortex-R5 Technical Reference Manual :

The processor supports byte-invariant big-endianness BE-8 and little-endianness LE. The processor does not support word-invariant big-endianness BE-32.

Given the above from the ARM Cortex-R4 Technical Reference Manual about a Cortex-R5 not supporting BE32, I am now not sure which of the conflicting information is correct.

Is there a bug in the CCS target status, or have I misunderstood the documentation?

  • Hello Chester,

    The Cortex-R5F only supports BE-8 by default and not BE-32. However, TI has implemented additional logic in the buses/interfaces so that it appears as BE-32 to users. This was done for legacy/compatibility reasons.