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

ModusToolbox™ และ VS Code: สร้าง build flash debug

วิดีโอประกอบ

ดูบน YouTube (เปิดในแท็บใหม่)

วิดีโอโดย สมาคมสมองกลฝังตัวไทย (TESA) · ดูทั้งชุดใน playlist AIoT Foundation

Course 1 · Module 2
Suggested time: ประมาณ 2.5–3 ชั่วโมง (ติดตั้งเครื่องมือ + สร้างโปรเจกต์ + build / flash / debug)
Format: บทเรียนเชิงปฏิบัติ — ใช้เครื่องพัฒนาและบอร์ดจริง

Lab · Cheatsheet · ← Table of Contents · ← M01 · M03 →

ถ้าจะ build จากซอร์สเปิด (ตรวจสอบเมื่อ 26 ก.ย. 2026): README ของ tesaiot-pse84-devkit-sdk (commit ef72c1b) ตรึง ModusToolbox™ ไว้ที่ 3.6 เท่านั้น พร้อม Arm GCC 14.2.1 ที่มากับ ModusToolbox build ด้วย make build และ flash ด้วย make program ส่วนเฟิร์มแวร์ที่ใช้ในโมดูล 3–8 ของหลักสูตรนี้แจกเป็น HEX สำเร็จรูปและยังไม่เปิดซอร์ส ดูหมายเหตุในบทเรียนโมดูล 3 และที่หน้าหลักสูตร


เมื่อเรียนจบ คุณควรทำได้ดังนี้:

  1. อธิบายบทบาทของ ModusToolbox™ ในการสร้างและจัดการโปรเจกต์เฟิร์มแวร์บน PSOC™ Edge
  2. ตั้งค่า Environment / Toolchain ที่จำเป็นให้ build ได้บนเครื่องของคุณ
  3. ใช้ Visual Studio Code ร่วมกับระบบนิเวศ ModusToolbox™ เพื่อแก้ไขโค้ด Build และ Debug
  4. จัดการ Project Configuration, Device / BSP Selection และ Library Management ในระดับใช้งานจริง
  5. เชื่อมเครื่องมือเข้ากับฮาร์ดแวร์จริงเพื่อ Flash และ Debug จนรันโปรแกรมตัวอย่างได้

โมดูลนี้พาคุณจากแผนที่สถาปัตยกรรมใน M01 ไปสู่เวิร์กโฟลว์จริง: สร้างโปรเจกต์บน BSP ของคิต เรียกใช้ชั้น SDK และเห็นโค้ดรันบนบอร์ด

หมายเหตุเวอร์ชัน
คู่มือ Infineon สำหรับ PSOC™ Edge (เช่น PSOC™ Edge quick start guide) มักแนะนำ ModusToolbox™ tools 3.6 หรือใหม่กว่า
ให้ยึดเวอร์ชันที่ชุดแล็บของคุณกำหนดเป็นหลัก หากต่างจากตัวเลขในบทนี้ ให้ยึดตามชุดแล็บ

เอกสาร ใช้เมื่อ
ModusToolbox™ software installation guide ติดตั้งครั้งแรกบน Windows / Linux / macOS
PSOC™ Edge quick start guide ตรวจรายการแพ็กที่ควรติดสำหรับ Edge
AN235935 — Getting started with PSOC™ Edge on ModusToolbox™ ภาพรวมสถาปัตยกรรมเครื่องมือ + เส้นทาง Hello World
Visual Studio Code for ModusToolbox™ user guide (PDF) เปิดโปรเจกต์ใน VS Code, build / program / debug
ModusToolbox™ tools package user guide Project Creator, Library Manager, configurators, flow รวม
mtb-example-psoc-edge-hello-world ตัวอย่าง Hello World ของ Infineon (tools 3.6+) — อ้างอิงเสริม
TESAIoT Developer Hub คลังตัวอย่างหลักของหลักสูตร — Example Explorer, Code Editor, flowchart, API Reference
Bitstream Studio Host / Digital Twin ใน VS Code — Sensor Telemetry, Sensor Studio, เชื่อมต่อบอร์ดหรือ Simulator
TESAIoT_Hackathon แพ็กแล็บ — HEX firmware, VSIX, TESAIoT Flasher, web-app / BLE demos สำหรับ flash และฝึกปฏิบัติ

จาก M01 เรารู้แล้วว่า TESA Firmware SDK คือชุดไลบรารี/API ที่แอปเรียกใช้ ส่วนเครื่องมือพัฒนาเป็นอีกชั้นหนึ่ง

เครื่องมือ บทบาทหลักในหลักสูตรนี้ อ่านเพิ่ม
ModusToolbox™ ติดตั้ง toolchain, สร้างโปรเจกต์จาก BSP/template, จัดการ library, เปิด configurator Tools package user guide
Visual Studio Code เขียนโค้ด, IntelliSense, build/debug ผ่านเวิร์กโฟลว์ที่ ModusToolbox™ รองรับ VS Code for ModusToolbox™
KitProg3 / OpenOCD (บนคิต) Flash และ debug บนฮาร์ดแวร์จริง ส่วน Programming ใน AN235935

Key phrase
ModusToolbox™ ใช้สร้างโปรเจกต์และจัดการ toolchain/library — VS Code ใช้เขียนโค้ดและ debug — SDK คือ API ที่แอปเรียกใช้

Infineon รองรับหลาย IDE ได้แก่ Eclipse, VS Code, IAR Embedded Workbench และ Arm® MDK (µVision) รวมถึงการทำงานแบบ CLI
ดูภาพรวมได้ใน AN235935 และ tools package user guide

ในหลักสูตรนี้เราโฟกัสคู่ ModusToolbox™ + VS Code เพราะเป็นแนวทางที่พบได้บ่อยในการเรียนและทีมพัฒนาสมัยใหม่ และมีคู่มือเฉพาะทางชัดเจน


ModusToolbox™ ไม่ใช่แค่ตัวติดตั้ง IDE แต่เป็น ชุดเครื่องมือ + ไลบรารี + ระบบ build สำหรับพัฒนาแอปบน Infineon MCU รวมถึงตระกูล PSOC™ Edge

องค์ประกอบที่คุณจะใช้บ่อยในหลักสูตร:

ส่วนประกอบ ใช้ทำอะไร อ่านเพิ่ม
Setup / tools package ติดตั้ง base tools, GCC, programming tools Installation guide
Dashboard จุดเริ่มเปิดเครื่องมือและสร้างโปรเจกต์ ลิงก์จาก Setup / docs ของเวอร์ชันที่ติดตั้ง
Project Creator สร้างแอปจาก BSP + code example / template Tools package user guide — Project Creator
Library Manager เพิ่ม ลบ อัปเดตไลบรารีของโปรเจกต์ ส่วน Library management ใน AN235935
Device Configurator ตั้งค่าขา, clock, peripheral แล้วสร้างโค้ดคอนฟิก คู่มือ Device Configurator ใน tools package + make device-configurator
Build system (make) compile / program / เปิดเครื่องมือผ่าน recipe มาตรฐาน Tools package user guide

หน้าผลิตภัณฑ์และจุดดาวน์โหลดรวม: ModusToolbox™
โปรแกรม Setup มักดาวน์โหลดผ่าน Infineon Development Center / Software Tools (ลิงก์ใน VS Code user guide PDF ชี้ไปที่ softwaretools.infineon.com)

จาก PSOC™ Edge quick start guide โดยสรุปควรติดตั้งอย่างน้อย:

  1. ModusToolbox™ Setup ตาม installation guide สำหรับ OS ของคุณ
  2. Arm® GNU Toolchain (GCC)
  3. Base tools package เวอร์ชันที่รองรับ Edge (3.6+ ตาม quick start)
  4. IDE ตัวเลือก — ในหลักสูตรนี้เลือก VS Code (ดาวน์โหลด VS Code หากยังไม่มี)
  5. Programming tools package ตามที่ Setup เสนอ
  6. (ถ้าต้องใช้) Edge Protect Security Suite หรือแพ็ก ML เช่น DEEPCRAFT™ / Machine Learning Pack — ไม่บังคับสำหรับ Hello World แรก

LLVM (optional)
Quick start ระบุว่าบางงานอาจต้องการ LLVM Embedded Toolchain for Arm ซึ่งไม่รวมใน Setup มาตรฐาน — ติดตั้งเพิ่มเมื่อคู่มือของชุดที่ใช้ระบุ

  • ใช้ Setup program เป็นวิธีหลักตั้งแต่รุ่น 3.2 เป็นต้นไป เพราะช่วยเลือก tools, IDE และ toolchain เป็นชุด
  • หากสร้างแอปหรือเพิ่ม library แล้วระบบแจ้งว่าขาดแพ็ก ให้กลับไปเปิด Setup / ติดตั้งแพ็กที่ขาด (Project Creator และ Library Manager มักเตือนเมื่อขาด asset)
  • เครือข่ายที่บล็อก GitHub อาจกระทบการดึง BSP/library — ดูหัวข้อ proxy / manifest ใน installation guide และ Project Creator guide ของเวอร์ชันที่ติดตั้ง

Project Creator มีทั้ง GUI และ CLI ติดตั้งภายใต้โฟลเดอร์ tools ของ ModusToolbox™ (เช่น .../ModusToolbox/tools_<version>/project-creator)
รายละเอียดขั้นตอนอยู่ใน tools package user guide และ VS Code for ModusToolbox™ guide

ลำดับมาตรฐาน:

  1. เปิด ModusToolbox™ Dashboard หรือเปิด Project Creator โดยตรง
  2. เลือก Kit / BSP ที่ตรงกับบอร์ดในมือ เช่นตระกูล KIT_PSE84_EVAL ที่คุณมี
  3. เลือก code example หรือ template เริ่มต้น
    • แนะนำหลักสูตร: เปิดตัวอย่างจาก TESAIoT Developer Hub (กรอง Board / Domain ตามคิตในมือ) แล้วดาวน์โหลดหรือเปิดตามคู่มือของชุดที่ใช้
    • ทางเลือกผู้ผลิต: Hello World สำหรับ PSOC™ Edge เมื่อต้องการเทียบกับตัวอย่างดิบของ Infineon
  4. ใน Target IDE เลือก Visual Studio Code / Microsoft Visual Studio Code เพื่อให้สร้างไฟล์เวิร์กสเปซและคอนฟิกที่เกี่ยวข้อง
  5. ระบุโฟลเดอร์ปลายทาง แล้วให้เครื่องมือ clone BSP/template และดึงไลบรารีที่จำเป็นจาก manifest

ผลลัพธ์ที่คาดหวัง:

  • โครงสร้างโปรเจกต์พร้อมระบบ make
  • ไลบรารี/BSP ที่ถูกดึงมาแล้ว
  • ไฟล์ *.code-workspace สำหรับ VS Code

คลังตัวอย่างของหลักสูตร: TESAIoT Developer Hub
คลังตัวอย่างรวมของ Infineon (เสริม): Code Examples for ModusToolbox™ Software

โครงสร้างจริงขึ้นกับ template แต่แนวคิดมักคล้ายกัน:

my-app/
├── *.code-workspace # เปิดด้วย VS Code
├── Makefile / makefiles # ระบบ build ของ ModusToolbox™
├── main.c / source/ # โค้ดแอปของคุณ
├── deps / libs / bsps ... # ไลบรารีและ BSP ที่ดึงมา (ชื่อโฟลเดอร์ตามเวอร์ชัน)
├── configs / design.modus # คอนฟิกจาก Device Configurator (ถ้ามี)
└── build/ # ผล build (สร้างตอน compile)

แนวปฏิบัติมืออาชีพ

  • แก้โค้ดผลิตภัณฑ์ในชั้นแอป ไม่แก้ในโฟลเดอร์ library จนเป็นนิสัย
  • เพิ่ม/อัปเดต dependency ผ่าน Library Manager
  • commit เฉพาะสิ่งที่ทีมกำหนด (บางทีมไม่ commit โฟลเดอร์ libs ทั้งก้อน — ตามนโยบายของทีม)

ก่อน build ได้ เครื่องต้องมีอย่างน้อย:

ส่วนประกอบ ใช้ทำอะไร อ้างอิง
ModusToolbox™ tools Project Creator, Library Manager, make recipes, OpenOCD ฯลฯ Installation guide
Arm GNU Toolchain (GCC) แปลโค้ด C เป็นไบนารีสำหรับ Cortex-M Edge quick start
VS Code + extensions แก้ไขและ debug VS Code guide
USB access สำหรับ KitProg ให้โฮสต์เห็น debugger บนบอร์ด AN235935 — Programming and Debugging
Terminal emulator ดู UART log จากตัวอย่าง README ของ Hello World example มักแนะนำเช่น Tera Term
Bitstream Studio (แนะนำติดตั้ง) Host app ใน VS Code — Sensor Telemetry / Sensor Studio / digital twin เชื่อมบอร์ดหลัง flash Marketplace — TERNIONDEV.bitstream-studio
TESAIoT_Hackathon pack HEX สำเร็จรูป, TESAIoT Flasher, VSIX สำรอง, web-app demos github.com/drsanti/TESAIoT_Hackathon

ระบบ build ของ ModusToolbox™ คาดว่าจะหา tools package ได้ตาม path การติดตั้งมาตรฐาน
หากติดตั้งผิดที่หรือมีหลายเวอร์ชันซ้อนกัน มักเจออาการ:

  • make หา compiler ไม่เจอ
  • เปิด configurator ไม่ได้
  • program/debug ล้มเหลวทั้งที่บอร์ดเสียบอยู่

แนวทางแก้เบื้องต้น:

  1. ติดตั้งใหม่หรือซ่อมผ่าน Setup / installation guide
  2. เปิดเทอร์มินัลจากเวิร์กโฟลว์ที่เอกสาร VS Code / tools package แนะนำ
  3. ในโฟลเดอร์โปรเจกต์ ทดลองเป้าหมายมาตรฐาน เช่น make help หรือ make build (ชื่อเป้าหมายอาจต่างตาม template — ดู Makefile ของโปรเจกต์)

Edge quick start ระบุทางเลือก SEGGER J-Link:

  1. ติดตั้ง J-Link software แล้วจด path
  2. แก้ไฟล์ BSP (เช่น bsp.mk) เพิ่ม BSP_PROGRAM_INTERFACE=JLink
  3. ถ้าติดตั้งนอก path มาตรฐาน เพิ่ม MTB_JLINK_DIR=... เช่น
    • Windows: C:/Program Files/SEGGER/JLink_V852
    • macOS: /Applications/SEGGER/JLink_V852
    • Linux: /opt/SEGGER/JLink_V852

ส่วนใหญ่ใช้ KitProg บนบอร์ด ก่อน — สลับไป J-Link เมื่อจำเป็น


เอกสารหลักของส่วนนี้:
Visual Studio Code for ModusToolbox™ user guide · PDF

ลำดับมาตรฐาน:

  1. สร้างโปรเจกต์ด้วย Project Creator โดยเลือก target เป็น VS Code หรือสร้างแล้วได้ไฟล์เวิร์กสเปซ
  2. เปิด VS Code ด้วยมือ
  3. เปิดไฟล์ {project-name}.code-workspace ในโฟลเดอร์โปรเจกต์

อย่าเปิดแค่โฟลเดอร์ย่อยแบบสุ่มจน task / launch configuration หาย — ให้เปิดไฟล์ workspace ที่เครื่องมือสร้างให้
รายละเอียดเพิ่มในส่วน “Using the code example” ของหลาย repo เช่น Hello World docs flow

คู่มือ VS Code ของ Infineon อ้างถึง:

  • ส่วนขยาย/เวิร์กโฟลว์ ModusToolbox™ Assistant (ตามเวอร์ชัน) สำหรับช่วยสร้างแอปและเปิดเครื่องมือ
  • Cortex-Debug สำหรับเพิ่มความสามารถ debug ของ Cortex-M ใน VS Code

ถ้าชุดแล็บของคุณระบุชุด extension ที่ล็อกไว้ — ติดตั้งตามรายการนั้นเพื่อให้:

  • สร้าง/เปิดแอปได้จาก VS Code
  • รัน build / program / debug configurations
  • เปิด Device Configurator และเครื่องมืออื่นจากแผงช่วยเหลือ

ไม่ว่าจะกดปุ่มใน VS Code หรือใช้เทอร์มินัล หลักการเดียวกันคือเรียก ระบบ make ของโปรเจกต์ ที่ ModusToolbox™ สร้างไว้
ดูภาพรวม build/program/debug ใน tools package user guide

สิ่งที่ควรตรวจเมื่อ build สำเร็จ:

  • ไม่มี error จาก compiler / linker
  • ได้ไฟล์เอาต์พุตในโฟลเดอร์ build ตามที่ template กำหนด
  • หลังเปลี่ยน BSP/library แล้วยัง build ใหม่ได้
การกระทำ ความหมาย
Program / Flash เขียนเฟิร์มแวร์ลงหน่วยความจำของอุปกรณ์
Debug มักรวมการ program แล้วหยุดที่ breakpoint / step โค้ดผ่าน GDB + OpenOCD หรือ probe อื่น

AN235935 ระบุว่า ModusToolbox™ รองรับ OpenOCD + GDB server และ probe เช่น KitProg3 หรือ J-Link
สำหรับ PSOC™ Programmer แบบแยก (program/erase/verify/read) ดูเอกสาร Programming tools ของ Infineon ที่มากับ Setup


BSP (Board Support Package) บอกโปรเจกต์ว่า:

  • ใช้ชิป/บอร์ดใด
  • ขาและอุปกรณ์บนบอร์ดแมปอย่างไร
  • ต้องดึงไลบรารีใดเป็นอย่างน้อย

การเลือก BSP ผิดตอนสร้างโปรเจกต์ = โค้ดอาจ build ได้แต่ ขา LED/UART ไม่ตรงของจริง

กฎง่าย ๆ: เลือก BSP ให้ตรงกับคิตที่เสียบอยู่
ตัวอย่างคิตอ้างอิง: KIT_PSE84_EVAL · หน้า PSOC™ Edge E84

Device Support Library ตัวอย่างบน GitHub: mtb-dsl-pse8xxgp

เปิดได้จากเวิร์กโฟลว์ IDE หรือจากโฟลเดอร์โปรเจกต์:

Terminal window
make device-configurator

ตาม VS Code for ModusToolbox™ guide ใช้เพื่อ:

  • ดู/เปิดใช้งาน peripheral
  • ตั้งค่า pins, clocks, DMA ฯลฯ
  • สร้างโค้ดคอนฟิกที่ลิงก์เข้า build
  • เปิด configurator อื่นที่เกี่ยวข้อง (เช่น CAPSENSE™, QSPI) ตามที่ BSP รองรับ

แต่ละ resource ที่เปิดมักมีลิงก์ไป API documentation ที่เกี่ยวข้อง

สำหรับ PSOC™ Edge: การตั้งค่าและ init เพริเฟอรัลจำนวนมากถูกออกแบบให้ทำผ่าน configurator + PDL (ทบทวน M01 §7–8)
ใน M02 ให้ฝึก “เปิดดูและบันทึกคอนฟิก” ก่อนเขียน Driver ลึกใน M03

Library Manager ช่วย:

  • เพิ่ม middleware / ไลบรารี
  • ลบของที่ไม่ใช้
  • อัปเดตเวอร์ชันตาม manifest บน GitHub ของ Infineon

ใช้เมื่อต้องการฟีเจอร์เพิ่ม เช่น retarget-io (UART printf), abstraction-rtos, connectivity — ไม่คัดลอกไลบรารีจากโปรเจกต์อื่นแบบสุ่ม
ดูคำอธิบาย library management ใน AN235935

ก่อนสรุปว่าโปรเจกต์พร้อมพัฒนาต่อ:

  • BSP ตรงคิต
  • เปิดใน VS Code ผ่าน .code-workspace
  • build ผ่าน
  • รู้วิธีเปิด Device Configurator และ Library Manager
  • รู้ว่าโค้ดแอปอยู่ไฟล์/โฟลเดอร์ไหน

  • คิต PSOC™ Edge ที่ใช้ (เช่น KIT_PSE84_EVAL)
  • สาย USB ที่จ่ายไฟและคุยกับ KitProg ได้
  • (ถ้ามี) พอร์ต UART ตามคู่มือคิต — บางคิตใช้ USB-UART ผ่าน KitProg

คิต Infineon มักมีโปรแกรมเมอร์บนบอร์ดชื่อ KitProg
ModusToolbox™ คาด KitProg3 (CMSIS-DAP) ซึ่งเร็วกว่าโหมด HID ในหลายกรณี ตามที่อธิบายในคู่มือ VS Code / tools

หากคิตเก่าหรือเฟิร์มแวร์ไม่ตรง:

  • ใช้ fw-loader ที่มากับ ModusToolbox™ เพื่ออัปเดต KitProg
  • บน Linux อาจต้องติดตั้ง udev rules ก่อนใช้ fw-loader ครั้งแรก

อ่านรายละเอียดในส่วน KitProg ของ VS Code user guide PDF และ AN235935

เมื่อเลือกใช้เฟิร์มแวร์สำเร็จรูป (ไม่ build จากซอร์สในตอนนั้น) หรือต้องการตัวติดตั้ง flasher / VSIX คู่กัน ให้ใช้แพ็กจาก:

TESAIoT_Hackathon

โฟลเดอร์ใน repo ใช้ทำอะไร
hex/ ไฟล์ .hex ของ DevKit — flash ก่อนแล็บฮาร์ดแวร์
flasher/ ตัวติดตั้ง TESAIoT Flasher (Windows / macOS / Linux)
vsix/ Bitstream Studio .vsix (ทางเลือกติดตั้งนอก Marketplace)
web-app/ ตัวอย่าง HTML telemetry สำหรับฝึกหลังเชื่อมต่อโฮสต์

จับคู่เวอร์ชัน VSIX กับ HEX ตามที่ README ของ repo แนะนำ (ดูรายการ latest ใน firmware manifest เมื่อมี)

ทางเลือก flash อื่นในหลักสูตร: ModusToolbox™ Program จากโปรเจกต์ที่คุณ build เอง (หมวดก่อนหน้า) หรือ TESAIoT Flasher + HEX จาก repo นี้

เป้าหมายขั้นต่ำของ M02:

  1. Build โปรเจกต์ตัวอย่างผ่าน หรือ flash HEX จากแพ็กแล็บสำเร็จ
  2. Program ลงบอร์ดสำเร็จ
  3. เห็นพฤติกรรมที่ยืนยันได้ เช่น LED กระพริบ และ/หรือข้อความบน serial terminal / telemetry ใน Bitstream Studio
  4. เปิด debug session ได้ อย่างน้อย halt ที่ main หรือ breakpoint ง่าย ๆ (เมื่อใช้เส้นทาง build จากซอร์ส)

เส้นทางอ้างอิงหลักสูตร (ตัวอย่างโค้ด): TESAIoT Developer Hub
เส้นทางอ้างอิงแพ็กแล็บ (HEX / Flasher / demos): TESAIoT_Hackathon
เส้นทางอ้างอิงผู้ผลิต (เสริม): mtb-example-psoc-edge-hello-world + ขั้นตอนใน AN235935

ถ้าทำครบเกณฑ์นี้ คุณพร้อมเข้า M03 เพื่อเรียก Driver API อย่างมีระบบ

อาการ แนวทางตรวจ อ่านเพิ่ม
บอร์ดไม่ปรากฏ / ไม่ program ได้ สาย USB, พอร์ต, KitProg3, ไดรเวอร์, ลองพอร์ตอื่น KitProg / fw-loader ในคู่มือ VS Code · Hackathon troubleshooting
Build หา toolchain ไม่เจอ ติดตั้ง GCC/tools ตาม Setup, เปิดเทอร์มินัลที่ถูกต้อง Installation guide
Build ผ่านแต่ไม่มีอาการบนบอร์ด BSP ผิดคิต, ยังไม่ได้ program, ดูคนละ LED/UART ตรวจ BSP กับหน้าคิต
Debug ต่อไม่ได้ OpenOCD/KitProg, ปิดโปรแกรมที่ครองพอร์ต, ตรวจ launch config Cortex-Debug + VS Code guide
Serial ไม่มีข้อความ baud rate, พอร์ต COM, ยังไม่มี retarget-io/UART ในตัวอย่าง README ของ code example
Flash HEX แล้วไม่มี telemetry VSIX กับ HEX คนละเวอร์ชัน, baud ไม่ใช่ 921600, ยังไม่ Link ใน Bitstream Studio TESAIoT_Hackathon README

เมื่อโปรเจกต์พร้อมแล้ว คุณยืนบนสแต็กเดียวกับที่เรียนใน M01:

VS Code (edit / build / debug)
│
ModusToolbox™ tools (create, libraries, configurators, OpenOCD)
│
Application → Utility / Driver API (TESA Firmware SDK ในหลักสูตร)
│
BSP / PDL / HAL (Device Support)
│
PSOC™ Edge hardware
  • M02 ทำให้คุณ พร้อมสร้างและรันโปรเจกต์บนเครื่องมือจริง
  • M03 จะให้คุณ เรียก Driver API บนโปรเจกต์นั้นอย่างตั้งใจ

ทบทวนชั้นซอฟต์แวร์: M01 — Software Ecosystem · Device Support Library (pse8xxgp)


  1. ModusToolbox™ สร้างโปรเจกต์จาก BSP/template และจัดการ toolchain / libraries / configurators
  2. Environment ที่ถูกต้อง = tools + GCC + VS Code + สิทธิ์เข้าถึง KitProg
  3. เปิดโปรเจกต์ผ่าน .code-workspace แล้ว build/debug ตามเวิร์กโฟลว์ Infineon
  4. BSP ต้องตรงคิต; ใช้ Device Configurator และ Library Manager เป็นทางหลัก
  5. Flash + Debug บนบอร์ดจริง คือเกณฑ์ผ่านของโมดูลนี้
  1. ทำแบบฝึกปฏิบัติ: Lab
  2. เก็บแผ่นสรุป: Cheatsheet
  3. เมื่อพร้อม ไปต่อ M03 — GPIO and Basic Peripherals (บทเรียน M03)

  1. ModusToolbox™ product page
  2. ModusToolbox™ software installation guide
  3. ModusToolbox™ tools package user guide (PDF)
  4. PSOC™ Edge quick start guide
  5. AN235935 — Getting started with PSOC™ Edge E8 MCU on ModusToolbox™ (PDF)
  6. Visual Studio Code for ModusToolbox™ user guide · PDF
  7. PSOC™ Edge E84 product page
  8. KIT_PSE84_EVAL evaluation kit
  1. TESAIoT Developer Hub — Example Explorer, flowchart, API Reference (แหล่งตัวอย่างหลักของหลักสูตร)
  2. mtb-example-psoc-edge-hello-world — ตัวอย่าง Infineon เสริม
  3. Code Examples for ModusToolbox™ Software
  4. mtb-dsl-pse8xxgp (Device Support Library)
  1. Visual Studio Code · Download · Docs
  2. Cortex-Debug extension (GitHub)
  3. SEGGER J-Link (optional probe)
  4. LLVM Embedded Toolchain for Arm (optional)
  5. OpenOCD / KitProg3 ตามคู่มือคิต
  1. Bitstream Studio — Visual Studio Marketplace (TERNIONDEV.bitstream-studio) — VS Code extension สำหรับ Sensor Telemetry, Sensor Studio, digital twin 3D และโฮสต์ที่เชื่อมต่อเฟิร์มแวร์บน TESAIoT / PSoC Edge (USB / Wi‑Fi / MQTT หรือ Simulator)
  1. TESAIoT_Hackathon (GitHub) — HEX firmware (hex/), TESAIoT Flasher (flasher/), VSIX (vsix/), web-app telemetry demos (web-app/) สำหรับฝึกปฏิบัติ

คำถามสั้นสามข้อใน quiz.yaml ผูกกับเป้าหมายของบทเรียนนี้ข้อละหนึ่งคำถาม ลองตอบเองก่อน แล้วค่อยเทียบกับเฉลยและคำอธิบายในไฟล์

ลงมือต่อที่ แล็บ: สร้าง build flash และ debug โปรเจกต์เฟิร์มแวร์

Lab · Cheatsheet · ← Table of Contents · ← M01 · M03 →

ลองของจริงบน TESAIoT Dev Kit: เปิดตัวอย่างบน Developer Hub เพื่ออ่านโค้ด ดาวน์โหลด หรือ flash เฟิร์มแวร์สำเร็จรูป

คำถามทบทวน

ลองตอบเองก่อน แล้วค่อยเปิดดูเฉลย

  1. เครื่องมือใดทำหน้าที่ “สร้างโปรเจกต์จาก BSP/template และจัดการ toolchain / library” (เป้าหมายข้อ 1)

    1. VS Code
    2. KitProg3
    3. TESA Firmware SDK
    4. ModusToolbox™
    ดูเฉลย

    คำตอบ: D. ModusToolbox™

    Key phrase ของหัวข้อ 1: ModusToolbox™ สร้างโปรเจกต์และจัดการ toolchain/library, VS Code ใช้เขียนโค้ดและ debug, SDK คือ API ที่แอปเรียกใช้

  2. ข้อใดเป็นเงื่อนไขที่บทเรียนย้ำว่า “ต้องตรง” ก่อนคาดหวังผลบนบอร์ด (เป้าหมายข้อ 2)

    1. ต้องใช้ J-Link แทน KitProg เสมอ
    2. BSP ต้องตรงกับคิตที่ใช้
    3. ต้องใช้ IAR Embedded Workbench
    4. ต้องติดตั้ง Blender
    ดูเฉลย

    คำตอบ: B. BSP ต้องตรงกับคิตที่ใช้

    Module Summary ข้อ 4: BSP ต้องตรงคิต และตาราง 6.5 ก็ชี้ว่า BSP ผิดคิตเป็นสาเหตุแรกของอาการ build ผ่านแต่บอร์ดเงียบ

  3. Flash HEX แล้วแต่ไม่มี telemetry ใน Bitstream Studio ตารางในหัวข้อ 6.5 ชี้สาเหตุใด (เป้าหมายข้อ 3)

    1. ยังไม่ได้ติดตั้ง Arm MDK
    2. BSP มี LED มากเกินไป
    3. ต้องใช้ LLVM แทน GCC
    4. VSIX กับ HEX คนละเวอร์ชัน, baud ไม่ใช่ 921600 หรือยังไม่ Link
    ดูเฉลย

    คำตอบ: D. VSIX กับ HEX คนละเวอร์ชัน, baud ไม่ใช่ 921600 หรือยังไม่ Link

    แถวสุดท้ายของตาราง 6.5 Troubleshooting Quick Table

อ้างอิงบทเรียนนี้

ถ้านำบทเรียนนี้ไปสอน ทำสไลด์ หรือทำเอกสารต่อ ให้อ้างอิงด้วยข้อความนี้ ถ้าดัดแปลงเนื้อหา ให้เติม (ดัดแปลง)ต่อท้ายชื่อบทเรียน

"ModusToolbox™ และ VS Code: สร้าง build flash debug" จาก TESA Open Knowledge โดยสมาคมสมองกลฝังตัวไทย (Thai Embedded Systems Association: TESA) https://github.com/tesaiot/tesa-qualification-program สัญญาอนุญาต CC BY-NC 4.0

ข้อความอ้างอิงภาษาอังกฤษ: "ModusToolbox™ and VS Code: Create, Build, Flash, Debug" 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/l01-modustoolbox-and-vscode/

บทเรียนนี้ดัดแปลงจากต้นฉบับด้านล่าง เมื่ออ้างอิงให้คงเครดิตต้นฉบับไว้ด้วย
https://github.com/drsanti/TESAIoT-Courses/blob/287c21814ba8c75f693136616dcd270349a15966/C1/M02/README.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 ฉบับเต็ม

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

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