<p>Most microcontroller-based applications nowadays are large, complex, and may require several tasks to share the MCU in multitasking applications. Most modern high-speed microcontrollers support multitasking kernels with sophisticated scheduling algorithms so that many complex tasks can be execute
FreeRTOS for ESP32-Arduino: Practical Multitasking Fundamentals
β Scribed by Warren Gay
- Publisher
- Elektor
- Year
- 2020
- Tongue
- English
- Leaves
- 314
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
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?
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.
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. 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
β¦ Table of Contents
FreeRTOS for ESP32-Arduino
All rights reserved
Contents
1 β’ Introduction
2 β’ Tasks
3 β’ Queues
4 β’ Timers
5 β’ Semaphores
6 β’ Mailboxes
7 β’ Task Priorities
8 β’ Mutexes
9 β’ Interrupts
10 β’ Queue Sets
11 β’ Task Events
12 β’ Event Groups
13 β’ Advanced Topics
14 β’ Gatekeeper Tasks
15 β’ Tips and Hints
Appendix A β Chapters
Appendix B β Parts
Index
Blank Page
π SIMILAR VOLUMES
<div> <p>In this, the seventh book in the Arduino Short Reads Series, we take an in-depth look at wireless communications with Arduino. This is an especially important area as communications with smart devices is a key aspect of the Internet of Things. We will take you from first principles of radi
<p><span>Build a strong foundation in IoT development and take your skills to the next level by mastering ESP32 and Arduino IDE 2.0, learning IoT protocols, and automating your projects</span></p><p><span><br></span></p><p><span>Key Features: </span></p><ul><li><span><span>Learn how to Interface ESP