STM library package for the STM32 families that you decide to use.
The library contain:
Examples (I/O, USART, I2C, ADC, DAC, SPI, CAN, DMA, etc)
Middleware components (USB, TCP/IP, Graphics, FAT file system, etc)
HAL and LL functions
The Hardware Abstraction Layer (HAL) enabling portability between different STM32 devices via standardized API calls
Low Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency
Both the HAL and LL APIs are production-ready and have been developed in compliance with MISRA-C®:2004 guidelines with some documented exceptions (reports available on demand) and ISO/TS 16949.
Furthermore, ST-specific validation processes add a deeper-level qualification.
MCU & MPU Embedded Software
Here there is a list concerning the evaluation and development of applications based on STM32, STM8, SPC5 microcontrollers and microprocessors, an extensive range of embedded software is available for developers from ST as well as a large group of 3rd party partners.