Build a strong foundation in designing and implementing real-time systems with the help of practical examples
Key FeaturesGet up and running with the fundamentals of RTOS and apply them on STM32Enhance your programming skills to design and build real-world embedded systemsGet to grips with advanced techniques for implementing embedded systemsBook DescriptionA real-time operating system (RTOS) is used to develop systems that respond to events within strict timelines. Real-time embedded systems have applications in various industries, from automotive and aerospace through to laboratory test equipment and consumer electronics. These systems provide consistent and reliable timing and are designed to run without intervention for years.
This microcontrollers book starts by introducing you to the concept of RTOS and compares some other alternative methods for achieving real-time performance. Once you've understood the fundamentals, such as tasks, queues, mutexes, and semaphores, you'll learn what to look for when selecting a microcontroller and development environment. By working through examples that use an STM32F7 Nucleo board, the STM32CubeIDE, and SEGGER debug tools, including SEGGER J-Link, Ozone, and SystemView, you'll gain an understanding of preemptive scheduling policies and task communication. The book will then help you develop highly efficient low-level drivers and analyze their real-time performance and CPU utilization. Finally, you'll cover tips for troubleshooting and be able to take your new-found skills to the next level.
By the end of this book, you'll have built on your embedded system skills and will be able to create real-time systems using microcontrollers and FreeRTOS.
What you will learnUnderstand when to use an RTOS for a projectExplore RTOS concepts such as tasks, mutexes, semaphores, and queuesDiscover different microcontroller units (MCUs) and choose the best one for your projectEvaluate and select the best IDE and middleware stack for your projectUse professional-grade tools for analyzing and debugging your applicationGet FreeRTOS-based applications up and running on an STM32 boardWho this book is forThis book is for embedded engineers, students, or anyone interested in learning the complete RTOS feature set with embedded devices. A basic understanding of the C programming language and embedded systems or microcontrollers will be helpful.
Table of ContentsIntroducing Real-Time SystemsUnderstanding RTOS TasksTask Signaling and Communication MechanismsSelecting the Right MCUSelecting an IDEDebugging Tools for Real-Time SystemsThe FreeRTOS SchedulerProtecting Data and Synchronizing TasksIntertask CommunicationDrivers and ISRsSharing Hardware Peripherals across TasksTips for Creating a Well-Abstracted ArchitectureCreating Loose Coupling with QueuesChoosing an RTOS APIFreeRTOS Memory ManagementMulti-Processor and Multi-Core SystemsTroubleshooting Tips and Next Steps
Dave Henshaw (writing under the pen name Brian Amos) was born and raised in Stapleford, a small town between Derby and Nottingham in the East Midlands. He attended Albany Junior School, then Bramcote Hills Grammar before moving to Devon in 1982, to study Fishery Science at Plymouth polytechnic. His first job after gaining a BSc. (Hons) degree was on a fish farm in Inveraray, a beautiful little village on Loch Fyne, in the west of Scotland. Here he met his future wife, Jacqui. Dave and Jacqui moved back down to Nottingham where they live today. They have three grown-up children, Stephen, Leigh and Kayleigh, and one grandchild, Daniel Jack.
A great book: good material, good example programs, and explained well.
Though, it has a number of bugs and omissions. A reader (me) created a study-guide for the book, with corrections and added info: https://jimyuill.com/embedded-systems...
This served as a good introduction to FreeRTOS with clear, concrete examples. It was well organized and contained all the information I was looking for.