Loading...
 

Zephyr project on STM32

   Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
  • Install host dependencies.
  • Import toolchain and SDK.
  • Create, configure, build and manage apps.
  • Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench

System Workbench for STM32


Soft vs Hard Floating point

The STM32L476 (which I am using) has a hardware (aka hard) floating point unit.

Unfortunately sometimes the build will stick in a ‘soft’ (aka software) floating point setup for the FreeRTOS.

When this happens I have not yet figured out how to set it back to ‘hard’. I know how to set it (select the base of your project, select Project->Properties->C/C++ Build->Settings->MCU Settings->Floating-point ABI->hard).

But that does not seem to change the actual build. I do a clean build after re-checking the settings but the build still yields “uses VFP register arguments” errors.

These errors are caused by a mismatch in floating-point settings.

Anyone know how to fix this?

The last time this happened the build script for FreeRTOS would not change it’s settings (discovered by selecting Middlewares->FreeRTOS (right-click)->Properties). I had to abandon the project and create a new one then copy over all the changes.

This time that seems fine, but I still get build errors.

It happened when I went to create the ‘Release’ build. The Release build first did not have all the proper include paths, I fixed that then did a build and started getting wrong processor errors, found the processor was not set, set it, did a clean build, normal build -> VFP errors.

-Matt

Think I figured it out. I had ‘hard’ set, but I did not have the hardware set (“fpv4-sp-d16”).

-Matt