PikaScript 1.8 är tillgänglig, en variant av Python-språket för mikrokontroller

PikaScript 1.8-projektet har släppts och utvecklar en kompakt motor för att skriva applikationer för mikrokontroller i Python. PikaScript är inte bundet till externa beroenden och kan köras på mikrokontroller med 4 KB RAM och 32 KB Flash, såsom STM32G030C8 och STM32F103C8. Som jämförelse kräver MicroPython 16 KB RAM och 256 KB Flash, medan Snek kräver 2 KB RAM och 32 KB Flash. Projektkoden är skriven i C och distribueras under MIT-licensen.

PikaScript tillhandahåller en delmängd av Python 3-språket som stöder syntaxelement som gren- och loop-satser (if, while, for, else, elif, break, continue), grundläggande operatorer (+ - * / < == >), moduler, inkapsling, nedärvning, polymorfism, klasser och metoder. Python-skript exekveras på enheter efter preliminär kompilering - PikaScript konverterar först Python-kod till intern Pika Asm-bytekod, som exekveras på slutenheten i en speciell virtuell Pika Runtime-maskin. Den stöder arbete direkt ovanpå hårdvara eller i RT-Thread, VSF (Versaloon Software Framework) och Linux-miljöer.

PikaScript 1.8 är tillgänglig, en variant av Python-språket för mikrokontroller

Separat noteras lättheten att integrera PikaScript-skript med kod på C-språket - funktioner skrivna på C-språket kan kopplas till koden, vilket gör att implementeringen av PikaScript kan använda utvecklingen av gamla projekt skrivna på C-språket. Befintliga utvecklingsmiljöer som Keil, IAR, RT-Thread Studio och Segger Embedded Studio kan användas för att utveckla C-moduler. Bindningar genereras automatiskt i kompileringsstadiet, det räcker med att definiera API:et i en fil med Python-kod och bindningen av C-funktioner till Python-moduler kommer att utföras när Pika Pre-kompilatorn startas.

PikaScript 1.8 är tillgänglig, en variant av Python-språket för mikrokontroller

PikaScript hävdar stöd för 24 mikrokontroller, inklusive olika modeller stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32Don TC3 och Infine. För att snabbt starta utvecklingen utan utrustning tillhandahålls en simulator eller ett Pika-Pi-Zero utvecklingskort baserat på STM264G32C030T8 mikrokontroller med 6 KB Flash och 64 KB RAM erbjuds, som stöder typiska perifera gränssnitt (GPIO, TIME, IIC, RGB, KEY , LCD, RGB). Utvecklarna har också förberett en onlineprojektgenerator och pakethanterare PikaPackage.

Den nya versionen implementerar minneshantering baserad på referensräkning och lägger till stöd för virtuella konstruktörer (fabriksmetod). Diagnostiserade minnesproblem med hjälp av valgrind verktygslåda. Lade till stöd för att kompilera Python pc-filer till bytecode och paketera dem i firmware. Möjligheten att använda flera Python-filer i firmware utan att behöva använda ett filsystem har implementerats.

Källa: opennet.ru

Lägg en kommentar