ข้ามไปยังเนื้อหา

การเขียนเฟิร์มแวร์แบบ RTOS

RTOS Firmware Programming · หลักสูตร TESA Firmware SDK สำหรับ Edge AI

แยกงานตามความรับผิดชอบและจังหวะเวลาด้วย FreeRTOS: task, priority, queue, mutex, semaphore และ event group พร้อมกฎของ ISR

# บทเรียน เนื้อหา
1 เฟิร์มแวร์หลาย task ด้วย FreeRTOS สร้าง task ที่มีคาบเวลา เลือก priority ส่งข้อมูลด้วย queue ป้องกันบัสด้วย mutex ส่งสัญญาณด้วย semaphore/event group และเคารพกฎของ ISR
2 แล็บ: เฟิร์มแวร์หลาย task ด้วย FreeRTOS สร้างสอง task คาบต่างกัน ส่งเหตุการณ์ปุ่มผ่าน queue ป้องกันบัสร่วมด้วย mutex แล้วเขียนโน้ตเรื่อง timing

เวลาโดยประมาณตามต้นฉบับ: ประมาณ 3.5–4 ชั่วโมง (บทเรียน) + แล็บ 2.5–3.5 ชั่วโมง

ชีตและแม่แบบประกอบ (อยู่ในโฟลเดอร์ resources/ ของบทเรียนที่ 1):

โค้ด C ในโมดูลนี้ใช้ API ของเฟิร์มแวร์ TESAIoT Bitstream ซึ่งยังไม่เปิดซอร์ส อ่านหมายเหตุต้นบทเรียน ก่อนลงมือ

ก่อนไปโมดูลถัดไป ตรวจว่าคุณทำสิ่งเหล่านี้ได้แล้ว:

  • สอง task กระพริบ LED ด้วยคาบเวลาต่างกันโดยไม่ busy-wait
  • เหตุการณ์ปุ่มเดินทางผ่าน queue ไปยัง task ที่พิมพ์ UART
  • ทรัพยากรที่ใช้ร่วมถูกป้องกันด้วย mutex หรือ API ล็อกบัส
  • ตอบคำถาม timing ใน Lab E ครบ

← โมดูล 3 · หน้าหลักสูตร · โมดูล 5 →

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

เนื้อหาเผยแพร่ภายใต้ CC BY-NC 4.0 นำไปใช้ต่อในงานที่ไม่ใช่เพื่อการค้าได้ โปรดอ้างอิงสมาคมสมองกลฝังตัวไทย (TESA) ทุกครั้ง · วิธีอ้างอิง TESA