I-PikaScript 1.8 iyatholakala, okuhlukile kolimi lwePython lwama-microcontroller

Ukukhishwa kwephrojekthi ye-PikaScript 1.8, ethuthukisa injini ehlangene yokubhala izicelo zama-microcontrollers ePython, kushicilelwe. I-PikaScript ayiboshelwe kokuncikile kwangaphandle futhi ingasebenza kuma-microcontrollers ano-4 KB RAM kanye no-32 KB Flash njenge-STM32G030C8 ne-STM32F103C8. Ngokuqhathanisa, i-MicroPython idinga u-16KB RAM no-256KB Flash, kuyilapho i-Snek idinga u-2KB RAM no-32KB Flash. Ikhodi yephrojekthi ibhalwe ngo-C futhi isatshalaliswa ngaphansi kwelayisensi ye-MIT.

I-PikaScript inikeza isethi engaphansi yolimi lwe-Python 3 esekela izakhi ze-syntax njengezitatimende zegatsha kanye ne-loop (uma, ngenkathi, okunye, i-elif, ikhefu, iqhubeka), izitatimende eziyisisekelo (+ - * / < == >), amamojula, i-encapsulation, ifa, i-polymorphism, amakilasi kanye nezindlela. Imibhalo ye-Python isetshenziswa kumadivayisi ngemva kokuhlanganiswa kusengaphambili - I-PikaScript iqala ukuguqula ikhodi ye-Python ibe yi-Pika Asm bytecode yangaphakathi, esetshenziswa kudivayisi yokugcina emshinini okhethekile we-Pika Runtime. Sebenza ngokuqondile phezu kwehadiwe noma ku-RT-Thread, VSF (Versaloon Software Framework) kanye nezindawo ze-Linux ziyasekelwa.

I-PikaScript 1.8 iyatholakala, okuhlukile kolimi lwePython lwama-microcontroller

Ngokwehlukana, ukukhululeka kokuhlanganiswa kwemibhalo ye-PikaScript enekhodi ngolimi C kuyaphawulwa - imisebenzi ebhalwe ngolimi C ingaxhunywa kukhodi, okuvumela ukusebenzisa ukuthuthukiswa kwamaphrojekthi amadala abhalwe ngolimi C lapho kusetshenziswa i-PikaScript. Amamojula we-C angathuthukiswa kusetshenziswa izindawo zokuthuthuka ezikhona ezifana ne-Keil, i-IAR, i-RT-Thread Studio, ne-Segger Embedded Studio. Izibopho zikhiqizwa ngokuzenzakalelayo esigabeni sokuhlanganiswa, kwanele ukuchaza i-API efayeleni ngekhodi ye-Python futhi ukubophezela kwemisebenzi ye-C kumamojula we-Python kuzokwenziwa ngesikhathi sokwethulwa kwe-Pika Pre-compiler compiler.

I-PikaScript 1.8 iyatholakala, okuhlukile kolimi lwePython lwama-microcontroller

I-PikaScript ifuna ukusekelwa kwama-microcontrollers angu-24, okuhlanganisa amamodeli ahlukahlukene we-stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, TC32DonC3, ESP264D, ESP32D, kanye ne-ESP030D. Ukuze uqalise ngokushesha ukuthuthukiswa ngaphandle kwezingxenyekazi zekhompyutha, kunikezwa isifanisi noma ibhodi lokuthuthukisa i-Pika-Pi-Zero linikezwa ngokusekelwe kusilawuli esincane se-STM8G6C64T8 esino-XNUMX KB Flash kanye no-XNUMX KB RAM, esisekela ukuxhumana okujwayelekile kwe-peripheral (GPIO, TIME, IIC, RGB, KEY , LCD, RGB). Abathuthukisi baphinde balungiselela i-generator yephrojekthi eku-inthanethi kanye nomphathi wephakheji we-PikaPackage.

Inguqulo entsha isebenzisa ukuphathwa kwenkumbulo ebalwa ngereferensi futhi yengeza usekelo lwabakhi ababonakalayo (indlela yasefekthri). Ukuxilongwa kwezinkinga zenkumbulo kwenziwa kusetshenziswa i-valgrind toolkit. Ukwesekwa okwengeziwe kokuhlanganisa amafayela e-Python pc abe yi-bytecode nokupakishwa ku-firmware. Kusetshenziswe ikhono lokusebenzisa amafayela amaningi ePython ku-firmware ngaphandle kwesidingo sokusebenzisa uhlelo lwefayela.

Source: opennet.ru

Engeza amazwana