PikaScript 1.8 on saatavana, muunnos Python-kielestä mikro-ohjaimille

PikaScript 1.8 -projekti on julkaistu, ja se kehittää kompaktin moottorin mikro-ohjainsovellusten kirjoittamiseen Pythonissa. PikaScript ei ole sidottu ulkoisiin riippuvuuksiin, ja sitä voidaan käyttää mikro-ohjaimissa, joissa on 4 kt RAM-muistia ja 32 kt Flash, kuten STM32G030C8 ja STM32F103C8. Vertailun vuoksi MicroPython vaatii 16 kt RAM-muistia ja 256 kt Flashia, kun taas Snek vaatii 2 kt RAM-muistia ja 32 kt Flashia. Projektikoodi on kirjoitettu C-kielellä ja sitä jaetaan MIT-lisenssillä.

PikaScript tarjoaa Python 3 -kielen osajoukon, joka tukee syntaksielementtejä, kuten haara- ja silmukkakäskyjä (if, while, for, else, elif, break, jatka), perusoperaattoreita (+ - * / < == >), moduuleja, kapselointi, periytyminen, polymorfismi, luokat ja menetelmät. Python-skriptit suoritetaan laitteilla alustavan käännöksen jälkeen - PikaScript muuntaa ensin Python-koodin sisäiseksi Pika Asm -tavukoodiksi, joka suoritetaan loppulaitteella erityisessä Pika Runtime -virtuaalikoneessa. Se tukee työskentelyä suoraan laitteiston päällä tai RT-Thread-, VSF- (Versaloon Software Framework)- ja Linux-ympäristöissä.

PikaScript 1.8 on saatavana, muunnos Python-kielestä mikro-ohjaimille

Erikseen huomioidaan PikaScript-skriptien integroinnin helppous C-kielisen koodin kanssa - koodiin voidaan linkittää C-kielellä kirjoitetut toiminnot, mikä mahdollistaa PikaScriptin toteutuksessa vanhojen C-kielellä kirjoitettujen projektien kehitysten hyödyntämisen. C-moduulien kehittämiseen voidaan käyttää olemassa olevia kehitysympäristöjä, kuten Keil, IAR, RT-Thread Studio ja Segger Embedded Studio. Sidoitukset generoidaan automaattisesti käännösvaiheessa, riittää, että API määritellään tiedostossa Python-koodilla ja C-funktioiden sitominen Python-moduuleihin suoritetaan Pika esikääntäjän käynnistyessä.

PikaScript 1.8 on saatavana, muunnos Python-kielestä mikro-ohjaimille

PikaScript vaatii tukea 24 mikro-ohjaimelle, mukaan lukien eri mallit stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32D3TC ja Infine264D32TC.030TC. Jotta kehitys voidaan aloittaa nopeasti ilman laitteita, toimitetaan simulaattori tai STM8G6C64T8-mikrokontrolleriin perustuva Pika-Pi-Zero-kehityskortti, jossa on XNUMX KB Flash ja XNUMX KB RAM ja joka tukee tyypillisiä oheisliitäntöjä (GPIO, TIME, IIC, RGB, KEY). , LCD, RGB). Kehittäjät ovat myös valmistaneet verkkoprojektigeneraattorin ja pakettien hallinnan PikaPackagen.

Uusi versio toteuttaa viitelaskentaan perustuvan muistinhallinnan ja lisää tuen virtuaalisille rakentajille (tehdasmenetelmä). Diagnosoitu muistiongelmat valgrind-työkalupakin avulla. Lisätty tuki Python-pc-tiedostojen kääntämiselle tavukoodiksi ja niiden pakkaamiselle laiteohjelmistoon. Mahdollisuus käyttää useita Python-tiedostoja laiteohjelmistossa ilman tiedostojärjestelmän käyttöä on otettu käyttöön.

Lähde: opennet.ru

Lisää kommentti