PikaScript 1.8 жеткиликтүү, микроконтроллерлер үчүн Python тилинин бир варианты

Pythonдо микроконтроллерлерге тиркемелерди жазуу үчүн компакт кыймылдаткычты иштеп чыгуучу PikaScript 1.8 долбоору чыгарылды. PikaScript тышкы көз карандылыкка байланган эмес жана STM4G32C32 жана STM030F8C32 сыяктуу 103 КБ оперативдик эс жана 8 КБ Flash менен микроконтроллерлерде иштей алат. Салыштыруу үчүн, MicroPython 16 КБ оперативдүү эстутум жана 256 КБ Flash, ал эми Snek үчүн 2 КБ оперативдүү жана 32 КБ Flash талап кылынат. Долбоордун коду C тилинде жазылган жана MIT лицензиясы боюнча таратылат.

PikaScript Python 3 тилинин синтаксис элементтерин колдойт, мисалы бутак жана цикл операторлору (if, while, for, else, elif, break, continue), негизги операторлор (+ - * / < == >), модулдар, инкапсуляция, тукум куучулук, полиморфизм, класстар жана методдор. Python скрипттери алдын ала компиляциядан кийин түзмөктөрдө аткарылат - PikaScript алгач Python кодун ички Pika Asm байт кодуна айлантат, ал акыркы түзмөктө атайын Pika Runtime виртуалдык машинасында аткарылат. Бул түздөн-түз жабдыктын үстүндө же RT-Thread, VSF (Versaloon Software Framework) жана Linux чөйрөлөрүндө иштөөнү колдойт.

PikaScript 1.8 жеткиликтүү, микроконтроллерлер үчүн Python тилинин бир варианты

Өзүнчө PikaScript скрипттерин Си тилиндеги код менен интеграциялоонун жеңилдиги белгиленет - Си тилинде жазылган функциялар код менен байланыштырылышы мүмкүн, бул PikaScriptти ишке ашырууда Си тилинде жазылган эски долбоорлордун иштеп чыгууларын колдонууга мүмкүндүк берет. Keil, IAR, RT-Thread Studio жана Segger Embedded Studio сыяктуу иштеп чыгуу чөйрөлөрү C модулдарын иштеп чыгуу үчүн колдонулушу мүмкүн. Байланыштар компиляция стадиясында автоматтык түрдө түзүлөт; Python коду бар файлда APIди аныктоо жетиштүү жана 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 жана Inf32TC3C264. Жабдуусуз иштеп чыгууну тез баштоо үчүн симулятор берилет же типтүү перифериялык интерфейстерди (GPIO, TIME, IIC, RGB, KEY) колдогон 32 КБ Flash жана 030 КБ оперативдүү эс тутумуна ээ STM8G6C64T8 микроконтроллерине негизделген Pika-Pi-Zero иштеп чыгуу тактасы сунушталат. , LCD, RGB). Иштеп чыгуучулар ошондой эле онлайн долбоордун генераторун жана PikaPackage пакет менеджерин даярдашкан.

Жаңы версия маалымдамаларды эсептөөнүн негизинде эстутумду башкарууну ишке ашырат жана виртуалдык конструкторлорду колдоону кошот (заводдук ыкма). Valgrind инструменттеринин жардамы менен эстутум көйгөйлөрү аныкталган. Python компьютердик файлдарын байткодго компиляциялоо жана аларды микропрограммага пакеттөө үчүн колдоо кошулду. Файлдык системаны колдонбостон микропрограммада бир нече Python файлдарын колдонуу мүмкүнчүлүгү ишке ашырылган.

Source: opennet.ru

Комментарий кошуу