|
From: | Brad Hein |
Subject: | Re: [Discuss-gnuradio] Raspberry Pi 3 / Error: selected processor does not support ARM mode |
Date: | Wed, 9 May 2018 14:33:00 -0400 |
Hi Brad,
to jump in and clarify what Phil probably could've said in a lot fewer
words, but for didn't ;) :
Philip is an OpenEmbedded Guru of ancient fame. Basically, OpenEmbedded
is a system to build your own linux distros, by defining what
compilers, libraries, and tools to include in the base image.
It's what whoever built the Linux system in your car entertainment box,
your industrial control or USRP E310 might have been using to get Linux
and their software running on the boxes they're selling.
The idea is that you build yourself a full system image and tooling,
including an SDK that you can use to cross-compile software for the
target system (in your case, the pi), on your workstation.
A BSP is a board support package, and contains what is necessary to
know how build a correctly working kernel and base system. The meta-
raspberrypi thing is essentially the base system, atop of which you can
add packages (such as GNU Radio) to be compiled exactly for your
hardware.
Best regards,
Marcus
On Tue, 2018-05-08 at 23:58 -0400, Brad Hein wrote:
> I don't follow... but I look forward to reading your blog post when it is available.
>
> On Tue, May 8, 2018 at 6:37 PM, Philip Balister <address@hidden> wrote:
> > On 05/08/2018 04:13 PM, Brad Hein wrote:
> > > Hi Philip,
> > >
> > > How do I go a out trying an alternative as you suggest?
> >
> > I have a note to do a blog post on building an aarch64 image with
> > OpenEmbedded, but paying work is interfering. It is fairly straight
> > forward the meta-raspberrypi bsp is very good.
> >
> > Philip
> >
> > >
> > > Thanks!
> > >
> > > [Sent from mobile device]
> > >
> > > On Tue, May 8, 2018, 6:07 PM Philip Balister <address@hidden> wrote:
> > >
> > >> I'm not that familiar wit Raspian, but my impression is that it is
> > >> binary compatible with the original Pi, which has no neon support. The
> > >> volk code didn't handle this gracefully until recently.
> > >>
> > >> That said, The Pi 3 does support neon and better. For the Pi-3, I'd use
> > >> something built to take advantage of the better processor.
> > >>
> > >> Philip
> > >>
> > >>
> > >> On 05/08/2018 11:08 AM, Brad Hein wrote:
> > >>> On a new Raspberry Pi 3, running Raspbian, all apt-get package updates
> > >>> loaded, I'm encountering an error compiling gnuradio (branch: master). I
> > >>> made one modification from the default source code, and that is the
> > >> neonasm
> > >>> patch to fix a different compile error with a missing instruction on the
> > >>> Pi.
> > >>>
> > >>> Has anybody encountered the ARM mode error mentioned below or know what I
> > >>> can do to push past it?
> > >>>
> > >>>
> > >>> $ git diff HEAD~1
> > >>> diff --git
> > >>> a/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_a_neonasm_ opts.s
> > >>> b/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_a_neonasm_ opts.s
> > >>> index e4002b8..37dcd75 100644
> > >>> --- a/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_a_neonasm_ opts.s
> > >>> +++ b/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_a_neonasm_ opts.s
> > >>> @@ -43,7 +43,12 @@ volk_32f_x2_dot_prod_32f_a_neonasm_opts:
> > >>> vadd.f32 s15, s15, s13
> > >>> vadd.f32 s15, s15, s14
> > >>> bls .done @ if vector is multiple of 16 then finish
> > >>> - sbfx r11, r1, #2, #1 @ check alignment
> > >>> +@ BH
> > >>>
> > >> https://lists.gnu.org/archive/html/discuss-gnuradio/2016-01/ msg00234.html
> > >>> address@hidden sbfx r11, r1, #2, #1 @ check alignment
> > >>> + mov r11,#0
> > >>> + tst r1,#4
> > >>> + movne r11,#15
> > >>> +# BH END OF PATCH
> > >>> rsb r9, r8, r3
> > >>> and r11, r11, #3
> > >>> mov r6, r1
> > >>>
> > >>>
> > >>>
> > >>> $ cat /etc/debian_version
> > >>> 8.0
> > >>>
> > >>>
> > >>> $ uname -a
> > >>> Linux redwave 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l
> > >>> GNU/Linux
> > >>>
> > >>> $ gnuradio branch: master (82d0a6b)
> > >>> * 82d0a6b -(4 weeks ago) gr-newmod: Pylint fixes in python scripts .
> > >>> Swapnil Negi (HEAD, origin/master, origin/HEAD, master)
> > >>>
> > >>>
> > >>>
> > >>> Error output follows:
> > >>>
> > >>> [ 0%] Building C object
> > >>> volk/lib/CMakeFiles/volk_obj.dir/volk_machine_neon_hardfp_ orc.c.o
> > >>> In file included from
> > >>> /home/pi/gr/gnuradio/build/volk/lib/volk_machine_neon_ hardfp_orc.c:130:0:
> > >>> /home/pi/gr/gnuradio/volk/kernels/volk/volk_32fc_s32fc_ multiply_32fc.h:
> > >> In
> > >>> function ‘volk_32fc_s32fc_multiply_32fc_neon’:
> > >>>
> > >> /home/pi/gr/gnuradio/volk/kernels/volk/volk_32fc_s32fc_ multiply_32fc.h:282:16:
> > >>> warning: unused variable ‘cPtr’ [-Wunused-variable]
> > >>> lv_32fc_t* cPtr = cVector;
> > >>> ^
> > >>> /tmp/ccWuy8Qj.s: Assembler messages:
> > >>> /tmp/ccWuy8Qj.s:7707: Error: selected processor does not support ARM mode
> > >>> `rbit r4,r4'
> > >>> /tmp/ccWuy8Qj.s:7718: Error: selected processor does not support ARM mode
> > >>> `rbit r4,r4'
> > >>> /tmp/ccWuy8Qj.s:7725: Error: selected processor does not support ARM mode
> > >>> `rbit r4,r4'
> > >>> /tmp/ccWuy8Qj.s:7732: Error: selected processor does not support ARM mode
> > >>> `rbit r4,r4'
> > >>> /tmp/ccWuy8Qj.s:7740: Error: selected processor does not support ARM mode
> > >>> `rbit r4,r4'
> > >>> /tmp/ccWuy8Qj.s:7747: Error: selected processor does not support ARM mode
> > >>> `rbit r4,r4'
> > >>> /tmp/ccWuy8Qj.s:7754: Error: selected processor does not support ARM mode
> > >>> `rbit r4,r4'
> > >>> /tmp/ccWuy8Qj.s:7761: Error: selected processor does not support ARM mode
> > >>> `rbit r4,r4'
> > >>> /tmp/ccWuy8Qj.s:7789: Error: selected processor does not support ARM mode
> > >>> `rbit ip,ip'
> > >>> volk/lib/CMakeFiles/volk_obj.dir/build.make:2572: recipe for target
> > >>> 'volk/lib/CMakeFiles/volk_obj.dir/volk_machine_neon_hardfp_ orc.c.o'
> > >> failed
> > >>> make[2]: ***
> > >>> [volk/lib/CMakeFiles/volk_obj.dir/volk_machine_neon_hardfp_ orc.c.o]
> > >> Error 1
> > >>> CMakeFiles/Makefile2:178: recipe for target
> > >>> 'volk/lib/CMakeFiles/volk_obj.dir/all' failed
> > >>> make[1]: *** [volk/lib/CMakeFiles/volk_obj.dir/all] Error 2
> > >>> Makefile:160: recipe for target 'all' failed
> > >>> make: *** [all] Error 2
> > >>>
> > >>>
> > >>>
> > >>> _______________________________________________
> > >>> Discuss-gnuradio mailing list
> > >>> address@hidden
> > >>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> > >>>
> > >>
> > >
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Prev in Thread] | Current Thread | [Next in Thread] |