บทเรียน 2.2 — แล็บ: สร้าง build flash และ debug โปรเจกต์เฟิร์มแวร์

ตรวจเครื่อง สร้างโปรเจกต์จาก BSP build ใน VS Code flash ลงบอร์ด และ debug อย่างน้อยหนึ่งครั้ง

หลักสูตร TESA Firmware SDK สำหรับ Edge AI — โมดูล 2 · แล็บ

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

เป้าหมาย

เมื่อทำครบ คุณจะ

  • ติดตั้ง/ตรวจสภาพแวดล้อม ModusToolbox™ + VS Code ให้พร้อม
  • สร้างโปรเจกต์จาก BSP ของคิตในมือ
  • Build สำเร็จใน VS Code หรือเทอร์มินัล
  • Flash และยืนยันผลบนบอร์ดจริง
  • เปิด debug session อย่างน้อยหนึ่งครั้ง
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

ก่อนเริ่ม

  • [ ] อ่านจบ บทเรียน 2.1
  • [ ] เครื่องติดตั้งตามรายการในบทเรียน (หรือตามคู่มือของชุดที่ใช้)
  • [ ] บอร์ด PSOC™ Edge + สาย USB
  • [ ] รู้รหัส/ชื่อคิตที่ใช้เลือก BSP

หลัง flash สำเร็จ — ดู telemetry บนโฮสต์: ติดตั้ง Bitstream Studio จาก Marketplace (หรือจาก vsix/ ในแพ็กแล็บ) แล้วใช้ Command Palette → Bitstream Studio: Open Bitstream Studio / Start Serial Bridge
แพ็ก HEX / Flasher / demos: TESAIoT_Hackathon

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

ดูของจริงก่อน — Part 1: Environment Check

บันทึกผลลงโน้ตก่อนลงมือสร้างโปรเจกต์:

รายการ มีแล้ว? หมายเหตุ
ModusToolbox™ tools (ระบุเวอร์ชัน)
Arm GNU Toolchain (GCC)
VS Code
ส่วนขยายที่ชุดแล็บกำหนด
Terminal emulator (ถ้าต้องดู UART)

ผ่านเมื่อ: ตรวจรายการข้างบนครบว่าเครื่องพร้อม หรือสร้างโปรเจกต์ใหม่ได้ใน Part 2

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

ฝึกเติม/แล็บ (1) — Part 2: Create a Project

  1. เปิด ModusToolbox™ Dashboard หรือ Project Creator
  2. เลือก BSP/Kit ให้ตรงบอร์ดในมือ
  3. เลือกตัวอย่างเริ่มต้น — แนะนำเปิดจาก TESAIoT Developer Hub (Example Explorer → กรอง Board ตามคิต)
  4. เลือกเป้าหมาย VS Code
  5. สร้างโปรเจกต์ลงโฟลเดอร์ที่ตั้งชื่อเป็นระเบียบ

บันทึก: ชื่อโปรเจกต์ · BSP ที่เลือก · path โฟลเดอร์

ผ่านเมื่อ: มีไฟล์ .code-workspace ในโปรเจกต์

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

ฝึกเติม/แล็บ (2) — Part 3: Open in VS Code and Build

  1. เปิดไฟล์ *.code-workspace ด้วย VS Code
  2. รัน build ตามเวิร์กโฟลว์ที่เลือกใช้ (ปุ่มใน IDE หรือ make ในเทอร์มินัลโปรเจกต์)
  3. แก้ error เบื้องต้นถ้ามี (toolchain / path / library)

บันทึก: ผล build สำเร็จครั้งแรกใช้เวลาประมาณเท่าไร และ error ที่เจอ (ถ้ามี)

ผ่านเมื่อ: build สำเร็จโดยไม่มี error

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

ฝึกเติม/แล็บ (3) — Part 4: Flash to the Board

  1. เสียบ USB ให้ KitProg พร้อม
  2. Program/Flash ตาม launch config หรือคำสั่งที่เอกสารกำหนด
  3. สังเกตผลบนบอร์ด (LED / พฤติกรรมตามตัวอย่าง)
  4. ถ้าตัวอย่างมี UART: เปิด terminal ที่ baud ตามคู่มือ แล้วบันทึกข้อความที่ได้

ผ่านเมื่อ: เห็นพฤติกรรมที่ยืนยันว่าเฟิร์มแวร์ใหม่รันบนบอร์ด

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

ฝึกเติม/แล็บ (4) — Part 5: Debug Once

  1. ตั้ง breakpoint ใน main หรือฟังก์ชันที่เห็นชัดในตัวอย่าง
  2. เริ่ม debug session
  3. ยืนยันว่า halt ที่ breakpoint ได้ แล้ว resume/step อย่างน้อยหนึ่งครั้ง

บันทึก: ชื่อ configuration ที่ใช้ และ halt ที่บรรทัด/ฟังก์ชันใด

ผ่านเมื่อ: debug ทำงานได้อย่างน้อยหนึ่งรอบ

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

เช็กความเข้าใจ — Part 6: Configuration Awareness

เปิด Device Configurator (make device-configurator หรือจาก IDE) หา peripheral ที่ตัวอย่างใช้ (เช่น GPIO สำหรับ LED หรือ UART) แล้วเปิด Library Manager ดูรายการไลบรารีที่มีในโปรเจกต์ ตอบสั้น ๆ:

  1. BSP ของคุณชื่ออะไร
  2. ไลบรารีหนึ่งตัวที่เห็นใน Library Manager คืออะไร
  3. ถ้าเลือก BSP ผิดคิต จะเสี่ยงปัญหาแบบใด
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

ไปต่อ

ก่อนส่งงาน ตรวจกับตัวเองว่า:

  • [ ] Part 1 ตรวจเครื่องแล้ว
  • [ ] สร้างโปรเจกต์ BSP ตรงคิต
  • [ ] Build สำเร็จ
  • [ ] Flash แล้วเห็นผลบนบอร์ด
  • [ ] Debug halt ได้อย่างน้อยหนึ่งครั้ง
  • [ ] ตอบคำถาม Part 6 ครบ

พร้อมแล้ว ไปต่อ โมดูล 3 — GPIO และอุปกรณ์ต่อพ่วงพื้นฐาน

บทเรียนโมดูล 3 →

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0

แหล่งที่มา

"บทเรียน 2.2 — แล็บ: สร้าง build flash และ debug โปรเจกต์เฟิร์มแวร์" จาก TESA Open Knowledge โดยสมาคมสมองกลฝังตัวไทย
(Thai Embedded Systems Association: TESA) https://github.com/tesaiot/tesa-qualification-program
สัญญาอนุญาต CC BY-NC 4.0

เนื้อหาต้นฉบับโดย ผศ.ดร.สันติ นุราช ภาควิชาวิศวกรรมระบบควบคุมและเครื่องมือวัด คณะวิศวกรรมศาสตร์
มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าธนบุรี (KMUTT) (https://github.com/drsanti) ภายใต้การสนับสนุนของสมาคมสมองกลฝังตัวไทย (TESA)
นำเข้าจาก drsanti/TESAIoT-Courses — C1 (commit 287c218) ภายใต้สัญญาอนุญาต CC BY 4.0

ไม่มีภาพจากบุคคลที่สามในสไลด์ชุดนี้

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · ดัดแปลงจากงานของ ผศ.ดร.สันติ นุราช (KMUTT) · CC BY-NC 4.0