Espressif ปล่อย Linux BSP สำหรับชิป ESP32-S31 RISC-V

Espressif Systems ESP32-S31 Dual-Core RISC-V Linux BSP Support
การเปิดตัวตัวอย่างซอฟต์แวร์พัฒนา ESP Linux BSP สำหรับชิปไมโครโปรเซสเซอร์ ESP32-S31 RISC-V โดย Espressif Systems

สวัสดีเพื่อนๆ ชาว Maker, สาย embedded และเหล่าคนรักชิปจิ๋วทุกคนครับ! 🐧🔥 ถ้าพูดถึงชิปตระกูล ESP32 จากค่าย Espressif ภาพจำเดิมๆ ของเราก็คือไมโครคอนโทรลเลอร์ราคามิตรภาพสำหรับเขียนโค้ดรันงานเล็กๆ ควบคุมเซนเซอร์ หรือทำระบบ Smart Home ใช่ไหมครับ? แต่ลืมภาพเดิมๆ นั้นไปได้เลยครับ เพราะวันนี้ **ชิป ESP32 สามารถรันระบบปฏิบัติการ Linux ได้แล้วครับ!**

ย้อนกลับไปเมื่อช่วงต้นปี ค่าย Espressif ได้เปิดตัวชิป ESP32-S31 Dual-Core RISC-V Microprocessor ออกมา ตามมาด้วยการเปิดตัว ESP32-S31 Development Boards ที่พกพาแรมสูงถึง 16MB PSRAM และจุดเปลี่ยนสำคัญที่สุดคือชิปรุ่นนี้มี **MMU (Memory Management Unit)** ในตัว! ทำให้ล่าสุด Espressif ได้ปล่อยแพ็กเกจซอฟต์แวร์ **ESP Linux BSP (Developer Preview)** ออกมาให้เรา Compile และนำระบบปฏิบัติการ Linux ไปแฟลชรันบนชิป ESP32-S31 ได้จริงอย่างเป็นทางการแล้วครับ!

ส่องโครงสร้างซอฟต์แวร์และเครื่องมือ Buildroot ⚙️📦

การจะสร้างไฟล์อิมเมจระบบปฏิบัติการ Linux บนชิป ESP32-S31 ทาง Espressif ได้เตรียมซอร์สโค้ดและเครื่องมือไว้ให้บน GitHub อย่างเป็นระบบครับ:

  • แพ็กเกจหลัก ESP Linux BSP: ซอร์สโค้ดหลักบรรจุอยู่ในคลังโอเพนซอร์ส esp-linux-bsp บน GitHub สำหรับจัดการไฟล์โครงสร้างและบรรจุอิมเมจ
  • ระบบประกอบอิมเมจ Buildroot 2025.02: คลัง esp-buildroot-external ช่วยในการสร้าง Root Filesystem และ NOR Boot Stack
  • เคอร์เนลพิเศษ Linux 6.18 Fork: พัฒนาและปรับแต่งโครงสร้างเคอร์เนลสำหรับชิป ESP32-S31 โดยเฉพาะบนคลัง espressif/linux บน GitHub

💡 อยากเริ่มทดลองรันระบบ Linux บนบอร์ด RISC-V หรือสั่งพิมพ์เคสยึดบอร์ด 3D Print?

ในการทดลองประกอบบอร์ดพัฒนาสเปกสูง การสร้างฐานยึดบอร์ด พัดลมระบายความร้อน หรือกล่องครอบด้วย **3D Printing** จะช่วยระบายความร้อนขณะทดสอบรันระบบ Linux ป้องกันไฟฟ้าสถิต และทำให้โต๊ะทดลองของคุณดูคลีนน่าทำงานสุดๆ ครับ!

หากเพื่อนๆ กำลังมองหา **บอร์ดพัฒนา ESP32-S31, ชิป RISC-V, โมดูล AIoT, อุปกรณ์เชื่อมต่อ** หรือต้องการสั่งทำเคสยึดบอร์ดผ่าน บริการรับปริ้นท์ชิ้นส่วน 3D (3D Printing Service) สามารถนำไฟล์ STL มาประเมินราคากับร้าน **Globalbyte Shop** ได้เลยครับ!

ขั้นตอนการคอมไพล์และแฟลช Linux ลง ESP32-S31 💻⚡

กระบวนการสร้างอิมเมจ Linux บนคอมพิวเตอร์ระบบ Linux (เช่น Ubuntu) มีขั้นตอนหลักๆ ดังนี้ครับ:

  1. อัปเดตเครื่องมือ esptool: ต้องใช้อัปเดตเป็น **esptool v5.3.0 ขึ้นไป** (เช่น v5.3.1) ผ่าน `pipx install esptool`
  2. ดาวน์โหลดซอร์สโค้ดผ่าน Git: ดึงคลัง Buildroot และคลัง `esp-buildroot-external` มาไว้ในไดเรกทอรีทำงาน
  3. สั่งตั้งค่าคอนฟิก Build: รันคำสั่งคอนฟิกบอร์ด NOR Flash ผ่าน `espressif_esp32s31_function_core_board_nor_defconfig`
  4. คอมไพล์อิมเมจ (Build Process):** สั่งรัน `make` เพื่อดาวน์โหลดแพ็กเกจและทำการสร้างอิมเมจ (ใช้เวลาคอมไพล์ประมาณ 1 ชั่วโมง) จนได้ไฟล์ `s31_full_flash.bin` ขนาดประมาณ 13.7 MB
  5. แฟลชอิมเมจลงบอร์ด: แฟลชไฟล์ผ่านคำสั่ง `esptool --chip esp32s31 --port --baud 1152000 write-flash 0x0 s31_full_flash.bin` แล้วเข้าใช้งาน Linux Console ผ่านพอร์ต Serial ที่ความเร็ว 115200 baud

การพัฒนาจากชุมชนโอเพนซอร์ส (Community Ports) 🌐โควต้า

นอกจากซอฟต์แวร์อย่างเป็นทางการจาก Espressif แล้ว ปัจจุบันยังมีนักพัฒนาในชุมชนนำระบบ Linux ไปพอร์ตลงบอร์ด **ESP32-S31-Korvo-1** กันอย่างคึกคักครับ:

  • ผลงานของ GrieferPig: พอร์ตระบบ **Linux 6.12 MMU RV32** มารันแบบ Native บนบอร์ด ESP32-S31 Korvo-1 ได้สำเร็จ โดยระบบ Buildroot rootfs และการ Reboot ทำงานได้อย่างเสถียร
  • ผลงานของ Marco (esp32-s31-linux): นำระบบ **Linux 7.1** ร่วมกับ **OpenSBI 1.9** มาเปิดรันบนบอร์ด ESP32-S31 Korvo-1

⚠️ ข้อควรระวังสำหรับ Developer Preview!

แพ็กเกจ ESP Linux BSP เวอร์ชันปัจจุบันยังเป็นเพียงรุ่น "Developer Preview" สำหรับการทดลองและศึกษาวิจัยเท่านั้น ยังไม่แนะนำให้นำไปใช้ในระบบอุตสาหกรรมจริง (Production System) เนื่องจากฟีเจอร์บางส่วน เช่น ระบบ Wi-Fi หรือ Bluetooth ยังอยู่ในช่วงทดลองพัฒนาและอาจมีการเปลี่ยนแปลงโครงสร้างโค้ดได้ครับ!

🔗 ข้อมูลอ้างอิงและจุดวาร์ปอ่านต่อ:

สำหรับเพื่อนๆ ที่ต้องการศึกษาคลังซอร์สโค้ดและอ่านข่าวเพิ่มเติม สามารถตามลิงก์ไปส่องต่อได้เลยครับ:

*Disclaimer (ข้อจำกัดความรับผิดชอบ): เนื้อหาบทความนี้ถูกเรียบเรียงและสรุปมาจากข่าวเปิดตัวภาษาอังกฤษ ขั้นตอนการ Buildroot และคำสั่งการแฟลชควรศึกษาเพิ่มเติมจาก คู่มือทางการบน GitHub ของ Espressif ก่อนลงมือทำจริงทุกครั้งครับ!

แท็ก


Blog posts