discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Compiling GNURadio on BananaPI


From: Arturo Rinaldi
Subject: Re: [Discuss-gnuradio] Compiling GNURadio on BananaPI
Date: Fri, 9 Jan 2015 23:16:35 +0100

Instead of building on the board itself, wouldn't be better to compile the source code on your working machine by exporting the toolchain compilers by means of a simple script ?

2015-01-09 22:52 GMT+01:00 Andreas Ladanyi <address@hidden>:

On Fri, Jan 9, 2015 at 1:37 PM, Andreas Ladanyi <address@hidden> wrote:
I must correct a detail. The datasheet tells me that bananapi has a
Cortex-A7.

cat /proc/cpuinfo:

Processor    : ARMv7 Processor rev 4 (v7l)
processor    : 0
BogoMIPS    : 1431.55

processor    : 1
BogoMIPS    : 1436.46

Features    : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva
idivt
CPU implementer    : 0x41
CPU architecture: 7
CPU variant    : 0x0
CPU part    : 0xc07
CPU revision    : 4

Hardware    : sun7i
Revision    : 0000
Serial        : 0481019f5254484880485783165166d2


Hi,

iam trying to compile GNURadio with the build-gnuradio script. Iam running a
BananaPi (armv7 / cortex-a9) with the last raspian image for the Pi.

The building process showed me two error messages. One message was that
cmake is below 2.8.10. So i compiled and installed the last cmake 3.1 from
source. The message is gone.

When gnuradio is building i get this message:

Scanning dependencies of target volk
[  2%] Building ASM object
volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s.o
[  2%] Building ASM object
volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_x2_dot_prod_32fc_neonasm.s.o
[  2%] Building ASM object
volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_x2_dot_prod_32fc_neonasm_opttests.s.o
[  2%] Building ASM object
volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasm.s.o
[  2%] Building ASM object
volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_s32f_multiply_32f_neonasm.s.o
[  2%] Building ASM object
volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_unrollasm.s.o
[  2%] Building ASM object
volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_16i_max_star_horizontal_16i.s.o
[  2%] Building ASM object
volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_add_32f_a_neonasm.s.o
[  2%] Building ASM object
volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmvmla.s.o
[  2%] Building ASM object
volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_add_32f_a_neonpipeline.s.o
[  3%] Building ASM object
volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o
/home/bananapi/gnuradio/gnuradio/volk/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s:
Assembler messages:
/home/bananapi/gnuradio/gnuradio/volk/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s:46:
Error: selected processor does not support ARM mode `sbfx r11,r1,#2,#1'
volk/lib/CMakeFiles/volk.dir/build.make:1519: recipe for target
'volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o'
failed
make[2]: ***
[volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o]
Error 1
CMakeFiles/Makefile2:164: recipe for target
'volk/lib/CMakeFiles/volk.dir/all' failed
make[1]: *** [volk/lib/CMakeFiles/volk.dir/all] Error 2
Makefile:147: recipe for target 'all' failed
make: *** [all] Error 2
make failed


I found the "native compiling" part at
http://gnuradio.org/redmine/projects/gnuradio/wiki/Embedded and tried out:

cmake [other options] -DCMAKE_C_FLAGS="-march=armv7-a -mthumb-interwork
-mfloat-abi=hard -mfpu=neon -mtune=cortex-a9"
-DCMAKE_ASM_FLAGS="-march=armv7-a -mthumb-interwork -mfloat-abi=hard
-mfpu=neon" <source dir>


The result is:

[  1%] Building ASM object
volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o
/home/bananapi/gnuradio/gnuradio/volk/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s:
Assembler messages:
/home/bananapi/gnuradio/gnuradio/volk/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s:46:
Error: selected processor does not support ARM mode `sbfx r11,r1,#2,#1'
volk/lib/CMakeFiles/volk.dir/build.make:1519: recipe for target
'volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o'
failed
make[2]: ***
[volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o]
Error 1
CMakeFiles/Makefile2:164: recipe for target
'volk/lib/CMakeFiles/volk.dir/all' failed
make[1]: *** [volk/lib/CMakeFiles/volk.dir/all] Error 2
Makefile:147: recipe for target 'all' failed
make: *** [all] Error 2



Any ideas ?

cheers,
Andreas

I don't know that it's a definite fix for this, but I was going to
suggest making sure the tune settings fit your processor. If that's
not the case we can look around for a suitable change. Keep us
updated.

Nathan

Hi Nathan,

cmake ../ -DCMAKE_C_FLAGS="-march=armv7 -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a7" -DCMAKE_ASM_FLAGS="-march=armv7 -mthumb-interwork -mfloat-abi=hard -mfpu=neon

results in the message:

Scanning dependencies of target volk
[  2%] Building ASM object volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmpipeline.s.o
[  2%] Building ASM object volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_x2_dot_prod_32fc_neonasm.s.o
[  2%] Building ASM object volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_x2_dot_prod_32fc_neonasm_opttests.s.o
[  2%] Building ASM object volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasm.s.o
[  2%] Building ASM object volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_s32f_multiply_32f_neonasm.s.o
[  2%] Building ASM object volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_unrollasm.s.o
[  2%] Building ASM object volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_16i_max_star_horizontal_16i.s.o
[  2%] Building ASM object volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_add_32f_a_neonasm.s.o
[  2%] Building ASM object volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32fc_32f_dot_prod_32fc_a_neonasmvmla.s.o
[  2%] Building ASM object volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_add_32f_a_neonpipeline.s.o
[  3%] Building ASM object volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o
/home/bananapi/gnuradio_src/gnuradio/volk/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s: Assembler messages:
/home/bananapi/gnuradio_src/gnuradio/volk/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s:46: Error: selected processor does not support ARM mode `sbfx r11,r1,#2,#1'
volk/lib/CMakeFiles/volk.dir/build.make:1519: recipe for target 'volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o' failed
make[2]: *** [volk/lib/CMakeFiles/volk.dir/__/kernels/volk/asm/neon/volk_32f_x2_dot_prod_32f_neonasm_opts.s.o] Error 1
CMakeFiles/Makefile2:164: recipe for target 'volk/lib/CMakeFiles/volk.dir/all' failed
make[1]: *** [volk/lib/CMakeFiles/volk.dir/all] Error 2
Makefile:147: recipe for target 'all' failed
make: *** [all] Error 2

Is it possible that ARM isnt supported in volk  ?

Error: selected processor does not support ARM mode `sbfx r11,r1,#2,#1'


Andreas



_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


reply via email to

[Prev in Thread] Current Thread [Next in Thread]