[Cerowrt-devel] Why we are discussing ARM [was: Cross-compiling to armhf]
Jonathan Morton
chromatix99 at gmail.com
Thu Jun 23 22:37:05 EDT 2016
> On 24 Jun, 2016, at 03:02, Juliusz Chroboczek <jch at pps.univ-paris-diderot.fr> wrote:
>
> Raspberry Pi: doesn't run armhf userspace, no wifi, eth connected by USB;
> Raspberry Pi v2/v3: requires binary blobs, wifi and eth connected over USB;
Actually, the only substantial difference between the first R-Pi and the second is one ARM1176JZF-S core (ARMv6 with an FPU) versus four Cortex-A7s (ARMv7-A with FPU and SIMD).
They can both run armhf userspace, as we were just discussing, and they can both have external wifi attached via USB. What the first version *can’t* do is run ARMv7 code - which isn’t very much of a difference, honestly. There is a big performance jump though.
The third, current version gets four Cortex-A53s (which support AArch64 as well as 32-bit code) and includes a built-in wifi radio attached via SDIO. Otherwise, it’s identical to the second version. I haven’t got one of these yet. I’m told that all the official R-Pi distros remain 32-bit for compatibility with the older versions, but that’s not a concern if you’re rolling your own.
They also *all* require a binary blob to bootstrap the chip. Apparently Broadcom’s SoC architecture puts the GPU - which occupies the lion’s share of the die area - in charge of boot, with the CPU subordinate. In fact the original R-Pi’s chip was designed as an independent embedded-class GPU, with its ARM core provided as a mere command translator! Needless to say, the GPU hardware goes woefully underutilised, but is retained in the newer versions to preserve compatibility.
I agree however that none of the R-Pis make good routers at the performance levels we want. They just don’t have the right kind of I/O: we need direct or PCIe attachment of Ethernet and wifi MACs, not USB and SDIO.
- Jonathan Morton
More information about the Cerowrt-devel
mailing list