About System Workbench for STM32

System Workbench for STM32 – Bare Metal Edition is an Eclipse integrated IDE. It provides a software development platform for your STM32 board. The IDE helps you to quickly create a C embedded project for your target. It also integrates a complete code editor, compilation (compiler, assembler, linker…) tools and remote-debugging tools.


The following features are included in System Workbench for STM32 – Bare Metal Edition :

  • STM32 Devices database and libraries
  • Source code editor
  • Linker script generator
  • Building tools (GCC-based cross compiler, assembler, linker)
  • Debugging tools (OpenOCD, GDB)
  • Flash programing tools

System Workbench for STM32 is compatible with Eclipse extended features such as Subversive.
The IDE allows you to easily create a project and components for the device. To quickly build it and generate the ELF file, binary. To debug the project, System Workbench for STM32 provides a debug configuration to do the connection with ST-Link/V2 to debug on chip.

GPL compliance

System Workbench for STM32 contains a few GPL-licensed components, like the compiler or the debugger.

For the C and C++ compilers and debuggers, as well as the C library, we use the Linaro-provided version of arm-none-gnueabi; you can get both the binary distribution we use and the source code from the Linaro web site at https://www.linaro.org/downloads/ (the last section on the web page directs you to the latest version, which is usually the one we use).

The only component for which we modify the source code is the OpenOCD debug interface, where we need to add advanced support features to be able to debug the newest STM32 chips and boards. We use patches developped by STMicroelectronics, that they in parallel submit for inclusion in the mailnine OpenOCD source code; however we can't wait for their inclusion so need to recompile OpenOCD by ourselves.

For OpenOCD we thus maintain our own GIT repository that may be cloned freely to get the current source code base we use. You can clone it by:
git clone git://git.ac6.fr/openocd -b openstm32

There are tags for the releases of System Workbench for STM32 for which we had to use modified source code; these are named