This is a book about the STM32 family of 32-bit Flash microcontrollers from ST Microelectronics based on the ARM® Cortex®-M architecture. The book will guide you in a clear and practical way to this hardware platform and the official ST CubeHAL, showing its functionalities with a lot of examples and tutorials. The book assumes that you are totally new to this family of MCUs, and it will start showing how to setup a complete and totally free software tool-chain to build your STM32 based applications. The installation instructions will allow to setup a complete tool-chain on Windows, Linux and Mac OSX.
The book is addressed both to professionals and to fans of this platform, like hobbyists and students. The book examples are based on the sixteen Nucleo-64 boards from ST.
This release is composed by twenty-two chapters, divided in about 780 pages. They cover:
Introduction to Cortex-M and STM32 microcontrollers
How to setup a complete and working tool-chain to develop STM32 applications on Windows, Linux and Mac OSX
How to use STM32CubeMX to generate application skeleton, and how to import it inside the tool-chain
Introduction to OpenOCD and to the debugging of STM32 applications
ARM semihosting
GPIO management
NVIC controller
UART peripheral
DMA controller
STM32 clock tree and its configuration
Basic, general purpose and advanced STM32 timers
ADC peripheral
DAC controller
I2C bus and protocol
SPI bus
Power management
The memory layout of an STM32 application and linker scripts
Flash memory management and the role of the ART Accelerator
The booting process in STM32 microcontrollers and how to write a custom bootloader
FreeRTOS and the tickless low-power mode
Advanced debugging techniques and how to use SEGGER tools to debug STM32 MCUs
How to design a custom board using an STM32 MCU