PikaScript 1.8 er tilgængelig, en variant af Python-sproget til mikrocontrollere

PikaScript 1.8-projektet er blevet frigivet, der udvikler en kompakt motor til at skrive applikationer til mikrocontrollere i Python. PikaScript er ikke bundet til eksterne afhængigheder og kan køre på mikrocontrollere med 4 KB RAM og 32 KB Flash, såsom STM32G030C8 og STM32F103C8. Til sammenligning kræver MicroPython 16 KB RAM og 256 KB Flash, mens Snek kræver 2 KB RAM og 32 KB Flash. Projektkoden er skrevet i C og distribueres under MIT-licensen.

PikaScript giver et undersæt af Python 3-sproget, der understøtter syntakselementer såsom branch- og loop-sætninger (if, while, for, else, elif, break, continue), grundlæggende operatorer (+ - * / < == >), moduler, indkapsling, arv, polymorfi, klasser og metoder. Python-scripts udføres på enheder efter foreløbig kompilering - PikaScript konverterer først Python-kode til intern Pika Asm-bytekode, som udføres på slutenheden i en speciel Pika Runtime virtuel maskine. Det understøtter arbejde direkte oven på hardware eller i RT-Thread, VSF (Versaloon Software Framework) og Linux-miljøer.

PikaScript 1.8 er tilgængelig, en variant af Python-sproget til mikrocontrollere

Separat bemærkes letheden af ​​integration af PikaScript-scripts med kode i C-sproget - funktioner skrevet i C-sproget kan kobles til koden, hvilket gør det muligt for implementeringen af ​​PikaScript at bruge udviklingen af ​​gamle projekter skrevet i C-sproget. Eksisterende udviklingsmiljøer som Keil, IAR, RT-Thread Studio og Segger Embedded Studio kan bruges til at udvikle C-moduler. Bindinger genereres automatisk på kompileringsstadiet; det er nok at definere API'et i en fil med Python-kode, og bindingen af ​​C-funktioner til Python-moduler vil blive udført, når Pika Pre-compileren startes.

PikaScript 1.8 er tilgængelig, en variant af Python-sproget til mikrocontrollere

PikaScript hævder understøttelse af 24 mikrocontrollere, inklusive forskellige modeller stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32Don TC3 og In264fineDon TC32. For hurtigt at starte udvikling uden udstyr tilbydes der en simulator eller et Pika-Pi-Zero udviklingskort baseret på STM030G8C6T64 mikrocontroller med 8 KB Flash og XNUMX KB RAM, der understøtter typiske perifere grænseflader (GPIO, TIME, IIC, RGB, KEY) , LCD, RGB). Udviklerne har også udarbejdet en online projektgenerator og pakkemanager PikaPackage.

Den nye version implementerer hukommelsesstyring baseret på referencetælling og tilføjer understøttelse af virtuelle konstruktører (fabriksmetode). Diagnosticeret hukommelsesproblemer ved hjælp af valgrind-værktøjssættet. Tilføjet understøttelse til at kompilere Python pc-filer til bytecode og pakke dem ind i firmware. Muligheden for at bruge flere Python-filer i firmware uden behov for at bruge et filsystem er blevet implementeret.

Kilde: opennet.ru

Tilføj en kommentar