Đã có PikaScript 1.8, một biến thể của ngôn ngữ Python dành cho vi điều khiển

Опубликован выпуск проекта PikaScript 1.8, развивающего компактный движок для написания приложений для микроконтроллеров на языке Python. PikaScript не привязан к внешним зависимостям и может работать на микроконтроллерах с 4 КБ ОЗУ и 32 КБ Flash, таких как STM32G030C8 и STM32F103C8. Для сравнения для работы MicroPython требуется 16 КБ ОЗУ и 256КБ Flash, а для Snek — 2 КБ ОЗУ и 32 КБ Flash. Код проекта написан на языке Си и распространяется под лицензией MIT.

PikaScript предоставляет подмножество языка Python 3, поддерживающее такие элементы синтаксиса, как операторы ветвления и циклов (if, while, for, else, elif, break, continue), базовые операторы (+ — * / < == >), модули, инкапсуляцию, наследование, полиморфизм, классы и методы. Python-скрипты выполняются на устройствах после предварительной компиляции — PikaScript вначале преобразует Python-код во внутренний байткод Pika Asm, который на конечном устройстве выполняется в специальной виртуальной машине Pika Runtime. Поддерживается работа напрямую поверх оборудования или в окружениях RT-Thread, VSF (Versaloon Software Framework) и Linux.

Đã có PikaScript 1.8, một biến thể của ngôn ngữ Python dành cho vi điều khiển

Отдельно отмечается простота интеграции скриптов PikaScript с кодом на языке Си — к коду могут привязываться написанные на языке Си функции, что позволяет при внедрении PikaScript использовать наработки старых проектов, написанных на языке Си. Для разработки Си-модулей могут использовать существующие среды разработки, такие как Keil, IAR, RT-Thread Studio и Segger Embedded Studio. Привязки генерируются автоматически на этапе компиляции, достаточно определить API в файле с Python-кодом и привязка Си-функций к модулям Python будет выполнена во время запуска компилятора Pika Pre-compiler.

Đã có PikaScript 1.8, một biến thể của ngôn ngữ Python dành cho vi điều khiển

В PikaScript заявлена поддержка 24 микроконтроллеров, включая различные модели stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 и Infineon TC264D. Для быстрого начала разработки без оборудования предоставляется симулятор или предлагается плата для разработчиков Pika-Pi-Zero на основе микроконтроллера STM32G030C8T6 с 64 КБ Flash и 8 КБ ОЗУ, поддерживающая типовые периферийные интерфейсы (GPIO, TIME, IIC, RGB, KEY, LCD, RGB). Разработчики также подготовили online-генератор проектов и пакетный менеджер PikaPackage.

В новой версии реализовано управление памятью на основе подсчёта ссылок и добавлена поддержка виртуальных конструкторов (factory method). Проведена диагностика проблем с памятью, выполненная с использованием инструментария valgrind. Добавлена поддержка компиляции pc-файлов Python в байткод и упаковки в прошивку. Реализована возможность использования в прошивках нескольких Python-файлов без необходимости использования файловой системы.

Nguồn: opennet.ru

Thêm một lời nhận xét