The STM32Cube ecosystem is a complete software solution for STM32 microcontrollers and microprocessors. It is intended both for users looking for a complete and free development environment for STM32, as well as for users who already have an IDE, including Keil or iAR, in which they can easily integrate the various components such as STM32CubeMX, STM32CubeProgrammer or STM32CubeMonitor.
What is STM32Cube, in brief?
STM32Cube is a combination of software tools and embedded software libraries:
- A full set of PC software tools addressing all the needs of a complete project development cycle
- Embedded software bricks made to run on STM32 microcontrollers and microprocessors, that will bring various functionalities (from MCU component drivers to more advanced application-oriented features)
Inside the STM32Cube ecosystem
STM32Cube Software tools suite accompanies developers at every step:
- STM32CubeMX, a configuration tool for any STM32 device. This easy-to-use graphical user interface generates initialization C code for Cortex-M cores and generates the Linux device tree source for Cortex-A cores.
- STM32CubeIDE, an Integrated Development Environment. Based on open-source solutions like Eclipse or the GNU C/C++ toolchain, this IDE includes compilation reporting features and advanced debug features. It also integrate additional features present in other tools from the ecosystem, such as the HW and SW initilialization and code generation from STM32CubeMX.
- STM32CubeProgrammer, a programming tool. It provides an easy-to-use and efficient environment for reading, writing and verifying devices and external memories via a wide variety of available communication media (JTAG, SWD, UART, USB DFU, I2C, SPI, CAN, etc.).
- STM32CubeMonitor family of tools. Powerful monitoring tools that help developers fine-tune the behavior and performance of their applications in real time.
STM32Cube Embedded software helps speed up project development:
- STM32Cube MCU and MPU packages, dedicated to each STM32 series
Packages offer all the required embedded software bricks to operate the available set of STM32 peripherals. They include drivers (HAL, low-layer, etc.), middleware, and lots of example code used in a wide variety of real-world use cases.
- STM32Cube expansion packages, for application-oriented solutions.
Complementing and expanding the STM32Cube MCU Package offer with additional embedded software bricks, STM32 expansion packages come either from ST or approved partners to create an extensive and scalable embedded software offer around the STM32.
STM32Cube, a comprehensive time-saving solution for every STM32 user
STM32Cube brings all the tools and embedded software for STM32 users, in a simple and integrated manner. To complete the picture, we took care to offer a business-friendly solution:
- No copyleft licenses terms. Developers benefit from free and open-source software (FOSS).
- Embedded software and software tools from ST are available at no cost to developers and can be openly shared provided they are used on STM32 devices.
On top of all that, quality remains our top priority. Hence, core components are tested by ST before their release and we are committed to following good practice guidelines (MISRA, code checkers, validation reports, etc.).
Software Development Tools
The STM32Cube Software Development Tools suite is based on a 4-step iterative development process.
Each STM32Cube software tool is available in a standalone version.
STM32-compatible tools from qualified partners or 3rd parties (including IAR EWARM or Keil MDK-ARM IDEs) can benefit from seamless integration into the STM32Cube software suite.
Developers can continue to use the tools they are familiar with while taking advantage of the rich features of STM32Cube software tools.
An STM32Cube MCU Package is a set of embedded software driving the peripherals of the target MCU or MPU.
Each package embeds standard drivers, in both optimized (Low-Layer API) and portable (HAL API) versions. Additional middleware suitable for specific MCU or MPU peripherals is available.
STM32Cube embedded software can also be found on Github.
STM32Cube Expansion Packages contain embedded software components that complement the functionalities of the STM32Cube MCU Packages, and enable specific applicative use cases implementing STM32 MCUs and companion chips, as well as ST devices in domains such as sensing, power management, audio as well as NFC, cloud and cellular connectivity.
Thanks to the extensive and scalable ecosystem around STM32 created by ST and Authorized Partners, the number of STM32Cube Expansion Packages available is continuously growing and enriched with ready-to-use project examples for integrated development environments.
Several STM32Cube Expansion Packages are enhanced for STM32CubeMX and STM32CubeIDE software tools (STM32 Toolset), allowing developers to create scalable designs and to quickly move to another compatible STM32 device, hardware board or prototype.
Visit our page on STM32Cube Expansion Package to know more, and browse through our complete, updated list of available packages.
Getting started with STM32CubeMX v5.0
Rich by its features-set, STM32CubeMX is changing its skin today to provide to the developer s an improved access to the Pinout, Peripherals and Middlewares parameters to ease the configuration and optimized the project development time. This new look is also standardizing the User Interface of the different Software Development Tools of the STM32Cube ecosystem.
Product Overview - STM32Cube making STM32 development easier
A new free software from ST, is simplifying development on STM32, through a consistent set o f software: STM32CubeMX, software tool on the PC, generating initialization code, and also a collection of embedded software bricks, abstracting the used STM32 and coming with tons of usage examples !
How to use STM32CubeIDE
STM32CubeIDE is an advanced C/C++ development platform with IP configuration, code generation, code compilation, and debug features for STM32 microcontrollers. It is based on the ECLIPSE™/CDT framework and GCC toolchain for the development, and GDB for the debugging. It allows the integration of the hundreds of existing plugins that complete the features of the ECLIPSE™ IDE.