Disponeblas PikaScript 1.8, varianto de la lingvo Python por mikroregiloj

La projekto PikaScript 1.8 estis publikigita, evoluigante kompaktan motoron por skribi aplikojn por mikroregiloj en Python. PikaScript ne estas ligita al eksteraj dependecoj kaj povas funkcii per mikroregiloj kun 4 KB RAM kaj 32 KB Flash, kiel la STM32G030C8 kaj STM32F103C8. Kompare, MicroPython postulas 16 KB de RAM kaj 256 KB de Flash, dum Snek postulas 2 KB de RAM kaj 32 KB de Flash. La projektkodo estas skribita en C kaj estas distribuita sub la MIT-licenco.

PikaScript provizas subaron de la lingvo Python 3, kiu subtenas sintaksajn elementojn kiel branĉojn kaj buklo-deklarojn (se, dum, por, alie, elif, rompi, daŭrigu), bazajn funkciigistojn (+ - * / < == >), modulojn, enkapsuligo, heredo, polimorfismo, klasoj kaj metodoj. Python-skriptoj estas ekzekutitaj sur aparatoj post prepara kompilo - PikaScript unue konvertas Python-kodon en internan Pika Asm-bajtkodon, kiu estas efektivigita sur la fina aparato en speciala Pika Runtime virtuala maŝino. Ĝi subtenas labori rekte sur aparataro aŭ en RT-Thread, VSF (Versaloon Software Framework) kaj Linukso-medioj.

Disponeblas PikaScript 1.8, varianto de la lingvo Python por mikroregiloj

Aparte oni rimarkas la facilecon de integriĝo de PikaScript-skriptoj kun kodo en la C-lingvo - funkcioj skribitaj en la C-lingvo povas esti ligitaj al la kodo, kio permesas al la efektivigo de PikaScript uzi la evoluojn de malnovaj projektoj skribitaj en la C-lingvo. Ekzistantaj evolumedioj kiel Keil, IAR, RT-Thread Studio kaj Segger Embedded Studio povas esti uzataj por evoluigi C-modulojn. Ligiloj estas generitaj aŭtomate en la kompila stadio; sufiĉas difini la API en dosiero kun Python-kodo kaj la ligado de C-funkcioj al Python-moduloj estos farita kiam la Pika Antaŭ-kompililo estos lanĉita.

Disponeblas PikaScript 1.8, varianto de la lingvo Python por mikroregiloj

PikaScript asertas subtenon por 24 mikroregiloj, inkluzive de diversaj modeloj stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 kaj Infineon TC264. Por rapide komenci disvolviĝon sen ekipaĵo, simulilo estas provizita aŭ Pika-Pi-Zero-disvolva tabulo bazita sur la mikroregilo STM32G030C8T6 kun 64 KB Flash kaj 8 KB RAM estas ofertita, apogante tipajn ekstercentrajn interfacojn (GPIO, TIME, IIC, RGB, KEY). , LCD, RGB). La programistoj ankaŭ preparis interretan projektgeneratoron kaj pakadministranton PikaPackage.

La nova versio efektivigas memoradministradon bazitan sur referenckalkulado kaj aldonas subtenon por virtualaj konstrukciistoj (fabrikmetodo). Diagnozitaj memorproblemoj uzante la ilaron valgrind. Aldonita subteno por kompili Python-komputildosierojn en bajtkodon kaj enpaki ilin en firmware. La kapablo uzi plurajn Python-dosierojn en firmvaro sen la bezono uzi dosiersistemon estis efektivigita.

fonto: opennet.ru

Aldoni komenton