Home | Projects | Notes > ARM Cortex-M3/M4 Processor > CubeIDE Tips
To resolve FPU warning ("FPU is not initialized, but the project is compiling for an FPU. Please initialize the FPU before use."):
Project
Set Floating-point unit
to None
Set Floating-point ABI
to Software implementation (-mfloat-abi=soft)
To see the snapshot of CPU registers (RCC registers, GPIO peripheral registers, etc.):
Window
To change the optimization level:
Project
Whenever you change the optimization level, do clean followed by build.
When you start optimizing your code, your code becomes more difficult to debug with disassembly since they do not exactly match 1-to-1 any more.
Also, to protect your code from failing by optimization, be sure to use volatile
keyword for the variable whose value is expected to change over the course of execution. See volatile
Type Qualifier.
Nayak, K. (2022). Microcontroller Embedded C Programming: Absolute Beginners [Video file]. Retrieved from https://www.udemy.com/course/microcontroller-embedded-c-programming/
Nayak, K. (2022). Embedded Systems Programming on ARM Cortex-M3/M4 Processor [Video file]. Retrieved from https://www.udemy.com/course/embedded-system-programming-on-arm-cortex-m3m4/