Este disponibil PikaScript 1.8, o variantă a limbajului Python pentru microcontrolere

Proiectul PikaScript 1.8 a fost lansat, dezvoltând un motor compact pentru scrierea aplicațiilor pentru microcontrolere în Python. PikaScript nu este legat de dependențe externe și poate rula pe microcontrolere cu 4 KB RAM și 32 KB Flash, cum ar fi STM32G030C8 și STM32F103C8. În comparație, MicroPython necesită 16 KB de RAM și 256 KB de Flash, în timp ce Snek necesită 2 KB de RAM și 32 KB de Flash. Codul proiectului este scris în C și este distribuit sub licența MIT.

PikaScript oferă un subset al limbajului Python 3 care acceptă elemente de sintaxă, cum ar fi instrucțiuni de ramificare și buclă (if, while, for, else, elif, break, continue), operatori de bază (+ - * / < == >), module, încapsulare, moștenire, polimorfism, clase și metode. Scripturile Python sunt executate pe dispozitive după compilarea preliminară - PikaScript convertește mai întâi codul Python în bytecode intern Pika Asm, care este executat pe dispozitivul final într-o mașină virtuală specială Pika Runtime. Acceptă lucrul direct pe partea de sus a hardware-ului sau în medii RT-Thread, VSF (Versaloon Software Framework) și Linux.

Este disponibil PikaScript 1.8, o variantă a limbajului Python pentru microcontrolere

Separat, se remarcă ușurința de integrare a scripturilor PikaScript cu codul în limbajul C - funcțiile scrise în limbajul C pot fi legate de cod, ceea ce permite implementarea PikaScript pentru a utiliza dezvoltările proiectelor vechi scrise în limbajul C. Mediile de dezvoltare existente, cum ar fi Keil, IAR, RT-Thread Studio și Segger Embedded Studio pot fi folosite pentru a dezvolta module C. Legăturile sunt generate automat în etapa de compilare este suficient să definiți API-ul într-un fișier cu cod Python și legarea funcțiilor C la modulele Python va fi efectuată la lansarea Pre-compilatorului Pika.

Este disponibil PikaScript 1.8, o variantă a limbajului Python pentru microcontrolere

PikaScript pretinde suport pentru 24 de microcontrolere, inclusiv diverse modele stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 și Infineon TC264. Pentru a începe rapid dezvoltarea fără echipament, este oferit un simulator sau este oferită o placă de dezvoltare Pika-Pi-Zero bazată pe microcontrolerul STM32G030C8T6 cu 64 KB Flash și 8 KB RAM, care acceptă interfețe periferice tipice (GPIO, TIME, IIC, RGB, KEY , LCD, RGB). Dezvoltatorii au pregătit și un generator de proiecte online și un manager de pachete PikaPackage.

Noua versiune implementează managementul memoriei bazat pe numărarea referințelor și adaugă suport pentru constructori virtuali (metoda din fabrică). Probleme de memorie diagnosticate folosind setul de instrumente valgrind. S-a adăugat suport pentru compilarea fișierelor PC Python în bytecode și împachetarea lor în firmware. A fost implementată capacitatea de a utiliza mai multe fișiere Python în firmware fără a fi nevoie de a utiliza un sistem de fișiere.

Sursa: opennet.ru

Adauga un comentariu