ARM on ARM

Started by dmilligan, January 06, 2017, 10:54:48 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

dmilligan

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:
Quote from: a1ex on January 06, 2017, 02:37:21 AM
I'm running a derivative of it on Axiom Beta (ARM processor, Arch Linux).

There are some ARM tablets running Linux as well.

a1ex

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?