Byte order (32-bit mode only)
In the little-endian byte order, which is default, the least significant byte is stored at the lowest address in memory. The most significant byte is stored at the highest address.
In the big-endian byte order (can only be selected in 32-bit mode), the most significant byte is stored at the lowest address in memory. The least significant byte is stored at the highest address. If you use the big-endian byte order, it might be necessary to use the #pragma bitfields=reversed directive to be compatible with code for other compilers and I/O register definitions of some devices, see Bitfields.
Note
There are two variants of the big-endian mode, BE8 and BE32, which you specify at link time. In BE8 data is big-endian and code is little-endian. In BE32 both data and code are big-endian. In architectures before v6, the BE32 endian mode is used, and after v6 the BE8 mode is used. In the v6 (Arm11) architecture, both big-endian modes are supported.