Embedded Systems on ARM Cortex-M Microcontrollers
Embedded Systems on ARM Cortex-M Microcontrollers
Summary:
Introduction
The book «Embedded Systems with ARM Cortex-M Microcontrollers» (author — Yifeng Zhu, 2018, 608 pages) is a fundamental textbook on developing embedded systems based on popular 32-bit ARM Cortex-M microcontrollers. Written in accessible language, it combines digital electronics theory with practical examples in C++ and is suitable for both technical students and engineers looking to systematize their knowledge. The book stands out from its counterparts by not merely listing registers, but explaining the logic of peripheral operation and the principles of writing efficient code.
What This Book Is About
The publication covers the full cycle of embedded system development: from selecting a microcontroller to debugging multitasking applications. The main focus is on the ARM Cortex-M family (M0, M3, M4, M7) and popular STM32-based development boards. The book consists of 12 chapters, each dedicated to a specific aspect:
- Chapters 1-2: ARM Cortex-M architecture, instruction set, memory, clocking, and reset.
- Chapters 3-4: Digital input/output ports (GPIO), working with buttons and LEDs.
- Chapter 5: Timers, PWM, signal capture and comparison.
- Chapter 6: Analog-to-digital converters (ADC) and sensors.
- Chapter 7: Serial interfaces: UART, SPI, I2C.
- Chapter 8: Interrupts and exception handlers.
- Chapter 9: Direct memory access (DMA).
- Chapter 10: Low-power modes.
- Chapter 11: Fundamentals of real-time operating systems (RTOS) — FreeRTOS.
- Chapter 12: Debugging, profiling, and code optimization.
Who This Book Is For
The book is aimed at readers already familiar with the basics of C/C++ programming and having a basic understanding of digital circuit design. It will be useful for:
- technical university students studying microcontrollers and embedded systems;
- practicing engineers transitioning from 8-bit platforms (AVR, PIC) to ARM;
- software developers wanting to understand the hardware aspects of embedded devices;
- hobbyists creating their own projects on STM32.
What the Reader Will Learn
After studying the material, the reader will be able to:
- independently configure the clocking and peripherals of ARM Cortex-M microcontrollers;
- write efficient C++ code for working with GPIO, timers, ADC, UART, SPI, I2C;
- use interrupts and DMA to create responsive systems;
- implement multitasking using FreeRTOS;
- optimize power consumption and debug projects using a debugger and logic analyzer;
- read datasheets and schematics, understand the electrical characteristics of pins.
Strengths of the Book
Practical focus. Each chapter contains several complete examples with detailed comments. The code is written in C++ using the CMSIS and HAL libraries, making it portable across different STM32 microcontrollers.
In-depth explanation. The author does not limit himself to listing registers — he explains why a particular bit needs to be set in a certain way and how it affects system operation. For example, the chapter on timers thoroughly covers counting modes, prescalers, and signal capture.
Relevance. The book was published in 2018 and covers modern Cortex-M4 and M7 microcontrollers with floating-point units, as well as the latest versions of FreeRTOS.
High-quality illustrations. Over 300 diagrams, timing charts, and oscilloscope screenshots help visualize peripheral operation.
Additional materials. Source code for all examples is available on the author's website,