AnsweredAssumed Answered

Big / Little Endian mode (i.MX6Q SDP)

Question asked by jotes on Jul 3, 2013
Latest reply on Dec 27, 2013 by Niklas Molin

Hello everyone!


In i.MX 6Dual/6Quad Applications Processor Reference Manual I have found:

"i.MX 6Dual/6Quad supports Little Endian mode only."

as well as:

"The Cortex-A9 Core Platform supports little endian mode only. Big Endian is not

supported even though both modes are supported by the Cortex-A9 processor."


What does it mean in practice? Does it mean that i can't manually change endianness by "SETEND" command?


But when I try this code:

*(unsigned long *) 0x20000100 = 0;

*(unsigned long *) 0x20000200 = 0;


__asm volatile ("SETEND LE \n\t");

(*(unsigned long *) 0x20000100)++;


__asm volatile ("SETEND BE \n\t");

(*(unsigned long *) 0x20000200)++;


it seems that everything is ok (I mean value at 0x20000100 is in Little Endian mode and value at 0x20000200 is in Big Endian mode):

0x20000100:  00000001

0x20000200:  01000000