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

Linux and External Tools

Do I need to install the external tools if I already have installed the latest arm-none-eabi-* and openocd using my system’s package manager? If the answer is yes, can be any conflicts?

Thank you.


I recommend you to install the external tools (OpenOCD in particular) because this version was modified to support the latest ST boards which might not be supported yet by the last OpenOCD release.

If you don’t install them, you can modify the compiler path in the project settings and the OpenOCD path in the debug configuration. It should work as well.

If you install the external tools, they are installed in the Eclipse plugin directory (ECLIPSE_DIR/plugins/fr.ac6.mcu.externaltools.openocd.linux64.xxxxxxx) and no system environement variable is used nor modified to launch these tools so it should not disturb your system, and no conficts with the IDE.


To whom it may concern,

as OpenOCD in SW4STM32 contains changes to OpenOCD from OpenOCD.org, the sources should be somehow accessible. Best would be that AC6 cares for getting the patches into opneocd, but I understand that gerrit and openocd’s patch review policy is quite a big obstacle. I would also care, as time allows, but that requires access to the source or even better to your repository. So, where are the sources or where is your openocd repository?


Hi Bernard,

I am not Kevin, but Uwe (Bonnes).

I am in the process of separating and releasing the patches to OpenOCD/Gerrit. Please review!

Kevin, thank you for your detailed answer, I will install the external tools in that case.

Has anyone else noticed the external compiler plugin for linux 64 only has i386 executeables in it ? I’ve been having trouble with file not found errors I finally traced to the executeables being the wrong format.

I probably can install the 32bit compatibility libraries but the arm-none-eabi toolchain via the package manager is 64 bit and doesn’t need it, are the 64bit plugin tools being 32bit intentional ? If so why ?


The compiler provided in the external tools plugin is the one of the latest distributed in GNU ARM Embedded project (https://launchpad.net/gcc-arm-embedded). It has been built for Linux 32 bits and, as you said, needs the compatibility libs (libncurses, ...)

I don’t know which version of the compiler is distributed from the package manager. For the future version, we will rebuild the latest compiler version for 64 bits too.

By the way, if needed, you can use you own compiler by modifying the “path” setting in the project Properties > C/C++ Build > Settings > Tools settings > MCU Settings


This looks to be a part of the answer to the questions I’ve posted here:

This explains why the cc1 doesn’t work even though the path appears correct!

While I can make the path change to the 64 bit version of the tools that I have downloaded, I’d like to do it globally. However, the capability appears to be missing from Eclipse now. Specifically, I cannot find the entry Preferences -> C/C++ -> Build -> Global Tools Paths. Has that been removed?

A related question: Is the modified version of OpenOCD a 32 bit version also? If so, how soon can we expect a proper, usable 64 bit version?

Thanks for your help!