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: Tech
Subject: Re: [Discuss-gnuradio] Compiling GNURadio on BananaPI
Date: Fri, 9 Jan 2015 17:29:04 -0500

I think when I built it I used:

cmake -DCMAKE_CXX_FLAGS="-mcpu=cortex-a7 -mfpu=neon-vfpv4
-mtune=cortex-a7 -funsafe-math-optimizations" ../ -Wno-dev

I also had to enable swap space because the bpi doesn't have enough
memory for some of the compile stages:

sudo dd if=/dev/zero of=/sata/swapfile bs=1024 count=1024k
sudo mkswap /sata/swapfile
sudo swapon /sata/swapfile
free -m

Thanks

On Fri, Jan 9, 2015 at 5:16 PM, Arturo Rinaldi <address@hidden> wrote:
> 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
>
>
>
> _______________________________________________
> 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]