MicroPython v1.27 เพิ่มการรองรับไมโครคอนโทรลเลอร์ ESP32-C5, ESP32-P4 และ STM32U5

MicroPython เป็นหนึ่งในเฟิร์มแวร์สำหรับไมโครคอนโทรลเลอร์ที่ได้รับความนิยมมากที่สุด เนื่องจากใช้งานง่าย โดยการเปิดตัว MicroPython v1.27 ได้เพิ่มการรองรับไมโครคอนโทรลเลอร์ที่น่าสนใจหลายรุ่น ได้แก่ Espressif Systems ESP32-C5 และ ESP32-P4,ซึ่งเป็นผลมาจากการอัปเดตเฟรมเวิร์ก ESP-IDF เป็นเวอร์ชัน v5.5.1 รวมถึงการรองรับไมโครคอนโทรลเลอร์ STMicroelectronics STM32U5 อีกด้วย พร้อมทั้งมีการปรับปรุงและเปลี่ยนแปลงอื่น ๆ อีกมากมาย

การเปลี่ยนแปลงเหล่านี้ประกอบด้วย การปรับปรุงชุดทดสอบ (test suite) เพื่อรองรับจำนวนแพลตฟอร์มฮาร์ดแวร์ที่เพิ่มขึ้น, การแนะนำระบบระดับ (tier levels) สำหรับแพลตฟอร์มฮาร์ดแวร์ที่แตกต่างกัน, การปรับแต่งประสิทธิภาพและแก้ไขบั๊กหลายจุด, การอัปเดตไลบรารี, การเพิ่มบอร์ด ESP32 และ STM32 รุ่นใหม่ ๆ และฟีเจอร์อื่น ๆ อีกมากมาย โดยครั้งล่าสุดที่เราได้นำเสนอข่าวเกี่ยวกับการออกรุ่นของ MicroPython v1.24, ซึ่งได้เพิ่มการรองรับไมโครคอนโทรลเลอร์ Raspberry Pi RP2350 และ ESP32-C6

MicroPython v1.27

ไฮไลต์อื่น ๆ ของ MicroPython v1.27:

  • การปรับปรุงชุดทดสอบ (Test suite)
    • ตรวจจับอัตโนมัติว่าแพลตฟอร์มเป้าหมายรองรับ Unicode หรือไม่
    • รวมการทดสอบแบบ float โดยอัตโนมัติเมื่อเป็นไปได้
    • รวมการทดสอบแบบ stress test ไว้เสมอ
    • ปรับปรุงการข้ามการทดสอบที่ใช้ slice และโมดูล micropython
    • รองรับผลลัพธ์ที่คาดหวังแตกต่างกันเมื่อรัน native tests
    • ทำให้การทดสอบทำงานได้ดีในสภาวะหน่วยความจำต่ำ
    • ปรับแต่งการทดสอบบางส่วนให้สามารถรันบน build แบบ minimal ได้
    • ทำให้ตัวรันทดสอบทั้งหมดใช้พารามิเตอร์ -t เพื่อเลือกเป้าหมาย
    • แปลงการทดสอบบางส่วนให้ใช้ unittest
    • แปลงการทดสอบที่ผูกกับพอร์ตเฉพาะให้เป็นการทดสอบข้ามพอร์ต
    • เพิ่มการทดสอบความเสถียรและอัตราการรับส่งข้อมูลของพอร์ตอนุกรม (REPL)
    • อัปเดตเวอร์ชันอ้างอิงของ Python เป็น CPython 3.8.2
    • เพิ่มการทดสอบ benchmark ภายในเพิ่มเติม
    • ระบบ CI และโครงสร้างโครงการ
    • การทดสอบ Continuous Integration (CI) รันบน Unix minimal variant และมีการรันทดสอบจำนวนมากขึ้นบน Zephyr port CI
  • แนะนำระบบระดับ Tier – โครงการได้จัดหมวดหมู่พอร์ตที่มีอยู่ 20 พอร์ตออกเป็น 4 กลุ่ม ตามระดับความพร้อมของการพัฒนา เพื่อกำหนดความคาดหวัง (ดูรายละเอียดในเอกสารประกอบ)
  • ยกเลิกการรองรับ Python 2.7 ในสคริปต์และเครื่องมือ build โดยรองรับเฉพาะ Python 3.x เท่านั้น
  • การปรับปรุงแกนหลักและฟีเจอร์
  • ปรับแต่งประสิทธิภาพและแก้ไขบั๊กใน core runtime
    • ปรับปรุงการสร้างโค้ด 32-bit RISC-V สำหรับ native emitter และรองรับ opcode Zba
    • รองรับ relative imports ใน custom __import__ callback
    • รองรับ unary operations bool และ len สำหรับ dict views
    • รองรับการกำหนดตำแหน่งเริ่มต้นและสิ้นสุดในเมธอด re.match และ re.search
    • รองรับ IPv6 ใน asyncio.start_server()
    • พอร์ตส่วนใหญ่ (ยกเว้น esp32) รองรับ soft และ hard IRQ callbacks สำหรับอ็อบเจกต์ machine.Timer
    • โมดูล sys ถูกเปิดใช้งานเป็นค่าเริ่มต้นในทุกระดับฟีเจอร์
  • อัปเดตไลบรารี – LittleFS v2.11.2, TinyUSB 0.19.0-24, stm32lib 1.2.0, WB 1.23.0
  • อัปเดตพอร์ต QEMU – รองรับ 64-bit RISC-V, เพิ่มบอร์ด VIRT_RV64, MPS2_AN500 (Cortex-M7) และ MPS3_AN547 (Cortex-M55)
  • แก้ไขปัญหาหลายจุดสำหรับไมโครคอนโทรลเลอร์ Raspberry Pi RP2
  • อัปเกรด Zephyr OS เป็นเวอร์ชัน v4.2.0
  • บอร์ดใหม่ที่รองรับ
    • ESP32 – ESP32_GENERIC_C2 รุ่น FLASH_2M, ESP32_GENERIC_C5, ESP32_GENERIC_P4 (รุ่นมาตรฐาน, C5_WIFI และ C6_WIFI), SIL_MANT1S และ SOLDERED_NULA_MINI
    • STM32 – NUCLEO_H7A3ZI_Q, NUCLEO_U5A5ZJ_Q, STM32F469DISC และ WEACTSTUDIO_MINI_STM32H743

เช่นเดียวกับทุกครั้ง นักพัฒนา MicroPython ได้รายงานการเปลี่ยนแปลงขนาดโค้ดเมื่อเทียบกับรุ่นก่อนหน้า (ทั้งค่าเชิงปริมาณและเปอร์เซ็นต์) ซึ่งสำหรับการออกรุ่นนี้ไม่มีการเปลี่ยนแปลงที่สำคัญหรือผิดปกติแต่อย่างใด


สามารถดูบันทึกการเปลี่ยนแปลง (change log) ฉบับเต็มได้บน GitHub

แปลจากบทความภาษาอังกฤษ : MicroPython v1.27 adds support for ESP32-C5, ESP32-P4, and STM32U5 microcontrollers

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
โฆษณา