แนะนำการใช้งาน Zephyr IDE สำหรับ VS Code IDE#

Keywords: Zephyr RTOS, Zephyr IDE, Extension Pack for VS Code IDE, RP2040, Raspberry Pi Pico


การติดตั้ง Zephyr IDE#

Zephyr RTOS เป็นระบบปฏิบัติการเวลาจริงที่เปิดเผยซอร์สโค้ด รองรับการใช้งานชิปตัวประมวลผลหลายชนิด เช่น ARM, RISC-V และอื่นๆ โดยปรกติแล้วการเขียนโค้ดภาษา C สำหรับอุปกรณ์หรือระบบสมองกลฝังตัว โดยใช้ Zephyr RTOS จะต้องมีการติดตั้งและใช้งานโปรแกรมแบบ Command Line Tools (สำหรับระบบปฏิบัติการ Ubuntu | mac OS | Windows) อย่างเช่น

  • West สำหรับ Zephyr เป็นโปรแกรมที่ทำงานด้วยภาษา Python ที่ช่วยในการจัดการดาวน์โหลดไฟล์จาก Git และการสร้างโปรเจค Zephyr โดยใช้คำสั่งต่าง ๆ สำหรับการสร้าง (init) คอมไพล์โค้ด (build), การเตรียม (flash), และการดีบัก (debug)
  • Zephyr SDK (Software Development Kit): คือชุดเครื่องมือที่จำเป็นสำหรับการพัฒนาซอฟต์แวร์บน Zephyr RTOS โดยมีเครื่องมือต่าง ๆ เช่น CMake, Python, C/C++ Toolchains และ Devicetree Compiler (dtc) ที่จำเป็นสำหรับการทำงานกับ Zephyr รวมถึงโค้ดตัวอย่าง

Zephyr IDE เป็นส่วนเสริมหรือ Extension Pack สำหรับ VS Code IDE ที่จะช่วยให้การใช้งานและเขียนโค้ดด้วย Zephyr RTOS ทำงานได้ง่ายขึ้น

บทความนี้จะนำเสนอขั้นตอนการติดตั้งเครื่องมือสำหรับพัฒนา Zephyr RTOS บน Windows และแนะนำให้ติดตั้งโปรแกรมที่มีชื่อว่า Chocolatey ซึ่งเป็นเครื่องมือสำหรับติดตั้งแพคเกจซอฟต์แวร์ต่างๆ ที่โดยปรกติแล้วจะใช้สำหรับ Linux แต่นำมาใช้ได้บน Windows

  1. ติดตั้ง Chocolatey สำหรับผู้ใช้ทั่วไป
  2. เข้าเว็บไซต์สำหรับติดตั้ง Chocolatey: https://chocolatey.org/install
  3. ทำตามขั้นตอนการติดตั้งตามที่เว็บไซต์แนะนำ (ให้ทำคำสั่งใน PowerShell ที่เปิดใช้งานในโหมด Administrator)
  4. ตรวจสอบเวอร์ชั่นของ Chocolatey
  5. เปิดหน้าต่างคำสั่ง ในโหมดผู้ดูแลระบบ (Administrator) แล้วพิมพ์คำสั่ง choco -v และกด Enter ผลลัพธ์ที่ได้ควรแสดงเวอร์ชั่นของ Chocolatey ที่ได้ติดตั้งไว้ (ตัวอย่างเช่น 2.4.1)
  6. อนุญาตการติดตั้งแพคเกจโดยไม่ต้องยืนยันซ้ำ: พิมพ์คำสั่ง choco feature enable -n allowGlobalConfirmation และกด Enter คำสั่งนี้จะช่วยให้ไม่ต้องยืนยันการติดตั้งแพคเกจทุกครั้งที่ใช้คำสั่ง choco install
  7. ติดตั้งเครื่องมือที่จำเป็น: พิมพ์คำสั่งต่อไปนี้ทีละบรรทัด (กด Enter หลังจากพิมพ์แต่ละบรรทัด)
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'
choco install ninja gperf python311 git dtc-msys2 wget 7zip openocd

รูป: ตัวอย่างข้อความจากการทำคำสั่งติดตั้งโปรแกรมด้วย Chocolatey ใน Windows PowerShell (Admin)

เครื่องมือที่ได้ติดตั้งสำหรับการใช้งาน ได้แก่

  • cmake: เครื่องมือสร้างระบบ (build system)
  • ninja: เครื่องมือสร้างโปรแกรม (build tool)
  • gperf: เครื่องมือสร้างตัวแยกและวิเคราะห์ข้อความ (string parser)
  • python311: Python v3.11 (Zephyr RTOS อาจต้องการเวอร์ชันของ Python เฉพาะเจาะจง และแตกต่างจากเวอร์ชันนี้)
  • git: เครื่องมือควบคุมเวอร์ชัน (version control system)
  • dtc-msys2: เครื่องมือสำหรับแปลง Device Tree
  • wget: เครื่องมือดาวน์โหลดไฟล์
  • 7zip: เครื่องมือสำหรับจัดการไฟล์เก็บถาวร
  • openocd: เครื่องมือสำหรับดีบักและแฟลชบอร์ดเป้าหมาย

จากนั้นให้เปิดใช้งาน VS Code IDE (หากยังไม่มีในระบบ ให้ติดตั้งโปรแกรมนี้ก่อน) แล้วจึงค้นหาส่วนเสริม Zephyr IDE แล้วติดตั้งใช้งาน

  1. ดาวน์โหลดและติดตั้ง Visual Studio Code (VS Code) ไปที่ https://code.visualstudio.com/ ดาวน์โหลดไฟล์ติดตั้งไฟล์สำหรับ Windows เปิดไฟล์ที่ดาวน์โหลดมาและทำตามขั้นตอนการติดตั้งตามปกติ
  2. ติดตั้ง Zephyr IDE Extension Pack โดยเปิด VS Code แล้วเปิดส่วนขยาย หรือกด Ctrl+Shift+X บนคีย์บอร์ด เพื่อค้นหา Zephyr IDE แล้วติดตั้งโดยกดคลิกปุ่ม "Install"

ในกรณีที่ใช้ Windows PowerShell: $env:HOMEPATH เป็นตัวแปรของระบบที่อ้างอิงไดเรกทอรี Home ของผู้ใช้ปัจจุบัน และไฟล์ต่าง ๆ ของ Zephyr IDE จะถูกติดตั้งไว้ในไดเรกทอรี $env:HOMEPATH\.zephyr_ide

ตัวอย่างขั้นตอนการติดตั้ง Zephyr IDE Extension Pack มีดังนี้

รูป: การติดตั้ง "Zephyr IDE Extension Pack"

ถัดไปเป็นการสร้าง Workspace เพื่อใช้งานสำหรับ Zephyr Project

รูป: การกดปุ่มสร้าง Workspace (ผู้ใช้อาจจะเลือกสร้างหรือเปลี่ยนไดเรกทอรีสำหรับ Workspace ตามต้องการ)

รูป: การกดปุ่ม Initialize Workspace (ให้ผลเหมือนการทำคำสั่ง west init)

รูป: การเลือกติดตั้งแบบ Minimal Zephyr (Selected Desired HALs)

รูป: การคลิกเลือกใช้ HALs (Hardware Abstraction Layers) ของบริษัทต่าง ๆ ที่ต้องการเลือกใช้ (บางตัวเลือก)

รูป: การเลือกเวอร์ชันของ Zephyr (ในตัวอย่างได้เลือกใช้ Zephyr v4.0.0)

รูป: การคลิกเลือก C/C++ Toolchains ที่ต้องการใช้งาน (บางตัวเลือก)

รูป: การทำขั้นตอน West Update (ให้ผลเหมือนการทำคำสั่ง west update)

รูป: ตัวอย่างข้อความจากการทำงานในขั้นตอน West Update

รูป: ตัวอย่างไฟล์ west-manifest/west.yml

 


การสร้างโปรเจกต์ใหม่ใน Zephyr IDE สำหรับบอร์ด Raspberry Pi Pico#

เมื่อได้เตรียม Workspace แล้ว ถัดไปให้สร้างโปรเจกต์ใหม่ โดยเลือกจากโปรเจกต์ตัวอย่าง (Select Sample Project)

รูป: การสร้างโปรเจกต์ใหม่ เช่น เลือกจากโปรเจกต์ตัวอย่าง basic\blinky และตั้งชื่อโปรเจกต์เป็น led_blink

รูป: เพิ่ม Build สำหรับโปรเจกต์ led_blink และจะต้องระบุไดเรกทอรีที่จะใช้สำหรับ Build

รูป: เลือกบอร์ดไมโครคอนโทรลเลอร์ที่ต้องการใช้ ในตัวอย่างนี้ได้เลือกบอร์ด Raspberry Pi Pico (RP2040) (rpi_pico\rp2040)

รูป: เลือก Build Configuration สำหรับ Debug

รูป: เพิ่ม Runner สำหรับ Build ของโปรเจกต์ led_blink โดยเลือกใช้ uf2 ในกรณีตัวอย่าง (อัปโหลดไฟล์เฟิร์มแวร์ที่ได้จากขั้นตอน Build ไปยังบอร์ดไมโครคอนโทรลเลอร์ RPi Pico ด้วยวิธีสำเนาไฟล์ UF2)

รูป: ทำขั้นตอน Zephyr IDE Build สำหรับโปรเจกต์ (ครั้งแรกให้ทำ "Build Pristine")

รูป: ทำขั้นตอน Zephyr IDE Flash ด้วยวิธี UF2

หากมีอุปกรณ์ CMSIS-DAP / SWD Debug Probe ก็สามารถเลือก OpenOCD เพิ่มเป็นอีกตัวเลือกสำหรับ Runner

รูป: ทำขั้นตอน Zephyr IDE Flash ด้วยวิธี OpenOCD

รูป: ตัวอย่างการใช้อุปกรณ์ Waveshare Zero RP2040 เป็น CMSIS-DAP / SWD Debug Probe และใช้งานร่วมกับบอร์ด RP2040 (ทำงานได้เหมือนบอร์ด Raspberry Pi Pico)

ถ้าสามารถทำขั้นตอน Zephyr IDE Flash ได้ถูกต้อง จะเห็นว่า LED บนบอร์ดทดลอง จะกระพริบด้วยอัตราคงที่

 


กล่าวสรุป#

บทความนี้ได้นำเสนอขั้นตอนการติดตั้งและใช้งาน Zephyr IDE ซึ่งเป็นส่วนขยายสำหรับ VS Code IDE โดยได้ทดลองใช้งานกับระบบปฏิบัติการ Windows 11 และเลือกทดสอบการเขียนโค้ดด้วย Zephyr RTOS ตามโปรเจกต์ตัวอย่างพื้นฐาน LED Blink (blinky) สำหรับบอร์ด Rasbperry Pi Pico

เอกสารและเว็บไซต์สำหรับอ้างอิงและศึกษาเพิ่มเติม

 


This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Created: 2024-12-12 | Last Updated: 2024-12-12