Description of STM32F30xx/31xx Standard Peripheral Library
Introduction
The STM32F30xx and STM32F31xx Standard Peripheral Library covers 3 abstraction levels, and
includes:
A complete register address mapping with all bits, bitfields and registers declared in C. This avoids
a cumbersome task and more important, it brings the benefits of a bug free reference mapping file,
speeding up the early project phase.
A collection of routines and data structures covering all peripheral functions (drivers with common
API). 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.
A set of examples covering all available peripherals with template projects for the most common
development tools. With the appropriate hardware evaluation board, this allows to get started with
a brand-new micro within few hours.
Each driver consists of a set of functions covering all peripheral features. The development of each
driver is driven by a common API (application programming interface) 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 is 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 Peripheral 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 STM32 series 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.
The Standard Peripheral Library implements run-time failure detection by checking the input values for
all library functions. Such dynamic checking contributes towards enhancing the robustness of the
software. Run-time detection is suitable for user application development and debugging. It adds an
overhead which can be removed from the final application code to minimize code size and execution
speed. For more details refer to
Since the Standard Peripheral Library is generic and covers all peripheral features, the size and/or
execution speed of the application code may not be optimized. For many applications, the library may
be used as is.
The firmware library user manual is structured as follows:
Document conventions, rules, architecture and overview of the Library package.
How to use and customize the Library (step by step).
Detailed description of each peripheral driver: configuration structure, functions and how to use the
provided API to build your application.
The STM32F30xx and STM32F31xx Standard Peripheral Library will be referred to as STM32F30xx
Library throughout the document, unless otherwise specified.
Type
Microcontrollers
October 2012
Section 1.1.5: "Run-time
Table 1: Applicable products
Part numbers
STM32F30xx and STM32F31xx
DocID023800 Rev 1
User manual
checking".
UM1581
1/584
www.st.com
Need help?
Do you have a question about the STM32F31xx and is the answer not in the manual?
Questions and answers