
Hands-On RTOS with Microcontrollers: Create high-performance, real-time embedded systems using FreeRTOS, STM32 MCUs, and SEGGER debug tools
Author(s): Jim Yuill (Author), Penn Linder (Author)
- Publisher finelybook 出版社: Packt Publishing
- Publication Date 出版日期: September 30, 2025
- Edition 版次: 2nd ed.
- Language 语言: English
- Print length 页数: 570 pages
- ISBN-13: 9781803237725
- ISBN-10: 1803237724
Book Description
Gain the practical skills and insights you need to supercharge your embedded engineering journey by working with over 20 example programs
Key Features
- Understand and master RTOS concepts using the powerful STM32 platform
- Strengthen your embedded programming skills for real-world applications
- Explore advanced RTOS techniques to unlock innovative embedded solutions
- All formats include a free PDF and an invitation to the Embedded System Professionals community
Book Description
This updated edition of Hands-On RTOS with Microcontrollers is packed with cutting-edge content to help you expand your skills and stay ahead of the curve with embedded systems development. Written by senior engineers with decades of experience in cybersecurity, operating systems (OSs), and embedded systems, it covers the role of real-time OSs in today’s time-critical applications and FreeRTOS with its key capabilities and APIs. You’ll find a detailed overview of system design (memory management); project-design (MCU, IDE, and RTOS APIs); hands-on system use; as well as the system platform, dev-board with an MCU and debug-probe, and development tools (IDE, build system, and source-code debugging).
This second edition teaches you how to implement over 20 real-world embedded applications with the latest FreeRTOS features and how to optimize your code with dynamic analysis. The chapters include example programs on GitHub with detailed instructions. You’ll create and install your own FreeRTOS system on the dev-board and set up an IDE project with debugging tools. With dozens of reference manuals listed, you’ll always have ample resources for system development.
By the end of this book, you’ll have the hands-on skills to design, build, and optimize embedded applications using FreeRTOS, development boards, and modern debugging tools.
What you will learn
- Understand RTOS, use-cases, and decide when to (and not to) use real-time OS
- Utilize FreeRTOS scheduler to create, start, and monitor task states
- Improve task signaling and communication using queues, semaphores, and mutexes
- Streamline task data transfer with queues and notifications
- Upgrade peripheral communication via UART, USB, and DMA by using drivers and ISRs
- Enhance interface architecture with a command queue for optimized system control
- Maximize FreeRTOS memory management with trade-off insights
Who this book is for
This book is for systems programmers, embedded systems engineers, and software developers who want to learn about real-time operating systems (RTOS) and how to use FreeRTOS in their embedded system design. A basic understanding of the C programming language, embedded systems, and microcontrollers is assumed. The book also includes hardware tutorials for systems programmers.
Table of Contents
- Introducing Real-Time Systems
- Introducing the Development Board
- Introducing the Development Tools
- Understanding Super-Loops
- Implementing the Super-Loop
- Understanding RTOS Tasks
- Running the FreeRTOS Scheduler
- Protecting Data and Synchronizing Tasks
- Intertask Communication
- Drivers and ISRs
- More Efficient Drivers and ISRs
- Sharing Hardware Peripherals among Tasks
- Creating Loose Coupling with Queues
- FreeRTOS Memory Management
- Multi-Processor and Multi-Core Systems
- Troubleshooting Tips and Next Steps
- Appendix A - Quick-Reference for the Development-Tools
- Appendix B - Bibliography for System Reference-Documents
- Appendix C - Creating FreeRTOS-Projects, and Installing FreeRTOS
About the Author
Jim Yuill is a senior computer-systems engineer, with 30 years of experience. He has worked in operating-systems development, cyber-security R&D, network systems-programming, and university teaching. He has a PhD in computer science, with a thesis in cyber security, which is highly cited.
Penn Linder is a Senior Electrical Engineer at IVEK Corporation, a manufacturer of industrial pumps and controllers. He has had a passion for embedded systems since taking his first embedded controllers' class at Penn State University in 1995. He followed his passion by working for various companies that allowed him to design both hardware and software for products using embedded systems. Some of the products he has worked on include lighting controls, medical devices, and industrial automation equipment. His early years were spent cranking out bare-metal assembly code for 8-bit MCUs. In his later years, he wrote software using C and FreeRTOS for 32-bit ARM Cortex-M processors.
finelybook
