Author Topic: ARM on ARM  (Read 2539 times)


  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
« on: January 06, 2017, 10:54:48 PM »
Recently I acquired a Raspberry Pi 3. was thinking of maybe using it for ML development, question is how to setup the toolchain. Can I just use the built in gcc somehow? Or will I need to compile it (sounds hard and time consuming, probably beyond the amount of spare time I have)? Or maybe there's prebuilt option that I can use? I don't have a lot of expertise on all the ABI stuff and differences between gcc versions/configurations.

This post made me think a1ex was maybe already doing this:
I'm running a derivative of it on Axiom Beta (ARM processor, Arch Linux).

There are some ARM tablets running Linux as well.


  • Administrator
  • Hero Member
  • *****
  • Posts: 12564
Re: ARM on ARM
« Reply #1 on: January 06, 2017, 11:21:10 PM »
RPi 3 is ARMv8; looks like it's not exactly backwards compatible (e.g. no coprocessors).

RPi 2 is Cortex-A7 (ARMv7-A&R); very close to DIGIC 6 (Cortex R4). Could be used to understand how to write self-modifying code (the current issue).

RPi 1 is ARMv6; not very interesting for us.

DIGIC 2 to 5 appears to use ARMv5 (ARM946E-S), with some extensions borrowed from newer versions (e.g. WFI, see the arm946eos definition from QEMU).

Didn't try to compile ML from another ARM machine. Could be useful for debugging or optimizing some code sequences (low-level stuff), but other than that, I'm not sure what advantages it would bring over a x86 machine.

Maybe try compiling a simple module with regular gcc?