Espressif เปิดตัว Linux BSP Developer Preview สำหรับไมโครโปรเซสเซอร์ ESP32-S31 RISC-V

ไมโครโปรเซสเซอร์ ESP32-S31 กำลังได้รับการรองรับ Linux จาก Espressif Systems โดย ไมโครโปรเซสเซอร์ RISC-V แบบดูอัลคอร์ ESP32-S31 เปิดตัวครั้งแรกเมื่อเดือนมีนาคม ตามมาด้วยบอร์ดพัฒนา ESP32-S31 สองรุ่น ในเดือนพฤษภาคม และเมื่อไม่กี่สัปดาห์ที่ผ่านมา Espressif ก็ได้ประกาศเข้าสู่การผลิตจำนวนมาก

ชิป RISC-V รุ่นใหม่นี้มี MMU (Memory Management Unit) ซึ่งช่วยให้การใช้งาน Linux ทำได้ง่ายขึ้นมาก ขณะที่บอร์ดพัฒนามาพร้อม PSRAM ขนาด 16MB ทำให้สามารถใช้งาน Linux image ขนาดเล็กได้ จากเดิมที่เป็นเพียงแนวคิด ตอนนี้ Espressif Systems ได้ก้าวไปอีกขั้นด้วยการเปิดตัว Linux BSP เวอร์ชัน Developer Preview สำหรับ ESP32-S31 แล้ว นอกจากนี้ยังมีโครงการจากชุมชนที่กำลังพอร์ต Linux มายังชิปนี้ด้วย ซึ่งจะกล่าวถึงในช่วงท้ายของบทความ

Espressif Linux BSP Developer Preview ESP32-S31

มาดู ESP Linux BSP อย่างเป็นทางการกันก่อน โดย repository ดังกล่าวมีเพียงเครื่องมือสำหรับจัดวาง image และแพ็กเกจที่ใช้กับการผสาน Buildroot สำหรับ ESP32-S31 ส่วนแกนหลักของโครงการอยู่ใน repository esp-buildroot-external ซึ่งประกอบด้วย NOR boot stack สำหรับ ESP32-S31, root filesystem ที่สร้างด้วย Buildroot 2025.02, คำแนะนำสำหรับการ build และ flash image นอกจากนี้ยังสามารถดูซอร์สโค้ดของ Linux kernel 6.18 fork ที่ใช้ใน Developer Preview โดยตรง

เราไม่มีบอร์ด ESP32-S31 จึงทดลองเพียงการ build Linux image เท่านั้น ยังจำเป็นต้องใช้ esptool เวอร์ชันใหม่ โดยเราใช้ esptool 4.7.0 ซึ่งไม่เพียงพอ เพราะ ESP32-S31 ต้องการ esptool 5.3.0 หรือใหม่กว่า จึงอัปเดตด้วยคำสั่ง:


จากนั้นตรวจสอบเวอร์ชัน:


ทำตามคำแนะนำจาก repository ของ Buildroot External Tree:


สังเกตว่าเราไม่จำเป็นต้อง clone repository esp-linux-bsp ด้วยตัวเอง เนื่องจาก Buildroot จะดาวน์โหลดให้โดยอัตโนมัติ

ตั้งค่าการ build ใช้คำสั่ง:


หากทำงานสำเร็จ จะเห็นไฟล์ configuration ถูกสร้างขึ้น เช่น:


จากนั้นก็พร้อม build Linux สำหรับ ESP32-S31 แล้ว:


ขั้นตอนนี้ใช้เวลาค่อนข้างนาน โดยผู้เขียนระบุว่า มากกว่าหนึ่งชั่วโมง เนื่องจากระบบต้องดาวน์โหลดแพ็กเกจต่าง ๆ และทำการ build แต่สุดท้ายก็ได้ Linux image ที่พร้อมสำหรับการ flash ลงบอร์ด ตัวอย่างผลลัพธ์:


ไฟล์ที่ได้ในโฟลเดอร์ images ได้แก่:


หากมีบอร์ด ESP32-S31 สามารถใช้คำสั่งต่อไปนี้เพื่อ flash OS image:


ส่วน Linux console สามารถเข้าถึงได้ที่ความเร็ว 115200 baud

อย่างไรก็ตาม Linux BSP รุ่นนี้ยังเป็นเพียง Developer Preview และเหมาะสำหรับการทดลองเท่านั้น ไม่แนะนำให้ใช้ในระบบ production ปัจจุบันรองรับเฉพาะ ESP32-S31 และ Espressif ระบุว่าในช่วง Developer Preview จะมีการอัปเดตที่อาจไม่สม่ำเสมอ, การเปลี่ยนแปลงที่อาจทำให้ระบบเดิมใช้งานไม่ได้ (breaking changes), การรองรับฟีเจอร์ต่าง ๆ อย่างจำกัด และการแก้ไขบั๊กแบบ best-effort นอกจากนี้ยังไม่ชัดเจนว่า ณ ตอนนี้มีฟีเจอร์ใดทำงานได้ครบถ้วนแล้วบ้าง เช่น Wi-Fi ใช้งานได้หรือไม่

นอกเหนือจาก Linux BSP อย่างเป็นทางการ ยังมีอย่างน้อย 2 โครงการจากชุมชน ที่กำลังพอร์ต Linux ไปยังบอร์ด ESP32-S31-Korvo-1:

  • โครงการของ GrieferPig เป็นการพอร์ต Linux 6.12 สำหรับ RISC-V 32-bit ที่รองรับ MMU ให้ทำงานแบบ native บนไมโครคอนโทรลเลอร์ ESP32-S31 โดย Buildroot rootfs และการรีบูตทำงานได้อย่างเสถียรแล้ว แต่ยังไม่มีฟังก์ชันปิดเครื่อง (poweroff) ส่วนฟีเจอร์อย่าง Wi-Fi, Bluetooth dual mode และการใช้งานทั้ง 2 คอร์ ยังอยู่ในขั้นทดลอง สามารถดูรายละเอียดสถานะและโค้ดได้บน GitHub
  • โครงการ esp32-s31-linux ของ Marco นำ Linux 7.1 และ OpenSBI 1.9 มารันบนบอร์ด ESP32-S31 Korvo-1 โดยขณะนี้อุปกรณ์ต่อพ่วงส่วนใหญ่ยังไม่ได้เปิดใช้งาน ยกเว้นบางส่วน เช่น LCD panel, ช่อง microSD, USB host และ WLAN modem ที่ยังอยู่ระหว่างการพัฒนา สามารถดูโครงการบน GitHub

การพอร์ต Linux 6.12 สำหรับ ESP32-S31 โดย GrieferPig
การพอร์ต Linux 6.12 สำหรับ ESP32-S31 โดย GrieferPig

แปลจากบทความ : Espressif Systems releases a Linux BSP developer preview for ESP32-S31 RISC-V microprocessor

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
โฆษณา