Skip to content

meterglost/HCMUT-CO3053-EmbeddedSystem

Repository files navigation

HCMUT - CO3053 - Embedded System

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