UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor chcase
Visitor
313 Views
Registered: ‎01-08-2019

Is it possible to build the echo demo with -mfloat-abi=hard?

I'm using the 2018.3 SDK on a Zync 104 eval board.  I was abable to successfully build and run the echo demo using FreeRTOS on the R5 using the demo project wizards, and leaving everything set to the defaults:

setup1.pngsetup2.png

setup3.png

 

Next I wanted to see if I could compile the R5 application using -mfloat-abi=hard:

setup4.png

However, after clicking OK and the application rebuilds, if I look at the extra_compiler_flags field again, the -mfloat-abi=hard has been removed.

If I add it twice, like this:

setup5.png

One of the -mfloat-abi=hard settings will "stick", but the build fails with this:

armr5-none-eabi-gcc -DARMR5 -Wall -O0 -g3 -c -fmessage-length=0 -MT"test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.o" -mcpu=cortex-r5 -I/home/advtech1/chcase/tmp/test/test_rtos_amp_bsp/psu_cortexr5_0/include -MMD -MP -MF"test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.d" -MT"test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.o" -o "test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.o" "../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S"
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S: Assembler messages:
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:202: Error: selected processor does not support `vmrs r3,FPEXC' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:204: Error: selected processor does not support `vmsr FPEXC,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:208: Error: selected processor does not support `vmov d0,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:209: Error: selected processor does not support `vmov d1,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:210: Error: selected processor does not support `vmov d2,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:211: Error: selected processor does not support `vmov d3,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:212: Error: selected processor does not support `vmov d4,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:213: Error: selected processor does not support `vmov d5,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:214: Error: selected processor does not support `vmov d6,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:215: Error: selected processor does not support `vmov d7,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:216: Error: selected processor does not support `vmov d8,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:217: Error: selected processor does not support `vmov d9,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:218: Error: selected processor does not support `vmov d10,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:219: Error: selected processor does not support `vmov d11,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:220: Error: selected processor does not support `vmov d12,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:221: Error: selected processor does not support `vmov d13,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:222: Error: selected processor does not support `vmov d14,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:223: Error: selected processor does not support `vmov d15,r1,r1' in ARM mode
../test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.S:227: Error: selected processor does not support `vmsr FPEXC,r3' in ARM mode
make: *** [test_rtos_amp_bsp/psu_cortexr5_0/libsrc/standalone_v6_8/src/boot.o] Error 1

 

Is there a reason that -mfloat-abi=hard can't be used with FreeRTOS?  In the baremetal version of this demo, I can use -mfloat-abi=hard with no problems. Looking the FreeRTOS make file in the SDK install directory, it appears that the make file uses -mfloat-abi=soft, and that this setting can't be changed.  Am I missing something?

 

 

0 Kudos