Hi Forum,
I am attempting to learn to use the PRU on the BBB. I have ubuntu-armhf 3.8.13-bone30 kernel with gcc-armhf 3.8.13-bone30 compiler installed.
I am following the instructions from ECE497 BeagleBone PRU at
http://elinux.org/ECE497_BeagleBone_PRU#Building_and_Running_the_GPIO_PWM_PRU_Example
However, when I try to compile the example I get an error message about VFP. My system is reported as “soft”.
ubuntu@ubuntu-armhf:~$ gcc -print-multi-lib
.;
sf;@mfloat-abi=soft
What is the problem and what should I do to resolve it?
Thanks
Stuart
ubuntu@ubuntu-armhf:~$ git clone git://github.com/millerap/AM335x_PRU_BeagleBoneCloning into ‘AM335x_PRU_BeagleBone’…
remote: Reusing existing pack: 111, done.
remote: Total 111 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (111/111), 248.41 KiB | 131.00 KiB/s, done.
Resolving deltas: 100% (34/34), done.
Checking connectivity… done
ubuntu@ubuntu-armhf:~$ cd AM335x_PRU_BeagleBone/GPIO_PWM_PRU/interface
ubuntu@ubuntu-armhf:~/AM335x_PRU_BeagleBone/GPIO_PWM_PRU/interface$ export CROSS_COMPILE=""
ubuntu@ubuntu-armhf:~/AM335x_PRU_BeagleBone/GPIO_PWM_PRU/interface$ make
gcc -I. -Wall -I…/include -c -g -O0 -D__DEBUG -o debug/prussdrv.o prussdrv.c
ar rc …/lib/libprussdrvd.a debug/prussdrv.o
ubuntu@ubuntu-armhf:~/AM335x_PRU_BeagleBone/GPIO_PWM_PRU/interface$ cd …/utils/pasm_source
ubuntu@ubuntu-armhf:~/AM335x_PRU_BeagleBone/GPIO_PWM_PRU/utils/pasm_source$ ./linuxbuild
ubuntu@ubuntu-armhf:~/AM335x_PRU_BeagleBone/GPIO_PWM_PRU/utils/pasm_source$ cd …/…/
ubuntu@ubuntu-armhf:~/AM335x_PRU_BeagleBone/GPIO_PWM_PRU$ make CROSS_COMPILE=""
gcc -Wall -I./include -D__DEBUG -O2 -mtune=cortex-a8 -march=armv7-a -o bin/blinker obj/blinker.o -L./lib -lprussdrv -lpthread
/usr/bin/ld: error: bin/blinker uses VFP register arguments, obj/blinker.o does not
/usr/bin/ld: failed to merge target specific data of file obj/blinker.o
/usr/bin/ld: error: bin/blinker uses VFP register arguments, ./lib/libprussdrv.a(prussdrv.o) does not
/usr/bin/ld: failed to merge target specific data of file ./lib/libprussdrv.a(prussdrv.o)
collect2: error: ld returned 1 exit status
make: *** [bin/blinker] Error 1