Даступны 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. Для хуткага пачатку распрацоўкі без абсталявання прадастаўляецца сімулятар або прапануецца поплатак для распрацоўнікаў Pika-Pi-Zero на аснове мікракантролера STM3G264C32T030 з 8 КБ Flash і 6 КБ АЗП, якая падтрымлівае тыпавыя перыферыйныя інтэрфейсы (GPIO, TIME, IIC, RGB, KEY . Распрацоўнікі таксама падрыхтавалі online-генератар праектаў і пакетны мэнэджар PikaPackage.

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

Крыніца: opennet.ru

Дадаць каментар