STMicroelectronics' STM32 family of 32-bit ARM Cortex-M core-based microcontrollers are supported by a complete range of software tools.
It encompasses traditional integrated development environments – IDEs with C/C++ compilers and debuggers from major 3rd-parties (free versions up to 64KB of code are available) that are complemented tools from ST allowing to configure and initialize the MCU or monitor its behavior in run time.
STM32CubeMX is a graphical tool helping to configure any STM32 and generating the initialization C-code. STM-STUDIO, monitors and visualizes variables at run-time and tool helps in debugging, fine tuning and validation of applications.
In addition to the traditional languages C and C++, STM32 applications can now be developed in Java, mixing Java and C code or in C# with the Microsoft .NET Micro Framework development environment.
Software development for STM32 made easy with STM32Cube™
STM32Cube is an entirely free tool, providing
STM32CubeMX , a generator of initialization C-code for STM32 MCUs, based on a graphical user interface, and one embedded software library per series of STM32 products, containing the hardware abstraction layer (HAL) 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 and HAL and Middleware library work with all STM32 compilers, the included project examples are set up for IAR, Keil, and the GCC based Atollic IDE.
STM32Cube comes with hundreds of application code examples and supports the STM32 F4, STM32 F3, STM32 F2, STM32 F0, STM32 L0 , STM32 L1 and now also the STM32 F1 series.