[sdiy] ARM M4 (stm32F3xx) FPU questions
Chris McDowell
declareupdate at gmail.com
Fri Oct 7 03:33:28 CEST 2016
Howdy,
This is a long shot :)
I'm using Eclipse with "System Workbench for STM32" for an STM32F334. I'm flying by the seat of my pants, but so far it's worked out quite well. Super impressed by these ST parts, as expected.
But, I'm running into an issue when trying to use the FPU. If I configure Eclipse to use the "soft" or "softfp" ABI, I have no problems. "soft" of course isn't what I want. "softfp" is much faster, but after reading about the difference between the "softfp" and "hard" ABI, I understand that I'm still taking a big performance hit (or maybe I'm not? correct me if I'm wrong!) . I want to get the most out of this MCUs FPU!
this is what the related flags look like when I try to use the "hard" ABI (if I'm misunderstanding or missing other relevant flags, please feel free to say so!)
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16
then I get this error:
(my file name).elf uses VFP register arguments, (my path to std periph library)/stm32f334k8t6_stdperiph_lib/Debug/libstm32f334k8t6_stdperiph_lib.a(stm32f30x_dac.o) does not
and again for quite a few other object files. I suppose that these object files, that are part of the std peripheral library, are trying to use "softfp" instructions, while my code is trying to use "hard". I understand that they are not compatible. Is there something obvious I can try here? Anyone have any idea? I know there are a ton of variables in a set up like this, but any pointers would be really appreciated.
and please forgive / correct my ignorance regarding the terminology here. Hopefully someone understands what I'm trying to say :)
Cheers,
Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20161006/020532b0/attachment.htm>
More information about the Synth-diy
mailing list