OpenSTM32 and STM32CubeMX under Ubuntu 14.10

This post is about using OpenSTM32 plugins for Eclipse and STM32CubeMX with Ubuntu 14.10.


OpenSTM32 [1] is a project aiming at making embedded development for STM32 microcontroller easier with Eclipse. "System Workbench for STM32 - Bare Metal Edition" features are described at [2]. There is an all-in-one installer for Microsoft Windows, but none for GNU/Linux. See the manual instructions at [3].

Once the installation site is added to Eclipse, you get the following plugin available:

Support will be installed into Eclipse, and the whole GCC-based ARM compiler suite will be installed as well (as dependencies of External Tools for Linux (64 bits)). OpenOCD is also installed. OpenOCD supports the embedded ST-Link for Single Wire Debugging aka SWD.

To create a first test project, see [4]. When I attempt to build my project, I get the following error message:

arm-none-eabi-gcc: error trying to exec 'cc1': execvp: No such file or directory

It is weird, because the requested cc1 is found in /eclipse/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.1.0.201503101252/tools/compiler/lib/gcc/arm-none-eabi/4.8.4/cc1 as expected, but when I try to run it manually, it gives the same error message (while the file is obviously there and set as an executable).

Unfortunately, there seems to have a problem with the supplied build chain. Many of the binaries found in /eclipse/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.1.0.201503101252/ fails the same way.

I use instead ARM's own GCC ARM Embedded packages for Ubuntu (see [5]).


STM32CubeMX [6] is a standalone tool for generating initialization and start-up code for the whole family of STM32 microcontrollers. The tool is released for Microsoft Windows only, but is in fact a multi-platform tool in Java. Some clever Joe managed to run it on GNU/Linux quite easily [7].

Example pinout assignment for my vjCanUsb project.