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.