PikaScript 1.8 heye, guhertoyek zimanê Python ji bo mîkrokontrolkeran

Serbestberdana projeya PikaScript 1.8, ku motorek kompakt ji bo nivîsandina serîlêdanên mîkrokontrolkeran li Python pêş dixe, hate weşandin. PikaScript bi girêdanên derveyî ve ne girêdayî ye û dikare li ser mîkrokontrolkerên bi 4 KB RAM û 32 KB Flash, wek STM32G030C8 û STM32F103C8, bixebite. Bi berhevdanê, MicroPython 16 KB RAM û 256 KB Flash hewce dike, dema ku Snek 2 KB RAM û 32 KB Flash hewce dike. Koda projeyê bi C-yê hatî nivîsandin û di bin lîsansa MIT-ê de tê belav kirin.

PikaScript binekomek zimanê Python 3 peyda dike ku hêmanên hevoksaziyê yên wekî daxuyaniyên şax û loop (heke, dema, ji bo, din, elif, şikandin, berdewam bike), daxuyaniyên bingehîn (+ - * / < == >), modulan, encapsulasyon, mîras, pirmorfîzm, çîn û rêbaz. Nivîsarên Python piştî berhevkirinê li ser cîhazan têne darve kirin - PikaScript pêşî koda Python diguhezîne bytekoda Pika Asm ya hundurîn, ku li ser cîhaza paşîn di makîneyek virtual ya taybetî ya Pika Runtime de tê darve kirin. Rasterast li ser hardware an jî di hawîrdorên RT-Thread, VSF (Versaloon Software Framework) û Linux de kar bikin.

PikaScript 1.8 heye, guhertoyek zimanê Python ji bo mîkrokontrolkeran

Ji hev veqetandî, hêsaniya yekbûna nivîsarên PikaScript bi kodê bi zimanê C-yê tê destnîşan kirin - fonksiyonên ku bi zimanê C têne nivîsandin dikarin bi kodê ve werin girêdan, ku dihêle dema pêkanîna PikaScript pêşkeftinên projeyên kevn ên ku bi zimanê C hatine nivîsandin bikar bînin. Modulên C dikarin bi karanîna hawîrdorên pêşkeftina heyî yên wekî Keil, IAR, RT-Thread Studio, û Segger Embedded Studio werin pêşve xistin. Girêdan bixweber di qonaxa berhevkirinê de têne çêkirin, bes e ku meriv API-ê di pelê de bi koda Python-ê diyar bike û girêdana fonksiyonên C-yê bi modulên Python-ê re dê di dema destpêkirina berhevkarê Pika Pre-compiler de were kirin.

PikaScript 1.8 heye, guhertoyek zimanê Python ji bo mîkrokontrolkeran

PikaScript îdîa dike ku piştgirî dide 24 mîkrokontrolkeran, di nav de modelên cihêreng ên stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry. Ji bo ku zû dest bi pêşkeftina bê hardware bike, simulatorek tê peyda kirin an jî panelek pêşkeftinê ya Pika-Pi-Zero li ser bingeha mîkrokontroller STM32G3C264T32 bi 030 KB Flash û 8 KB RAM ve tê pêşkêş kirin, ku piştgirî dide navbeynkên periferîkî yên hevpar (GPIO, TIME, IIC, RGB, KEY , LCD, RGB). Pêşdebiran di heman demê de jeneratorek projeya serhêl û rêveberek pakêtê PikaPackage jî amade kirin.

Guhertoya nû rêveberiya bîra-hejmarkirî ya referansê bicîh tîne û piştgirî ji bo çêkerên virtual (rêbaza kargehê) zêde dike. Teşhîskirina pirsgirêkên bîranînê bi karanîna amûra valgrind hate kirin. Piştgiriyek ji bo berhevkirina pelên PC-ya Python li bytecode û pakkirina nav firmware-ê zêde kir. Hêza karanîna pir pelên Python di firmware de bêyî hewcedariya karanîna pergala pelan bicîh kir.

Source: opennet.ru

Add a comment