Practice embedded system programming with ESP32-WROOM-32 and ESP-IDF framework
Check contributing guides for more details.
- Introduction to ESP32, FreeRTOS, and ESP-IDF
- Setup toolchain and dev environment
- Build and flash given sample code
- Learn about ESP32 GPIO and FreeeRTOS task
- Write a sample program that has 2 tasks:
- One polling task which will run every second
- One event based task which will run on GPIO
- FreeRTOS idle task
- FreeRTOS task scheduling algorithms
- Write sample programs for each scheduling algorithm
Important
Don't try to finish this lab as it is wrongly designed.
- All the instructions in document are from Vanilla FreeRTOS and only able to apply on Vanilla FreeRTOS.
- ESP-IDF, although based on FreeRTOS, has heavily modified it to support dual-core. And developers are not able to config its scheduling algorithm.
- Characteristics of queueing system
- FreeRTOS queue management
- Write a sample program using a queue with 1 source and 2 sinks
- FreeRTOS software timer
- Software timer types, states, and behaviors
- Write a sample program using 2 software timers sharing 1 callback function
- ESP32 WiFi feature
- ESP event handling, WiFi operation modes, and WiFi events
- Write a sample program to run ESP32 as access point, station, or both