Our STM32 family of 32-bit Arm® Cortex® core-based microcontrollers and microprocessors are supported by a comprehensive set of software tools.
Traditional integrated development environments (IDEs) with C/C++ compilers and debuggers from major 3rd-party suppliers (free versions with up to 64 Kbytes of code are available) as well as the embedded software libraries required to configure and initialize the MCU or MPU and monitor its behavior in run time.
STM32CubeMX is a graphical tool used to configure any STM32 device. This easy-to-use graphical user interface generates the initialization C-code for Cortex-M cores and generates the Linux Device Tree for Cortex-A cores.
STM-STUDIO and STM32CubeMonitor-Power are monitoring tools that help developers fine-tune the behavior of their applications at run time.
An all-in-one multi-OS software tool, STM32CubeProgrammer provides an easy-to-use and efficient environment for reading, writing and verifying device memory through both the debug interface (JTAG and SWD) and the bootloader interface (UART and USB).
Enhanced STM32Cube tools simplify setting up MPU and MCU projects and configuring the on-chip resources. They accelerate the development of microcontroller- and microprocessor-based projects.
STM32 step-by-step is a learning program, and is part of the STM32 Education initiative, designed for anyone interested in getting started on building projects with the STM32 microcontroller and its powerful ecosystem of development boards and software programming tools.
Graphical tool displaying on PC power data coming from X-NUCLEO-LPM01A
Software development for STM32 made easy with STM32Cube
STMCube™ is an STMicroelectronics original initiative to make developers’ lives easier by reducing development effort, time and cost. STM32Cube is the implementation of STMCube that covers the whole STM32 portfolio and provides:
STM32CubeMX, available under Windows®, Linux® and macOS® is a tool able to generate initialization C-code for STM32 MCUs based on a graphical user interface and one embedded software library (Cube Embedded Software package) per series of STM32 products. This embedded software library comprises the hardware abstraction layer (HAL) and Low-Layer (LL) APIs for the STM32 peripherals and a set of Middleware (RTOS, USB, TCP/IP, Graphics, …) based on components that are either ST developed or open source.
The initialization code, Middleware libraries, HAL and LL APIs, are all compatible with every STM32 compilers. The included example projects are set up for IAR, Keil, and the GCC-based AC6 SW4STM32
STM32Cube comes with hundreds of application code examples and supports all the STM32 series.