User avatar
bonzadog
Posts: 274
Joined: Wed Apr 25, 2012 9:40 am
Location: Rietberg/Germany

Jessie Arm6 - Arm7 ?

Thu May 12, 2016 12:31 pm

12.5.2016
At the risk of being naive and getting hammered - I would like to ask a question.
I tried installing openframeworks ARM7 on a RPi 2 and it failed, which I thought was strange since the RPi2 has a ARM7. But the ARV6 installation as successful.
This makes me think that Jessie is compiled for ARM6 so it can run on RPI old and RPi 2/3 without needing an extra image
for each of the different RPi, RPi2 and 3.

Is the correct?

What advantage would a ARM7 OS have on a RPi2/3. Can one then run programmes on different CPU's to split
CPU load? Multithreading improvement,perhaps? Speed improvement?
Will there be an ARM7 version?

Just one more , how can I determine which ARM is active via bash?


OK,That's my lot - look forward to hearing from you.
Any reading pointer most welcome.

User avatar
procount
Posts: 2569
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: Jessie Arm6 - Arm7 ?

Thu May 12, 2016 12:43 pm

Yes you are right - Raspbian is Armv6 at the moment for compatibility and ease of maintenance.
I didn't know openframeworks, so I googled and found this page which I think answers most of your questions:
http://openframeworks.cc/setup/raspberrypi/
(I can't answer your last question)
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

gkreidl
Posts: 6345
Joined: Thu Jan 26, 2012 1:07 pm
Location: Germany

Re: Jessie Arm6 - Arm7 ?

Thu May 12, 2016 1:08 pm

I have compiled and built quite a number of packages for ARMv7 and all of them work well on Raspbian (RPi 2/3 only).
Chromium has also been compiled for ARMv7 and works like a charm.
Minimal Kiosk Browser (kweb)
Slim, fast webkit browser with support for audio+video+playlists+youtube+pdf+download
Optional fullscreen kiosk mode and command interface for embedded applications
Includes omxplayerGUI, an X front end for omxplayer

User avatar
bonzadog
Posts: 274
Joined: Wed Apr 25, 2012 9:40 am
Location: Rietberg/Germany

Re: Jessie Arm6 - Arm7 ?

Thu May 12, 2016 2:24 pm

gkreidl wrote:I have compiled and built quite a number of packages for ARMv7 and all of them work well on Raspbian (RPi 2/3 only).
Chromium has also been compiled for ARMv7 and works like a charm.
Since Jessie is in ARMV6 (see above) I am surprised that ARMV7 worked. I have compiled numpy which went well - but whether that was in ARMV7 is now indeterminate. Anyway I installed anaconda ( https://www.continuum.io/downloads ) on my PC and RPi's and use that for Python.....in case you were interested.

Chromium is Google which stores all my browsing and other data ......no way would I ever uses Google Software!

gkreidl
Posts: 6345
Joined: Thu Jan 26, 2012 1:07 pm
Location: Germany

Re: Jessie Arm6 - Arm7 ?

Thu May 12, 2016 2:34 pm

bonzadog wrote:
gkreidl wrote:I have compiled and built quite a number of packages for ARMv7 and all of them work well on Raspbian (RPi 2/3 only).
Chromium has also been compiled for ARMv7 and works like a charm.
Since Jessie is in ARMV6 (see above) I am surprised that ARMV7 worked. I have compiled numpy which went well - but whether that was in ARMV7 is now indeterminate. Anyway I installed anaconda ( https://www.continuum.io/downloads ) on my PC and RPi's and use that for Python.....in case you were interested.

Chromium is Google which stores all my browsing and other data ......no way would I ever uses Google Software!
There's no reason why ARMv7 code should not work on Raspbian (if it is a RPi 2 or 3).
If you don't like chromium, take VLC, for example, (see my compilation tutorial.) The kodi 151. and 15.2 packages I have provided have also been compiled for ARMv7 and HandBrake as well.
Minimal Kiosk Browser (kweb)
Slim, fast webkit browser with support for audio+video+playlists+youtube+pdf+download
Optional fullscreen kiosk mode and command interface for embedded applications
Includes omxplayerGUI, an X front end for omxplayer

User avatar
bonzadog
Posts: 274
Joined: Wed Apr 25, 2012 9:40 am
Location: Rietberg/Germany

Re: Jessie Arm6 - Arm7 ?

Thu May 12, 2016 4:35 pm

There's no reason why ARMv7 code should not work on Raspbian (if it is a RPi 2 or 3).
Well , I am puzzled about openframeworks ARM7 doesn't compile but the ARMV6 does. I assume that a test is made if the system has A6 and if not then exits.

If you don't like chromium, take VLC, for example, (see my compilation tutorial.) The kodi 151. and 15.2 packages I have provided have also been compiled for ARMv7 and HandBrake as well.[/quote]


When you compile how do you know whether Arm6 or Arm7 is being used.? Probably A7 system calls to a V6 system would be compatible.

User avatar
jojopi
Posts: 3536
Joined: Tue Oct 11, 2011 8:38 pm

Re: Jessie Arm6 - Arm7 ?

Thu May 12, 2016 9:19 pm

The binary packages and libraries in Raspbian are compiled for ARMv6, so that they work on Pi 1 and Zero. The included compilers also produce ARMv6 code by default.

You can tell the Raspbian compiler to build for ARMv7 using flags such as -march=armv7-a. The resulting programs will run on Raspbian, provided you use a Pi 2 or 3. (The Foundation's Raspbian images include a separate Linux kernel, /boot/kernel7.img, which loads on the appropriate models.)

However, openFrameworks' build process specifically checks if it is running on Raspbian, and artificially refuses to make an ARMv7 version. That is clearly intentional, and from looking at their github it seems they stopped supporting the configuration because of "issues with the std library for threading with armv7" in Raspbian, rather than not knowing that Pi 2 exists.

The issue, I think, is the same one that is discussed at http://stackoverflow.com/questions/2358 ... ion-called. GCC implements different atomic primitives between ARMv6 and v7, and this causes libstdc++ to use a different default lock policy. The ABI of C++ std::thread is then subtly different, so the inline parts are incompatible with the library parts, if an application is compiled for ARMv7 and the distribution for v6, or vice versa.

Most programs will not be affected by this issue. It is normally fine to link ARMv6 and v7 code, and the arm-linux-gnueabihf ABI is supposed to be the same. There are also workarounds, so you could probably get ARMv7 openFrameworks running on Raspbian if you really needed to. I would test it on a v7 distribution first, to see if there is much benefit.

Return to “Raspberry Pi OS”