PikaScript 1.8-ը հասանելի է, Python լեզվի տարբերակ միկրոկառավարիչների համար

Թողարկվել է PikaScript 1.8 նախագիծը՝ մշակելով կոմպակտ շարժիչ՝ Python-ում միկրոկառավարիչների համար հավելվածներ գրելու համար։ PikaScript-ը կապված չէ արտաքին կախվածությունների հետ և կարող է աշխատել 4 KB RAM և 32 KB Flash ունեցող միկրոկառավարիչների վրա, ինչպիսիք են STM32G030C8 և STM32F103C8: Համեմատության համար, MicroPython-ը պահանջում է 16 ԿԲ RAM և 256 ԿԲ ֆլեշ, մինչդեռ Snek-ը պահանջում է 2 ԿԲ օպերատիվ հիշողություն և 32 ԿԲ ֆլեշ: Ծրագրի կոդը գրված է C-ով և տարածվում է MIT լիցենզիայի ներքո:

PikaScript-ը տրամադրում է Python 3 լեզվի ենթաբազմություն, որն աջակցում է շարահյուսական տարրերին, ինչպիսիք են ճյուղերի և հանգույցների հայտարարությունները (if, while, for, else, elif, break, շարունակել), հիմնական օպերատորները (+ - * / < == >), մոդուլները, ինկապսուլյացիա, ժառանգականություն, պոլիմորֆիզմ, դասեր և մեթոդներ: Python սկրիպտները կատարվում են սարքերում նախնական հավաքումից հետո. PikaScript-ը նախ փոխակերպում է Python կոդը ներքին Pika Asm բայթկոդի, որը կատարվում է վերջնական սարքի վրա հատուկ Pika Runtime վիրտուալ մեքենայի մեջ: Այն աջակցում է աշխատել ուղղակիորեն սարքաշարի վերևում կամ RT-Thread, VSF (Versaloon Software Framework) և Linux միջավայրերում:

PikaScript 1.8-ը հասանելի է, Python լեզվի տարբերակ միկրոկառավարիչների համար

Առանձին-առանձին նշվում է PikaScript-ի սկրիպտների ինտեգրման հեշտությունը C լեզվով կոդով. C լեզվով գրված գործառույթները կարող են կապված լինել կոդի հետ, ինչը թույլ է տալիս PikaScript-ի իրականացումը օգտագործել C լեզվով գրված հին նախագծերի մշակումները: Գոյություն ունեցող զարգացման միջավայրերը, ինչպիսիք են Keil, IAR, RT-Thread Studio և Segger Embedded Studio, կարող են օգտագործվել C մոդուլներ մշակելու համար: Կապերը ստեղծվում են ավտոմատ կերպով կոմպիլյացիայի փուլում, բավական է API-ն սահմանել Python կոդով ֆայլում, և C ֆունկցիաների կապումը Python մոդուլներին կկատարվի, երբ գործարկվի Pika Pre-compiler-ը:

PikaScript 1.8-ը հասանելի է, Python լեզվի տարբերակ միկրոկառավարիչների համար

PikaScript-ը պնդում է, որ աջակցում է 24 միկրոկարգավորիչներ, այդ թվում՝ stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C, ESP3, ESP264C, ESP32C և ESP030C. Առանց սարքավորումների զարգացումն արագ սկսելու համար տրամադրվում է սիմուլյատոր կամ առաջարկվում է Pika-Pi-Zero մշակման տախտակ՝ հիմնված STM8G6C64T8 միկրոկառավարիչի վրա՝ XNUMX ԿԲ Flash և XNUMX ԿԲ RAM-ով, որն աջակցում է բնորոշ ծայրամասային ինտերֆեյսներին (GPIO, TIME, IIC, RGB, KEY): , LCD, RGB): Մշակողները նաև պատրաստել են առցանց նախագծերի գեներատոր և փաթեթների կառավարիչ PikaPackage:

Նոր տարբերակն իրականացնում է հիշողության կառավարում՝ հիմնված հղումների հաշվման վրա և ավելացնում է աջակցություն վիրտուալ կոնստրուկտորների համար (գործարանային մեթոդ): Ախտորոշվել են հիշողության խնդիրներ՝ օգտագործելով valgrind գործիքակազմը: Ավելացվեց աջակցություն Python համակարգչի ֆայլերը բայթկոդի մեջ կազմելու և դրանք որոնվածի մեջ փաթեթավորելու համար: Իրականացվել է Python բազմաթիվ ֆայլեր որոնվածում օգտագործելու հնարավորությունը՝ առանց ֆայլային համակարգ օգտագործելու անհրաժեշտության:

Source: opennet.ru

Добавить комментарий