MicroPython стал одним из самых популярных способов программирования микроконтроллеров, а недавно выпущенная версия MicroPython v1.24 добавляет поддержку широко используемых микроконтроллеров Raspberry Pi RP2350 и Espresif ESP32-C6, а также ряд других изменений.
К ним относятся улучшенная поддержка RISC-V с генерацией собственного кода, обновленная RTOS Zephyr v3.7.0 с поддержкой потоковой обработки, унифицированные привязки TinyUSB к портам, переносимый API UART IRQ и улучшенное рекурсивное копирование mpremote .
Дэмиен Джордж более подробно рассказывает об улучшениях RISC-V:
… включают в себя эмиттер собственного кода RV32IMC, собственные реализации сканирования регистров NLR и GC для 32- и 64-битных RISC-V, поддержку размещения собственного кода RV32IMC в файлах .mpy, а также его заморозку и поддержку полухостинга RISC-V. Тестирование для RISC-V проводится с портами qemu и unix, а поддержка используется в портах esp32 и rp2.
Raspberry Pi RP2350 поставляется с ядрами Arm Cortex-M33 и RISC-V, и хорошая новость заключается в том, что поддерживаются как ядра Arm, так и ядра RISC-V, поскольку вы найдете образы для обеих архитектур на странице прошивки для Raspberry Pi Pico 2. Порт RP2 основан на Pico SDK v2.0.0, а IPv6 включен по умолчанию для плат с беспроводной связью, таких как предстоящая Raspberry Pi Pico 2 W.
Порт MicroPython ESP32 теперь поддерживает ESP-IDF v5.2.2, что частично объясняет, почему теперь поддерживается ESP32-C6 MCU. Нам также сообщили, что собственный эмиттер RISC-V был включен как на ESP32-C3, так и на ESP32-C6 MCU. Espressif SoC также получил некоторые важные исправления ошибок для обработки собственного кода, загруженного из файлов .mpy, повреждения стека и I2S, среди прочих изменений.
MicroPythong v1.24 также реализует ряд улучшений для микроконтроллеров STM32, которые получают дополнительную поддержку «network.PPP» через lwIP, поддержку OctoSPI на STM32H7, платы Arduino Portenta H7 и Nicla Vision теперь могут использовать защищенный элемент NXP SE05x с интеграцией в mbedTLS и многое другое.
Всего в релиз добавлено девять плат: ESP32_GENERIC_C6, M5STACK_ATOMS3_LITE, M5STACK_NANOC6, OLIMEX_ESP32_EVB, UM_FEATHERS3NEO, UM_OMGS3, UM_RGBTOUCH_MINI и UM_TINYC6 (порт esp32), RPI_PICO2 (порт rp2), ARDUINO_OPTA (порт stm32).
Поскольку MicroPython предназначен для работы на оборудовании с ограниченными ресурсами, важно отслеживать любые изменения в объеме используемой памяти, а изменения размера кода в новой версии MicroPython v1.24 минимальны:
1 2 3 4 5 6 7 8 9 10 11 12 |
bare-arm: +116 +0.203% minimal x86: +185 +0.100% unix x64: +8994 +1.098% stm32: +1028 +0.263% cc3200: +1152 +0.625% esp8266: +2968 +0.426% esp32: -53617 -3.101% mimxrt: +1864 +0.513% renesas-ra: +1536 +0.245% nrf: +1460 +0.781% rp2: +3592 +1.068% samd: +2244 +0.845% |
Вы можете прочитать объявление Дэмиена на GitHub , ознакомиться с огромным списком изменений и загрузить исходный код. Вы найдете бинарные файлы прошивки для вашего оборудования на странице загрузки MicroPython .
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.