A step-by-step guide to the most complete ARM Cortex-M platform, using the official STM32Cube development environment
Mastering STM32 is my personal "editorial project" that I undertook by chance seven years ago. I started covering topics about the STM32 platform on this blog, especially writing tutorials on how to setup a good tool-chain to develop applications. Since then, I realized that a blog is not sufficient to cover a so complex subject (too many E-Mails every day :-D), so I have decided to treat this and other topics in a more structured way.In 2022 I published the Second Edition, which is now based on the official STM32CubeIDE development environment and the STM32Cube HAL.
This second edition is composed by twenty-eight chapters, divided in about 900 pages. They cover:
- Introduction to Cortex-M and STM32 microcontrollers.
- How to setup the STM32CubeIDE tool-chain in Windows, Linux and Mac OSX.
- How to use STM32CubeMX to generate application skeleton.
- Introduction to the debugging of STM32 applications.
- 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.
- CRC peripheral.
- IWDG and WWDG timers.
- RTC clock.
- 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 10.x and the tickless low-power mode.
- Advanced debugging techniques and how to use SEGGER tools to debug STM32 MCUs.
- FatFs Middleware.
- How to develop IoT applications with the W5500 Ethernet processor.
- USB 2.0 protocol and the STM32 USB Device Framework.
- How to design a custom board using an STM32 MCU.
The complete Table of Contents can be downloaded from here.
The book is addressed both to professionals and to fans of this platform, like hobbyists and students. The book examples are based on nine of the third-two Nucleo-64 boards from ST.
The book uses the STM32 Nucleo as development board for book examples.
You can download a free and substantial preview of the book directly from the LeanPub website. The preview contains all the steps needed to setup the tool-chain.