FreeRTOS for ESP32-Arduino (Extract)

Page 1

Warren Gay

Practical Multitasking Fundamentals

Programming embedded systems is difficult because of resource constraints and limited debugging facilities. Why develop your own Real-Time Operating System (RTOS) as well as your application when the proven FreeRTOS software is freely available? Why not start with a validated foundation?

Warren Gay is a datablocks.net senior software developer, writing Linux internet servers in C++. He got involved with electronics at an early age, and since then he has built microcomputers and has worked with MC68HC705, AVR, STM32, ESP32 and ARM computers, just to name a few.

ISBN 978-1-907920-93-6

Elektor International Media BV www.elektor.com

lektor

Every software developer knows that you must divide a difficult problem into smaller ones to conquer it. Using separate preemptive tasks and FreeRTOS communication mechanisms, a clean separation of functions is achieved within the entire application. This results in safe and maintainable designs. Practicing engineers and students alike can use this book and the ESP32 Arduino environment to wade into FreeRTOS concepts at a comfortable pace. The well-organized text enables you to master each concept before starting the next chapter. Practical breadboard experiments and schematics are included to bring the lessons home. Experience is the best teacher.

FreeRTOS for ESP32-Arduino ● Warren Gay

FreeRTOS for ESP32-Arduino

FreeRTOS for ESP32-Arduino Practical Multitasking Fundamentals

Each chapter includes exercises to test your knowledge. The coverage of the FreeRTOS Application Programming Interface (API) is complete for the ESP32 Arduino environment. You can apply what you learn to other FreeRTOS environments, including Espressif’s ESP-IDF. The source code is available from github.com. All of these resources put you in the driver’s seat when it is time to develop your next uber-cool ESP32 project. What you will learn: • How preemptive scheduling works within FreeRTOS • The Arduino startup “loopTask” • Message queues • FreeRTOS timers and the IDLE task • The semaphore, mutex, and their differences • The mailbox and its application • Real-time task priorities and its effect • Interrupt interaction and use with FreeRTOS • Queue sets • Notifying tasks with events • Event groups • Critical sections • Task local storage • The gatekeeper task

lektor

Warren Gay


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.
FreeRTOS for ESP32-Arduino (Extract) by Elektor - Issuu