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:
- การปรับปรุงชุดทดสอบ (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 ได้รายงานการเปลี่ยนแปลงขนาดโค้ดเมื่อเทียบกับรุ่นก่อนหน้า (ทั้งค่าเชิงปริมาณและเปอร์เซ็นต์) ซึ่งสำหรับการออกรุ่นนี้ไม่มีการเปลี่ยนแปลงที่สำคัญหรือผิดปกติแต่อย่างใด
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
bare-arm: -180 -0.316% minimal x86: +867 +0.470% unix x64: +2608 +0.309% stm32: -68 -0.017% cc3200: +112 +0.060% esp8266: +472 +0.067% esp32: +36210 +2.120% mimxrt: +280 +0.075% renesas-ra: +104 +0.017% nrf: +124 +0.066% rp2: +3836 +1.117% (RPI_PICO board) rp2: +1020 +0.111% (RPI_PICO_W board) samd: +596 +0.220% |
สามารถดูบันทึกการเปลี่ยนแปลง (change log) ฉบับเต็มได้บน GitHub
แปลจากบทความภาษาอังกฤษ : MicroPython v1.27 adds support for ESP32-C5, ESP32-P4, and STM32U5 microcontrollers

บรรณาธิการข่าวและบทความภาษาไทย CNX Software ได้มีความสนใจในด้านเทคโนโลยี โดยเฉพาะ Smart Home และ IoT

