cancel
Showing results for 
Search instead for 
Did you mean: 

Is .fpu incorrect in startup_stm32f411xe.s?

Singh.Harjit
Senior II

In startup_stm32f411xe.s, the FPU seems to be incorrectly declared. It is:

.fpu softvfp

Shouldn't it be:

.fpu fpv4-sp-d16

I checked other files in the same family and they also have the softvfp declaration.

5 REPLIES 5

Is it throwing a warning at link time?

Do you actually have any FPU instructions in the start-up assembler?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Singh.Harjit
Senior II

I'm not getting any warnings.

I don't have any FPU instructions in the startup code.

I do enable and use the FPU in startup code.

I was concerned about declaring incorrect / inconsistent FPU information with the rest of the code base.

I don't think this is consequential.

If you use FPU instructions in the file you'll need to pick a hardware options that covers the instructions in question, so things like push/pop of the float/double registers don't throw errors, for example.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

If you want to edit it you can, obviously, but the linker is usually where the rules would be applied.

I'd personally be more concerned with the unaligned stack pointer stuff that is prevalent in ST's .ld linker scripts.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

I did edit it in my copy of the file.

Agree it is benign but given that this is the header file for a part that includes an FPU, it should be correct.

I feel for ST and other chip vendors around the complexity of supporting so many parts and families.