ESP32
ESP-IDF FreeRTOS is based on the Xtensa port of FreeRTOS v8.2.0, however some functions of FreeRTOS v9.0.0 have been backported. See the Backported Features for more information.
Task/Thread Analysis and Visualization
FreeRTOS Support
jtag_debugging_for_esp32_en.pdf
OpenOCD has explicit support for the ESP-IDF FreeRTOS; FreeRTOS detection can be disabled in esp32.conf. When enabled, gdb can see FreeRTOS tasks as threads. Viewing them all can be done using the gdb i threads
command; changing to a certain task is done with thread x
, with x
being the number of the thread. All threads can be switched to except for a thread actually running on the other CPU; please see the following section ESP32 Quirks for more information
Adding FreeRTOS Thread Awareness to GDB and Eclipse
FreeRTOS Thread Debugging with Eclipse and OpenOCD
FreeRTOS ARM Thread Debugging with Eclipse and GDB
Segger SystemView: Realtime Analysis and Visualization for FreeRTOS
Non-Free
API Reference
Task Creation
esp-idf/components/freertos/readme_smp.txt
xTaskCreate
RTOS Kernel Control
Kernel Control
taskENTER_CRITICAL()
Queue Management
Queue Management
xQueueReceive
Event Groups
YouTube
RenesasPresents
RTOS Tutorial (1/5) : Why is RTOS required?
RTOS Tutorial (2/5) : Task, handler and API
RTOS Tutorial (3/5) : Semaphore and event flag
RTOS Tutorial (4/5) : Architecture and Performance of RTOS
RTOS Tutorial (5/5) : RTOS for Multi-core systems