Table of Contents Introducing Real-Time Systems Understanding RTOS Tasks Task Signaling and Communication Mechanisms Selecting the Right MCU Selecting an IDE Debugging Tools for Real-Time Systems The FreeRTOS Scheduler Protecting Data and Synchronizing Tasks Intertask Communication Drivers and ISRs Sharing Hardware Peripherals across Tasks Tips for Creating a Well-Abstracted Architecture Creating Loose Coupling with Queues Choosing an RTOS API FreeRTOS Memory Management Multi-Processor and Multi-Core Systems Troubleshooting Tips and Next Steps
Brian Amos is an embedded system engineer who has been programming with FreeRTOS since 2012. He is currently a senior firmware engineer in the telecom industry creating embedded systems used in ground stations for satellite communication. In the past, he led a team of engineers creating a flexible architecture to rapidly develop high-precision laboratory test equipment. Prior to this, he worked with early mesh networked energy harvesting sensors used to help predict when industrial machinery needed maintenance.