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

Link error passing double variable to sqrt function



I don’t think your problem has anything to do with the sqrt function.

You have obviously converted the project from C to C++ (as you are using collect2 in the link phase). This conversion has a small bug (that will be corrected soon) where link editor options set to the C project are not transfered to the C++ project (as the link editor is different).

You should add in project >> Properties >> C/C++ Build >> Settings >> MCU G++ Linker >> Miscellaneous in the appropriate text box the “-specs=nosys.specs -specs=nano.specs” settings that are provided in the C version of the project.

Alternatively you can also get the syscalls.c file from a System Workbench-generated project and place a copy in the source folder, near your main.c file

Bernard (Ac6)