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

mbed C++ code to add in an existing C project

Hello everyone,

I’ve develop the biggest part of my program in C with Sytem Workbench on Eclipse.
I’m currently developing an other functionnality on it, which uses C++ files (on mbed), which I have modified to meet my need.

My C program (on Eclipse) and my C++ one (on mbed) work properly (but separately).

So my question is: How should I proceed to mix these two programs so that I have a unique binary file to load into my STM32 ?

Best regards.


Hi Julien,
Sorry for the delay

To convert a C project to C++, you just have to use the project >> Convert to C++ menu entry (in the project context menu):
Convert To C++ Menu Entry

If you don’t find this menu entry, just update your installation (Help >> Check for updates...); we just release a new version of Ac6 System Workbench for STM32, with a number of enhancements.

Hello Bernard,

Thank you for your answer.

I tried your solution; this “Convert to C++” does not seem to do anything, or I can’t see it !

Nervermind, I find a solution which seems to work here: https://isocpp.org/wiki/faq/mixing-c-and-cppQuestion

So I’ve integrated some C test files on mbed and following the link above and this actually worked !
Note that you need a C++ Compiler to do this, that’s why I found it easier to import C files on mbed.



Hi Julien,

There is nothing really changed when you switch a project to C++ (except that the menu entry “Convert to C++” now reads “Convert to C” wink); the only change you will see is that the linker will now use arm-none-eabi-g++ instead of -gcc (and that in project properties build tools settings you will see the G++ compiler).

However there may be a problem at link time; it seems to be that, when converting your project from C to C++, you lose the link to the HAL library... That seems to be a small bug in the tool that we will investigate, although there is a quite simple workaround in th emean-time.

To correct it you should recreate this link by:

  • project >> Properties >> C/C++ General >> Paths and Symbols >> References
    • Here the HAL library shoudl be selected then you need first to deselect it the Apply your change
  • Now reselect it and click OK

Now your project should compile and link correctly in C++ and you could add C++ code in it.