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 DescriptionThis 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), and hands-on system use as well as the system platform, dev-boards with an MCU and a 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, dev-boards, and modern debugging tools.What you will learn
Understand RTOS use cases, and decide when (and when not) to use real-time OS
Utilize the 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 forThis 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.
Auflage
Sprache
Verlagsort
Zielgruppe
Editions-Typ
Maße
Höhe: 235 mm
Breite: 191 mm
ISBN-13
978-1-80323-772-5 (9781803237725)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Klassifikation
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.
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 - Tools Quick-Reference
Appendix B - Reference Information
Appendix C - Creating FreeRTOS Projects, and Installing FreeRTOS