PikaScript 1.8 është i disponueshëm, një variant i gjuhës Python për mikrokontrolluesit

Projekti PikaScript 1.8 është lëshuar, duke zhvilluar një motor kompakt për shkrimin e aplikacioneve për mikrokontrolluesit në Python. PikaScript nuk është i lidhur me varësi të jashtme dhe mund të funksionojë në mikrokontrollues me RAM 4 KB dhe Flash 32 KB, si STM32G030C8 dhe STM32F103C8. Në krahasim, MicroPython kërkon 16 KB RAM dhe 256 KB Flash, ndërsa Snek kërkon 2 KB RAM dhe 32 KB Flash. Kodi i projektit është i shkruar në C dhe shpërndahet nën licencën MIT.

PikaScript ofron një nëngrup të gjuhës Python 3 që mbështet elemente sintaksore si deklaratat e degës dhe të ciklit (if, while, for, else, elif, break, continue), operatorët bazë (+ - * / < == >), modulet, kapsulimi, trashëgimia, polimorfizmi, klasat dhe metodat. Skriptet Python ekzekutohen në pajisje pas përpilimit paraprak - PikaScript fillimisht konverton kodin Python në bitekod të brendshëm Pika Asm, i cili ekzekutohet në pajisjen fundore në një makinë virtuale të veçantë Pika Runtime. Ai mbështet punën direkt në krye të harduerit ose në mjediset RT-Thread, VSF (Versaloon Software Framework) dhe Linux.

PikaScript 1.8 është i disponueshëm, një variant i gjuhës Python për mikrokontrolluesit

Më vete, vërehet lehtësia e integrimit të skripteve PikaScript me kodin në gjuhën C - funksionet e shkruara në gjuhën C mund të lidhen me kodin, i cili lejon zbatimin e PikaScript të përdorë zhvillimet e projekteve të vjetra të shkruara në gjuhën C. Mjediset ekzistuese të zhvillimit si Keil, IAR, RT-Thread Studio dhe Segger Embedded Studio mund të përdoren për të zhvilluar module C. Lidhjet gjenerohen automatikisht në fazën e përpilimit; mjafton të përcaktohet API në një skedar me kod Python dhe lidhja e funksioneve C me modulet Python do të kryhet kur të lansohet Para-përpiluesi Pika.

PikaScript 1.8 është i disponueshëm, një variant i gjuhës Python për mikrokontrolluesit

PikaScript pretendon mbështetje për 24 mikrokontrollues, duke përfshirë modele të ndryshme stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C dhe ESP3C. Për të filluar shpejt zhvillimin pa pajisje, ofrohet një simulator ose ofrohet një tabelë zhvillimi Pika-Pi-Zero bazuar në mikrokontrolluesin STM264G32C030T8 me 6 KB Flash dhe 64 KB RAM, duke mbështetur ndërfaqet tipike periferike (GPIO, TIME, IIC, RGB, KEY , LCD, RGB). Zhvilluesit kanë përgatitur gjithashtu një gjenerues të projekteve në internet dhe menaxher të paketave PikaPackage.

Versioni i ri zbaton menaxhimin e memories bazuar në numërimin e referencës dhe shton mbështetje për konstruktorët virtualë (metoda e fabrikës). Diagnostikoi problemet e kujtesës duke përdorur paketën e veglave valgrind. Mbështetje e shtuar për përpilimin e skedarëve të kompjuterit Python në bytecode dhe paketimin e tyre në firmware. Është zbatuar aftësia për të përdorur shumë skedarë Python në firmware pa nevojën e përdorimit të një sistemi skedarësh.

Burimi: opennet.ru

Shto një koment