Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world. And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download (registration required) various documents highlighting:

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