แล็บ: สร้าง build flash และ debug โปรเจกต์เฟิร์มแวร์
วิดีโอประกอบ
ดูบน YouTube (เปิดในแท็บใหม่)
-
Remote Flashing for PSoC Edge AI Kit via TESA Developer Hub สมาคมสมองกลฝังตัวไทย (TESA)
วิดีโอโดย สมาคมสมองกลฝังตัวไทย (TESA) · ดูทั้งชุดใน playlist AIoT Foundation
Course 1 · Module 2
Type: Hands-on lab (requires PC tools + board)
Suggested time: 90–120 minutes
Read first: Lesson · Cheatsheet · ← Table of Contents · ← M01 · M03 →
Lab Goals
หัวข้อที่มีชื่อว่า “Lab Goals”เมื่อทำครบ คุณจะ:
- ติดตั้ง/ตรวจสภาพแวดล้อม ModusToolbox™ + VS Code ให้พร้อม
- สร้างโปรเจกต์จาก BSP ของคิตในมือ
- Build สำเร็จใน VS Code หรือเทอร์มินัล
- Flash และยืนยันผลบนบอร์ดจริง
- เปิด debug session อย่างน้อยหนึ่งครั้ง
Prerequisites
หัวข้อที่มีชื่อว่า “Prerequisites”- อ่านจบ บทเรียน
- เครื่องติดตั้งตามรายการในบทเรียน (หรือตามคู่มือของชุดที่ใช้)
- บอร์ด 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 — clone หรือดาวน์โหลด ZIP แล้วใช้
hex/+flasher/ตาม README ของ repo (จับคู่เวอร์ชันกับ VSIX)
Part 1 — Environment Check
หัวข้อที่มีชื่อว่า “Part 1 — Environment Check”บันทึกผลลงโน้ต:
| รายการ | มีแล้ว? | หมายเหตุ |
|---|---|---|
| ModusToolbox™ tools (ระบุเวอร์ชัน) | ||
| Arm GNU Toolchain (GCC) | ||
| VS Code | ||
| ส่วนขยายที่ชุดแล็บกำหนด | ||
| Terminal emulator (ถ้าต้องดู UART) |
ผ่านเมื่อ: ตรวจรายการข้างบนครบว่าเครื่องพร้อม หรือคุณสร้างโปรเจกต์ใหม่ได้ใน Part 2
Part 2 — Create a Project
หัวข้อที่มีชื่อว่า “Part 2 — Create a Project”- เปิด ModusToolbox™ Dashboard หรือ Project Creator
- เลือก BSP/Kit ให้ตรงบอร์ดในมือ
- เลือกตัวอย่างเริ่มต้น
- แนะนำ: เปิดจาก TESAIoT Developer Hub (Example Explorer → กรอง Board ตามคิต)
- หรือ Hello World ของ Infineon หากเลือกเส้นทางนั้น
- เลือกเป้าหมาย VS Code
- สร้างโปรเจกต์ลงโฟลเดอร์ที่ตั้งชื่อเป็นระเบียบ (หลีกเลี่ยง path มีช่องว่างแปลก ๆ ถ้าทำได้)
บันทึก:
- ชื่อโปรเจกต์: _______________
- BSP ที่เลือก: _______________
- path โฟลเดอร์: _______________
ผ่านเมื่อ: มีไฟล์ .code-workspace ในโปรเจกต์
Part 3 — Open in VS Code and Build
หัวข้อที่มีชื่อว่า “Part 3 — Open in VS Code and Build”- เปิดไฟล์
*.code-workspaceด้วย VS Code - รัน build ตามเวิร์กโฟลว์ที่เลือกใช้ (ปุ่มใน IDE หรือ
makeในเทอร์มินัลโปรเจกต์) - แก้ error เบื้องต้นถ้ามี (toolchain / path / library)
| ผล build | บันทึก |
|---|---|
| สำเร็จครั้งแรกใช้เวลาประมาณ | |
| Error ที่เจอ (ถ้ามี) และวิธีแก้ |
ผ่านเมื่อ: build สำเร็จโดยไม่มี error
Part 4 — Flash to the Board
หัวข้อที่มีชื่อว่า “Part 4 — Flash to the Board”- เสียบ USB ให้ KitProg พร้อม
- Program/Flash ตาม launch config หรือคำสั่งที่เอกสารกำหนด
- สังเกตผลบนบอร์ด (LED / พฤติกรรมตามตัวอย่าง)
- ถ้าตัวอย่างมี UART: เปิด terminal ที่ baud ตามคู่มือ แล้วบันทึกข้อความที่ได้
ผ่านเมื่อ: เห็นพฤติกรรมที่ยืนยันว่าเฟิร์มแวร์ใหม่รันบนบอร์ด
Part 5 — Debug Once
หัวข้อที่มีชื่อว่า “Part 5 — Debug Once”- ตั้ง breakpoint ใน
mainหรือฟังก์ชันที่เห็นชัดในตัวอย่าง - เริ่ม debug session
- ยืนยันว่า halt ที่ breakpoint ได้ แล้ว resume/step อย่างน้อยหนึ่งครั้ง
บันทึก:
- ชื่อ configuration ที่ใช้: _______________
- halt ที่บรรทัด/ฟังก์ชัน: _______________
ผ่านเมื่อ: debug ทำงานได้อย่างน้อยหนึ่งรอบ
Part 6 — Configuration Awareness (Light)
หัวข้อที่มีชื่อว่า “Part 6 — Configuration Awareness (Light)”ไม่ต้อง redesign ทั้งบอร์ด — แค่เปิดดู:
- เปิด Device Configurator (
make device-configuratorหรือจาก IDE) - หา peripheral ที่ตัวอย่างใช้ (เช่น GPIO สำหรับ LED หรือ UART)
- เปิด Library Manager แล้วดูรายการไลบรารีที่มีในโปรเจกต์
ตอบสั้น ๆ:
- BSP ของคุณชื่ออะไร
- ไลบรารีหนึ่งตัวที่เห็นใน Library Manager คืออะไร
- ถ้าเลือก BSP ผิดคิต จะเสี่ยงปัญหาแบบใด
Self-Check Guidance (Part 6)
หัวข้อที่มีชื่อว่า “Self-Check Guidance (Part 6)”- ต้องตรงกับคิตจริง
- ตัวอย่างเช่น retarget-io, HAL/PDL/BSP packages ตามที่โปรเจกต์ดึงมา
- ขา/อุปกรณ์ไม่ตรงของจริง — LED/UART ไม่ออก หรือ program คนละเป้าหมาย
Common Misconceptions
หัวข้อที่มีชื่อว่า “Common Misconceptions”| ความเข้าใจผิด | แก้ไขอย่างไร |
|---|---|
| ติดตั้ง VS Code อย่างเดียวพอ | ต้องมี ModusToolbox™ tools + toolchain |
| เปิดโฟลเดอร์ย่อยสุ่มก็เหมือนเปิด workspace | เปิด .code-workspace ที่ระบบสร้างให้ |
| Build ผ่าน = เฟิร์มแวร์อยู่บนบอร์ดแล้ว | ต้อง program/flash แยก |
แก้ไฟล์ใน libs เป็นทางลัดดีเสมอ |
ใช้ Library Manager / โค้ดแอปเป็นหลัก |
Submission Checklist
หัวข้อที่มีชื่อว่า “Submission Checklist”- Part 1 ตรวจเครื่องแล้ว
- สร้างโปรเจกต์ BSP ตรงคิต
- Build สำเร็จ
- Flash แล้วเห็นผลบนบอร์ด
- Debug halt ได้อย่างน้อยหนึ่งครั้ง
- ตอบคำถาม Part 6 ครบ
Lesson · Cheatsheet · Table of Contents · M03 →
อ้างอิงบทเรียนนี้
ถ้านำบทเรียนนี้ไปสอน ทำสไลด์ หรือทำเอกสารต่อ ให้อ้างอิงด้วยข้อความนี้ ถ้าดัดแปลงเนื้อหา ให้เติม (ดัดแปลง)ต่อท้ายชื่อบทเรียน
"แล็บ: สร้าง build flash และ debug โปรเจกต์เฟิร์มแวร์" จาก TESA Open Knowledge โดยสมาคมสมองกลฝังตัวไทย (Thai Embedded Systems Association: TESA) https://github.com/tesaiot/tesa-qualification-program สัญญาอนุญาต CC BY-NC 4.0
ข้อความอ้างอิงภาษาอังกฤษ: "Lab: Create, Build, Flash, and Debug a Firmware Project" from TESA Open Knowledge by the Thai Embedded Systems Association (TESA), https://github.com/tesaiot/tesa-qualification-program, licensed under CC BY-NC 4.0
ลิงก์บทเรียน: https://tesaiot.github.io/tesa-qualification-program/courses/firmware-sdk-edge-ai/m02-toolchain/l02-lab/
บทเรียนนี้ดัดแปลงจากต้นฉบับด้านล่าง เมื่ออ้างอิงให้คงเครดิตต้นฉบับไว้ด้วย
https://github.com/drsanti/TESAIoT-Courses/blob/287c21814ba8c75f693136616dcd270349a15966/C1/M02/lab.md · Original content by Asst. Prof. Dr. Santi Nuratch (ผศ.ดร.สันติ นุราช), KMUTT. Course 1 (C1/) of drsanti/TESAIoT-Courses. TESA funded the work and holds the rights; published here under CC BY-NC 4.0. The upstream repository carries no licence file. Text kept faithful; structure, front matter, quizzes and notes added by TESA Open Knowledge.
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0
เนื้อหาเผยแพร่ภายใต้ CC BY-NC 4.0 นำไปใช้ต่อในงานที่ไม่ใช่เพื่อการค้าได้ โปรดอ้างอิงสมาคมสมองกลฝังตัวไทย (TESA) ทุกครั้ง · วิธีอ้างอิง TESA