Доступний PikaScript 1.8, варіант мови Python для мікроконтролерів

Опубліковано випуск проекту 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.

Доступний PikaScript 1.8, варіант мови Python для мікроконтролерів

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

Доступний PikaScript 1.8, варіант мови Python для мікроконтролерів

У PikaScript заявлена ​​підтримка 24 мікроконтролерів, включаючи різні моделі stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, RaspberryTC32, Raspberry Pico. Для швидкого початку розробки без обладнання надається симулятор або пропонується плата для розробників Pika-Pi-Zero на основі мікроконтролера STM3G264C32T030 з 8 КБ Flash та 6 КБ ОЗУ, що підтримує типові периферійні інтерфейси (GPIO, TIME, IIC, RGB, KEY . Розробники також підготували online-генератор проектів та пакетний менеджер PikaPackage.

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

Джерело: opennet.ru

Додати коментар або відгук