According to the product documentation, the device should be running in BE-32 mode.
However, CCS v4.1 (with XDS100v2) shows "ARM | BE8 | SPV" when I connect.
Why is this, and should I build code using the BE8 or BE32 option for this target?
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.
According to the product documentation, the device should be running in BE-32 mode.
However, CCS v4.1 (with XDS100v2) shows "ARM | BE8 | SPV" when I connect.
Why is this, and should I build code using the BE8 or BE32 option for this target?
Anthony,
all TMS570 at the moment support big endian. The format that is supported is BE-32. The target status shown in CCS4.1 seems to be wrong. This issue is already known and should be fixed already.
I forwarded your observation to the s/w department and asked for a fix, in order to make CCS4.1 display the correct endianism.
Said this you should use the BE-32 linker option to generate code for the TMS570.
Is this answering your question?
Best Regards,
Christoph
Hi Anthony,
Can you open the expression view and enter REG_ENDIAN and see what the value is?
The status indicator uses these values to indicate the endianess of your target:
1) (REG_ENDIAN & 0x3) == 0 => LE
2) (REG_ENDIAN & 0x3) == 1 => BE8
3) (REG_ENDIAN & 0x3) == 2 => BE
Regards,
Patrick
Patrick,
I wasn't sure about the expression view - didn't see any menu item with this name.
But if I type in the 'Watch' window the name "REG_ENDIAN" it returns the value of 0x0000001.
If this value originates from a register inside the Cortex-R4F then it is possible that it would read BE-8,
because the endian correction to BE-32 (ARM7TDMI compatible BE) is done outside the CPU on
the TMS570 family.
Best Regards,
Anthony