Hi,
I was working on a library for an Unscented Kalman Filter on the SMT32F767 and ended up doing a lot of performance characterization under single and double precision math. One of the problems I ran into was how VisualGDB represented the FPU support for my device. The STM32F767 has a double precision FPU (one of the prime reasons why I chose that device), but I discovered after many weeks that even though I selected the hardware floating point support option in the GDB project settings, it would default to only compiling for single precision math. As you can imagine, my code took a huge performance hit. It was only after messing around with the Visual Studio ARM project properties settings did I find that I had to explicitly tell the compiler which ARM floating point unit type I was using, on top of any GDB settings. In my case that is fpv5-d16. I’ve attached an image as a reference.
Is there some option I missed in the VisualGDB project settings that would allow me to choose between single/double precision math when supported by the device? If not, is there a way for me to make a formal feature request to have something like that added in?
Attachments:
You must be
logged in to view attached files.