A step-by-step and growing guide to the most complete ARM Cortex-M platform, using a free and powerful development environment based on Eclipse and GCC
Mastering STM32 is my personal "editorial project" that I undertook by chance. I have 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.
The book is an in progress book published thanks to the wonderful platform LeanPub. LeanPub is a self-publishing platform that allows to continuously release updates of your book. Once a reader buy a book, he will receive every update freely forever. This allows authors to write a book without the stress of having to finish the work in time, and maybe look for a publisher.
The book covers these topics as May 2017:
- 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.
- CRC peripheral.
- RTC clock.
- IWDT and WWDT timers.
- 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.
- FAT Filesystem management.
- Develop IoT applications with the W5500 Ethernet processor.
- How to design a custom board using an STM32 MCU.
You can download the complete table of contents 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 the sixteen 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.