Ang PikaScript 1.8 anaa, usa ka variant sa Python nga pinulongan alang sa mga microcontroller

Ang pagpagawas sa PikaScript 1.8 nga proyekto, nga nagpalambo sa usa ka compact engine alang sa pagsulat sa mga aplikasyon alang sa microcontrollers sa Python, gipatik. Ang PikaScript wala gihigot sa mga eksternal nga dependency ug mahimong modagan sa mga microcontroller nga adunay 4 KB RAM ug 32 KB Flash sama sa STM32G030C8 ug STM32F103C8. Sa pagtandi, ang MicroPython nagkinahanglan og 16KB RAM ug 256KB Flash, samtang ang Snek nagkinahanglan og 2KB RAM ug 32KB Flash. Ang code sa proyekto gisulat sa C ug giapod-apod ubos sa lisensya sa MIT.

Ang PikaScript naghatag ug subset sa Python 3 nga lengguwahe nga nagsuporta sa mga elemento sa syntax sama sa branch ug loop nga mga pahayag (kon, samtang, para, lain pa, elif, break, continue), base nga mga pahayag (+ - * / < == >), modules, encapsulation, kabilin, polymorphism, mga klase ug mga pamaagi. Ang mga script sa Python gipatuman sa mga device human sa precompilation - Ang PikaScript unang nag-convert sa Python code ngadto sa internal nga Pika Asm bytecode, nga gipatuman sa end device sa usa ka espesyal nga Pika Runtime virtual machine. Direkta nga pagtrabaho sa ibabaw sa hardware o sa RT-Thread, VSF (Versaloon Software Framework) ug Linux environment gisuportahan.

Ang PikaScript 1.8 anaa, usa ka variant sa Python nga pinulongan alang sa mga microcontroller

Gilain, ang kasayon ​​sa pag-integrate sa mga script sa PikaScript nga adunay code sa C nga pinulongan ang namatikdan - ang mga function nga gisulat sa C nga pinulongan mahimong ilakip sa code, nga nagtugot sa paggamit sa mga kalamboan sa mga daan nga proyekto nga gisulat sa C nga pinulongan sa pagpatuman sa PikaScript. Ang mga module sa C mahimong ma-develop gamit ang kasamtangan nga development environment sama sa Keil, IAR, RT-Thread Studio, ug Segger Embedded Studio. Awtomatikong gihimo ang mga binding sa yugto sa pag-compile, igo na nga ipasabut ang API sa file nga adunay code sa Python ug ang pagbugkos sa mga function sa C sa mga module sa Python himuon sa panahon sa paglansad sa Pika Pre-compiler compiler.

Ang PikaScript 1.8 anaa, usa ka variant sa Python nga pinulongan alang sa mga microcontroller

Giangkon sa PikaScript ang suporta alang sa 24 ka microcontroller, lakip ang lain-laing mga modelo sa stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry32C3, ug In264Dfineon TC32. Aron dali nga masugdan ang pag-uswag nga wala’y hardware, usa ka simulator ang gihatag o usa ka Pika-Pi-Zero development board ang gitanyag base sa STM030G8C6T64 microcontroller nga adunay 8 KB Flash ug XNUMX KB RAM, nga nagsuporta sa mga sagad nga peripheral interface (GPIO, TIME, IIC, RGB, KEY , LCD, RGB). Ang mga nag-develop nag-andam usab usa ka online nga generator sa proyekto ug usa ka tagdumala sa pakete sa PikaPackage.

Ang bag-ong bersyon nagpatuman sa reference-counted memory management ug nagdugang suporta alang sa mga virtual constructor (paagi sa pabrika). Ang pagdayagnos sa mga problema sa memorya gihimo gamit ang valgrind toolkit. Gidugang nga suporta alang sa pag-compile sa Python pc-files sa bytecode ug packaging sa firmware. Gipatuman ang abilidad sa paggamit sa daghang mga file sa Python sa firmware nga dili kinahanglan nga gamiton ang file system.

Source: opennet.ru

Idugang sa usa ka comment