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 two short videos (registration required) highlighting:

System Workbench for STM32

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

Hi everyone,

I’m trying to do a very simple thing : create a Cpp project on ac6/eclipse.
The same question has already been asked in 2016 but has never been answered...

My base project was written in C but I have a Cpp library to use. I haven’t found any solution to use a Cpp lib in a C project, then I tried to convert my base C project into Cpp. But it doesn’t seem to work. I tried to rename my source files into .cpp but syscall.c doesn’t like it at all and my cpp lib is still red about it.

Where I create a new Cpp project, I get a main.c not a main.cpp, why is that? Is there a solution to get a basic Cpp project from ac6?

Thanks in advance for your help.



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)

Thanks Bernard for your answer. It is very helpful.
I cannot know if it works yet because I think I first have to fix my external library issue. I’ll post another question in the forum about it.


Newest Forum Posts

  1. Holy fuck by mkellinghusen, 2020-12-02 22:54
  2. Holy fuck by rhaley-starfish, 2020-12-02 19:46
  3. Unable to Build and Clean Program in STM32CubeIDE by chandlerbing65nm, 2020-12-01 15:25
  4. Holy fuck by jqwpb, 2020-12-01 09:45
  5. Ubuntu 19.04 Debug problems by wigir, 2020-11-29 20:38
  6. SW4STM32 installation on Ubuntu 20.04 LTS by ImedBriki, 2020-11-27 23:43
  7. Serial Printing on STM32F1 using CubeMX by LORDHADES, 2020-11-27 09:04
  8. gdb not connected to openocd for debug by avf1906, 2020-11-23 10:26
  9. STM32F103 + CAN -> microcontroller does not release the frame from FIFO banks by amilo_pa, 2020-11-17 09:08
  10. STWINKT1 as HID by greale, 2020-11-13 13:03

Last-Modified Blogs