PikaScript 1.8 is beschikbaar, een variant van de Python-taal voor microcontrollers

Het PikaScript 1.8-project is uitgebracht, waarin een compacte engine wordt ontwikkeld voor het schrijven van applicaties voor microcontrollers in Python. PikaScript is niet gebonden aan externe afhankelijkheden en kan draaien op microcontrollers met 4 KB RAM en 32 KB Flash, zoals de STM32G030C8 en STM32F103C8. Ter vergelijking: MicroPython heeft 16 KB RAM en 256 KB Flash nodig, terwijl Snek 2 KB RAM en 32 KB Flash nodig heeft. De projectcode is geschreven in C en wordt gedistribueerd onder de MIT-licentie.

PikaScript biedt een subset van de Python 3-taal die syntaxiselementen ondersteunt, zoals branch- en loop-instructies (if, while, for, else, elif, break, continue), basisoperatoren (+ - * / < == >), modules, inkapseling, overerving, polymorfisme, klassen en methoden. Python-scripts worden na voorlopige compilatie op apparaten uitgevoerd - PikaScript converteert eerst Python-code naar interne Pika Asm-bytecode, die wordt uitgevoerd op het eindapparaat in een speciale Pika Runtime virtuele machine. Het ondersteunt het direct werken bovenop hardware of in RT-Thread-, VSF- (Versaloon Software Framework) en Linux-omgevingen.

PikaScript 1.8 is beschikbaar, een variant van de Python-taal voor microcontrollers

Afzonderlijk wordt het gemak van integratie van PikaScript-scripts met code in de C-taal opgemerkt: functies die in de C-taal zijn geschreven, kunnen aan de code worden gekoppeld, waardoor de implementatie van PikaScript de ontwikkelingen van oude projecten die in de C-taal zijn geschreven, kan gebruiken. Bestaande ontwikkelomgevingen zoals Keil, IAR, RT-Thread Studio en Segger Embedded Studio kunnen worden gebruikt om C-modules te ontwikkelen. Bindingen worden automatisch gegenereerd tijdens de compilatiefase; het volstaat om de API te definiëren in een bestand met Python-code en de binding van C-functies aan Python-modules zal worden uitgevoerd wanneer de Pika Pre-compiler wordt gestart.

PikaScript 1.8 is beschikbaar, een variant van de Python-taal voor microcontrollers

PikaScript claimt ondersteuning voor 24 microcontrollers, waaronder verschillende modellen stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 en Infineon TC264D. Om de ontwikkeling zonder apparatuur snel te starten, wordt een simulator meegeleverd of wordt een Pika-Pi-Zero-ontwikkelbord op basis van de STM32G030C8T6-microcontroller met 64 KB Flash en 8 KB RAM aangeboden, die typische randinterfaces ondersteunt (GPIO, TIME, IIC, RGB, KEY , LCD-scherm, RGB). De ontwikkelaars hebben ook een online projectgenerator en pakketbeheerder PikaPackage voorbereid.

De nieuwe versie implementeert geheugenbeheer op basis van referentietelling en voegt ondersteuning toe voor virtuele constructors (fabrieksmethode). Gediagnosticeerde geheugenproblemen met behulp van de valgrind toolkit. Ondersteuning toegevoegd voor het compileren van Python-pc-bestanden in bytecode en het verpakken ervan in firmware. De mogelijkheid om meerdere Python-bestanden in firmware te gebruiken zonder dat een bestandssysteem nodig is, is geïmplementeerd.

Bron: opennet.ru

Voeg een reactie