On Fri, Jan 9, 2015 at 1:37 PM, Andreas Ladanyi <andreas.lada...@gmx.net> 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
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio