[ECOS] Endianness of the XScale

Mark Salter msalter@redhat.com
Wed Aug 4 18:25:00 GMT 2004

>>>>> Krishna Ganugapati writes:

> Hello Mark, Thanks for the quick response.
> Could you clarify the first part?

> Endianness in the XScale only applies to data fetches. All instruction
> opcode fetches are always little endian irrespective of whether the machine
> configured BE or LE

> is the above accurate?

No, I don't think it is accurate. Endianess on a 32-bit ARM really only
comes into play when accessing 8-bit or 16-bit data. Instructions are
always fetched as 32-bit objects. I think that opcodes and data are
stored in memory in the same endianess. For instance, RedBoot may copy
flash driver routines from flash to RAM and run them from RAM. This
copy is done as data loads and stores. No byte swapping necessary
regardless of endianess. Also, the compiler will embed some data
along with the opcodes. That data and the opcodes around it all appear
to be stored in the same endianess.

As I said. I can load/flash a new redboot.bin on IXDP425 without doing
any byte swapping as long as the running RedBoot and the new RedBoot
are the same endianess. 


Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

More information about the Ecos-discuss mailing list