PikaScript 1.8 hè dispunibule, una variante di a lingua Python per i microcontrollers

U prughjettu PikaScript 1.8 hè statu liberatu, sviluppatu un mutore compactu per scrive applicazioni per i microcontrollers in Python. PikaScript ùn hè micca ligatu à dipendenze esterne è pò esse esecutatu nantu à microcontrollers cù 4 KB RAM è 32 KB Flash, cum'è STM32G030C8 è STM32F103C8. In paragone, MicroPython richiede 16 KB di RAM è 256 KB di Flash, mentri Snek richiede 2 KB di RAM è 32 KB di Flash. U codice di u prughjettu hè scrittu in C è hè distribuitu sottu a licenza MIT.

PikaScript furnisce un subset di a lingua Python 3 chì sustene elementi di sintassi cum'è dichjarazioni di ramu è di loop (se, mentri, per, altri, elif, break, continue), operatori basi (+ - * / < == >), moduli, incapsulazione, eredità, polimorfismu, classi è metudi. I script Python sò eseguiti nantu à i dispositi dopu a compilazione preliminare - PikaScript converte prima u codice Python in u bytecode internu Pika Asm, chì hè eseguitu nantu à u dispusitivu finale in una macchina virtuale speciale Pika Runtime. Supporta u travagliu direttamente nantu à u hardware o in ambienti RT-Thread, VSF (Versaloon Software Framework) è Linux.

PikaScript 1.8 hè dispunibule, una variante di a lingua Python per i microcontrollers

Separatamente, a facilità di integrazione di scripts PikaScript cù u codice in a lingua C hè nutata - e funzioni scritte in lingua C pò esse ligata à u codice, chì permette l'implementazione di PikaScript per utilizà i sviluppi di vechji prughjetti scritti in lingua C. Ambienti di sviluppu esistenti cum'è Keil, IAR, RT-Thread Studio è Segger Embedded Studio pò esse usatu per sviluppà moduli C. I ligami sò generati automaticamente in a fase di compilazione; hè abbastanza per definisce l'API in un schedariu cù codice Python è l'associazione di e funzioni C à i moduli Python serà realizatu quandu u Pika Pre-compiler hè lanciatu.

PikaScript 1.8 hè dispunibule, una variante di a lingua Python per i microcontrollers

PikaScript dichjara supportu per i microcontrollers 24, cumprese vari mudelli stm32g *, stm32f *, stm32h *, WCH ch582, ch32 *, WinnerMicro w80 *, Geehy apm32 *, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 è Infineon TC264. Per inizià rapidamente u sviluppu senza equipaggiu, hè furnitu un simulatore o una scheda di sviluppu Pika-Pi-Zero basatu annantu à u microcontroller STM32G030C8T6 cù 64 KB Flash è 8 KB RAM hè offerta, chì sustene interfacce periferiche tipiche (GPIO, TIME, IIC, RGB, KEY). , LCD, RGB). I sviluppatori anu ancu preparatu un generatore di prughjettu in linea è un gestore di pacchetti PikaPackage.

A nova versione implementa a gestione di memoria basata nantu à u conte di riferimentu è aghjunghje supportu per i custruttori virtuali (metudu di fabbrica). Problemi di memoria diagnosticati cù u toolkit valgrind. Aghjunghje supportu per cumpilà i schedarii di pc Python in bytecode è imballà in firmware. A capacità di utilizà parechje schedarii Python in firmware senza a necessità di utilizà un sistema di fugliale hè stata implementata.

Source: opennet.ru

Add a comment