6

I have an application that I'm writing on a little endian x86 system, but I would like to test it on a big endian processor to ensure compatibility. I understand that the ARM processor can go big endian or little endian, but by default the Raspberry Pi is little endian. Is there a big endian distribution/operating system available? If not, what am I looking at to construct one? Is it possible with the Raspberry Pi?

Thanks!

  • Not all "big endian"s are created equal, ARM as a company supports two different big endian modes (mutually exclusive as far as I know, cores either support one or the other) BE32 and BE8, either 32 bit invariant (the older arms) and 8 bit invariant. the raspberry pi will support one or the other, as far as getting a working distro, good luck... – old_timer Jun 4 '13 at 19:17
1

There's an Endianness option in Target Options, you may select and change when building a new kernel for your device. I haven't tried it myself, but it just might work.

Unfortunately, I don't know of any precompiled big-endian distributions for ARM. However, there's an article "Building a Big Endian ARM Cross Compiler Toolchain", a bit outdated, but still useful.

  • I am facing the same thing, but I can't find the Target Options within the menuconfig of the arm itself. If I am building the cross compiler itself I can select it, but it seems to make no difference. – CSchulz Jul 23 '13 at 21:46
0

I have built a big endian tool chain, a big endian kernel using buildroot to no avail. Something tells me that the bootloader must set the processor in big endian mode before it jumps to the kernel, but the bootloaders are closed. Maybe its not a bad idea to consider uboot...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.