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: Andreas Ladanyi
Subject: Re: [Discuss-gnuradio] Compiling GNURadio on BananaPI
Date: Fri, 09 Jan 2015 22:52:58 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0


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




reply via email to

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