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

How to create a C++ project ? (Cpp project)



You can either convert your existing C project to C++ (by right click on project then “Convert to C++”), or create a new project by choosing “C++ project” instead of “C project”.

However a C++ project is also a C project and the default main.c is still a C file (as are also the ST-provided libraries); you can just rename it as main.cpp (and correct it as it may not be a valid C++ file if you added incompatible C code). You can also include new C++ files in your project and they will be compiled by the C++ compiler; however, don’t forget to declare the functions that must be called from C code as extern "C"

The main difference is that the linker will use the C++ linker, even if you only include C files; note that if your C++ code must include C-compatible header files, these must, typically in a #ifdef c_plusplus section declare all C functions as extern "C".

For example you can start your C header files by

#ifdef c_plusplus
extern "C" {
and terminate them by
#ifdef c_plusplus


Bernard (Ac6)