The STM32F30x/31x standard peripherals library, called STSW-STM32108, covers three abstraction levels, and provides user with a complete register address mapping with all bits, bitfields and registers declared in C. This relieves the user from a cumbersome task, bringing, as an added value, a bug free reference mapping file, that allows to speed up the early project phase.
The STSW-STM32108 also includes a collection of routines and data structures, covering all peripheral functions and drivers with common API (Application Programming Interface). It can directly be used as a reference framework, since it also includes macros for supporting core-related intrinsic features, common constants, and definition of data types.
Moreover a set of examples is provided, covering all available peripherals with project templates for the most common development tools.
With the appropriate hardware evaluation board, this framework allows to get quickly started with a brand new microcontroller of the STM32F30x/31x product lines.
Each driver consists of a set of functions covering all peripheral features. The development of each driver is driven by a common API, which standardizes the driver structure, the functions and the parameter names. The driver source code is developed in 'Strict ANSI-C' (relaxed ANSI-C for projects and example files). It is fully documented and MISRA -C 2004 compliant.
Writing the whole library in 'Strict ANSI-C', makes it independent from the development tools. Only the start-up files depend on the development tools. Thanks to the standard peripherals library, low-level implementation details are transparent, so that reusing code on a different MCU requires only to reconfigure the compiler. As a result, developers can easily migrate designs across the STM32F30x/31x product lines, to quickly bring product line extensions to market without any redesign. In addition, the library is built around a modular architecture that makes it easy to tailor and run it on the same MCU, using hardware platforms different from ST evaluation boards.
- Low level drivers covering the peripherals, belonging to the STM32F30x/31x lines and developed in 'Strict ANSI-C'
- I2C CPAL library providing high layer and efficient APIs for I2C peripheral communication
- 82 examples for 24 different peripherals
- Project templates for three different IDEs