Raspberry Pi 3: Arm6 or Arm7?


#1

Hello all,
I’m working with an RPi 3, which according to this terminal command, has an Arm7 CPU:

cat /proc/cpuinfo

returns:

processor	: 0
model name	: ARMv7 Processor rev 5 (v7l)
BogoMIPS	: 38.40
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xc07
CPU revision	: 5

processor	: 1
model name	: ARMv7 Processor rev 5 (v7l)
BogoMIPS	: 38.40
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xc07
CPU revision	: 5

processor	: 2
model name	: ARMv7 Processor rev 5 (v7l)
BogoMIPS	: 38.40
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xc07
CPU revision	: 5

processor	: 3
model name	: ARMv7 Processor rev 5 (v7l)
BogoMIPS	: 38.40
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xc07
CPU revision	: 5

Based on this, I tried to install this version of openFrameworks:

http://openframeworks.cc/versions/v0.9.8/of_v0.9.8_linuxarmv7l_release.tar.gz

I downloaded the package, un-tarred it, downloaded all the dependencies, and when I tried to compile, I got an error saying that this was the wrong version of OF.

I repeated the process with the arm6 Version from here:

http://openframeworks.cc/versions/v0.9.8/of_v0.9.8_linuxarmv6l_release.tar.gz

And this time everything built ok, and i’m able to run some examples.

This is confusing, since my Pi has an arm7 CPU, but the arm6 version of OF is the one that works, not the arm7.

Anyone with insight into this?

-ali


#2

from the OF setup docs for raspberry pi at http://openframeworks.cc/setup/raspberrypi/:

On the Raspberry 2 although it’s architecture is arm7 raspbian only supports arm6 by now so be sure to download that version as is explained in the getting started guide. If you want to use arm7 binaries with the raspberry PI 2 you can try other distributions like archlinux or ubuntu core and the arm7 download of OF but this is still not very well tested so some changes might be required to the original install scripts.

Archlinux is what we use to test OF on the continuous integration servers for armv7 so it might be the easiest to setup if you want to use armv7


#3

Thank you @arturo

Is there a significant performance advantage to using arm7?

-ali


#4

depending on what you are doing, computer vision for exanple should be faster but playing back a video which is hardware accelarated should be pretty much the same


#5

Can one build ARMv6 version of OF on Raspberry Pi 3 that has ARMv8?
Can one compile ARMv6 binary on the device?
I’m considering to buy a Raspberry Pi 3, but I’m not sure if I should buy one that has ARMv7 or ARMv8. Would both work fine with OF v0.9.8?
Thanks!


#6

all rpi3 are arm8 but arm is backwards compatible so anything compiled for armv6 will run on an armv8 but not viceversa.


#7

Thanks. So I can compile and generate armv6 binary on RPi3 ?
In other words, Would I be able to create apps using http://openframeworks.cc/versions/v0.9.8/of_v0.9.8_linuxarmv6l_release.tar.gz
on RPi3?
Thank you very much. I just want to confirm this before I buy a product.


#8

yes that’s the default for all raspberry pi when using raspbian. the arm7 version works on raspberry pi as well but using archlinux instead


#9

Thank you :slight_smile:


#10

that’s because raspbian itself is compiled for armv6 while archlinux has versions for armv6 7 and 8