Freertos-basics

  • Published on
    Banyak engineer menggunakan ESP32 dengan Arduino core seolah-olah sistem berjalan secara single-thread melalui `setup()` dan `loop()`. Kenyataannya, ESP32 berjalan di atas FreeRTOS dengan beberapa task internal seperti WiFi, TCP/IP stack, dan idle task. Tanpa memahami execution model ini, firmware mudah menjadi blocking, race-prone, dan tidak deterministik. Artikel ini membongkar bagaimana `loop()` sebenarnya adalah task FreeRTOS, bagaimana ISR mem-preempt eksekusi, dan bagaimana aktivitas jaringan memengaruhi kontrol hardware. Tujuannya membentuk mental model eksekusi sistem sebelum masuk ke disiplin arsitektur produksi.