Hands-On RTOS with Microcontrollers: Create high-performance, real-time embedded systems using FreeRTOS, STM32 MCUs, and SEGGER debug tools - Couverture souple

Jim Yuill; Penn Linder

 
9781803237725: Hands-On RTOS with Microcontrollers: Create high-performance, real-time embedded systems using FreeRTOS, STM32 MCUs, and SEGGER debug tools

Synopsis

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 embedded systems and related technologies, it covers the role of real-time OSs in today’s time-critical applications, and it covers FreeRTOS, including its key capabilities and APIs. You’ll find detailed descriptions of system design, hands-on system use, the hardware platform (dev-board, MCU, and debug-probe), and the development tools (IDE, build system, and debugging tools).

This second edition teaches you how to implement over 20 real-world embedded applications, using FreeRTOS's primary features. The chapters include example programs on GitHub, with detailed instructions. You’ll create and install your own FreeRTOS system on the dev-board (purchased separately), and set up an IDE project with debugging tools.

An ST dev-board is used with the book, and it is purchased separately (STM32 Nucleo-F767ZI - the dev-board is not required to read and understand the book).

By the end of this book, you’ll have the hands-on skills to start designing, building, and optimizing embedded applications, using FreeRTOS, development boards, and debugging tools.

What you will learn

  • Understand RTOS use cases, and decide when (and when not) to use real-time OS
  • Use 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 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

  1. Introducing Real-Time Systems
  2. Introducing the Development Board
  3. Introducing the Development Tools
  4. Understanding Super-Loops
  5. Implementing the Super-Loop
  6. Understanding RTOS Tasks
  7. Running the FreeRTOS Scheduler
  8. Protecting Data and Synchronizing Tasks
  9. Intertask Communication
  10. Drivers and ISRs
  11. More Efficient Drivers and ISRs
  12. Sharing Hardware Peripherals among Tasks
  13. Creating Loose Coupling with Queues
  14. FreeRTOS Memory Management
  15. Multi-Processor and Multi-Core Systems
  16. Troubleshooting Tips and Next Steps
  17. Appendix A - Tools Quick-Reference
  18. Appendix B - Reference Information
  19. Appendix C - Creating FreeRTOS Projects, and Installing FreeRTOS

Les informations fournies dans la section « Synopsis » peuvent faire référence à une autre édition de ce titre.

À propos de l?auteur

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.

Les informations fournies dans la section « A propos du livre » peuvent faire référence à une autre édition de ce titre.