This shows you the differences between two versions of the page.
— |
rpi-gcc [2020-05-18 02:43:04] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== GnuRadio, Volk and RaspberryPi 2 ====== | ||
+ | |||
+ | Currently, package raspi-copies-and-fills breaks stuff for ARMv7! Remove it, or udevd, getty and others won't work! | ||
+ | |||
+ | * https://github.com/systemd/systemd/issues/8991 | ||
+ | * https://raspberrypi.stackexchange.com/questions/72594/failed-to-start-udev-kernel-device-manager | ||
+ | * https://bugs.launchpad.net/raspbian/+bug/1779563 | ||
+ | * https://bugs.launchpad.net/raspbian/+bug/1573473 | ||
+ | ===== 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' ===== | ||
+ | |||
+ | No, it does. You have broken compiler. | ||
+ | |||
+ | |||
+ | Currently, the same Raspbian is distributed for ARMv6 RaspberryPi 1 and ARMv7 RaspberryPi 2. This means that all packages are compiled --with-arch=armv6 --with-fpu=vfp. However, this also means, that gcc assembler does not support some NEON instructions even when --mfpu=neon is set (no idea why). | ||
+ | |||
+ | You need gcc compiled with --with-arch=armv7-a --with-fpu=vfpv3-d16. For example from stock armhf Debian. | ||
+ | |||
+ | I have edited /etc/apt/sources.list so now it reads: | ||
+ | <code> | ||
+ | deb http://merlin.fit.vutbr.cz/debian/ jessie main contrib non-free | ||
+ | deb-src http://merlin.fit.vutbr.cz/debian/ jessie main | ||
+ | |||
+ | deb http://security.debian.org/ jessie/updates main | ||
+ | |||
+ | deb http://merlin.fit.vutbr.cz/debian/ jessie-updates main | ||
+ | </code> | ||
+ | (of course pick a mirror that is in your network) | ||
+ | |||
+ | Maybe you should also change /etc/apt/sources.list.d/raspi.list to get Jessie. | ||
+ | |||
+ | apt-get update, apt-get install debian-archive-keyring, apt-get update | ||
+ | |||
+ | apt-get dist-upgrade, apt-get install gcc-4.9 gcc-4.9-base libgcc-4.9-dev libgcc1 gcc | ||
+ | |||
+ | (oh and dpkg -l | grep gcc and remove old gccs) | ||
+ | |||
+ | Continue with [[:gnuradio]]. | ||