Dostępny jest PikaScript 1.8, wariant języka Python dla mikrokontrolerów

Został wydany projekt PikaScript 1.8 rozwijający kompaktowy silnik do pisania aplikacji dla mikrokontrolerów w języku Python. PikaScript nie jest powiązany z zależnościami zewnętrznymi i może działać na mikrokontrolerach z 4 KB RAM i 32 KB Flash, takich jak STM32G030C8 i STM32F103C8. Dla porównania MicroPython wymaga 16 KB pamięci RAM i 256 KB Flasha, podczas gdy Snek wymaga 2 KB RAM i 32 KB Flasha. Kod projektu napisany jest w języku C i jest rozpowszechniany na licencji MIT.

PikaScript zapewnia podzbiór języka Python 3, który obsługuje elementy składni, takie jak instrukcje rozgałęzień i pętli (if, while, for, else, elif, break,continue), podstawowe operatory (+ - * / < == >), moduły, enkapsulacja, dziedziczenie, polimorfizm, klasy i metody. Skrypty Pythona wykonywane są na urządzeniach po wstępnej kompilacji - PikaScript najpierw konwertuje kod Pythona na wewnętrzny kod bajtowy Pika Asm, który jest wykonywany na urządzeniu końcowym w specjalnej maszynie wirtualnej Pika Runtime. Obsługuje pracę bezpośrednio na sprzęcie lub w środowiskach RT-Thread, VSF (Versaloon Software Framework) i Linux.

Dostępny jest PikaScript 1.8, wariant języka Python dla mikrokontrolerów

Osobno zauważono łatwość integracji skryptów PikaScript z kodem w języku C – funkcje napisane w języku C można powiązać z kodem, co pozwala na wdrożenie PikaScriptu z wykorzystaniem rozwinięć starych projektów napisanych w języku C. Do tworzenia modułów C można wykorzystać istniejące środowiska programistyczne, takie jak Keil, IAR, RT-Thread Studio i Segger Embedded Studio. Powiązania generowane są automatycznie na etapie kompilacji, wystarczy zdefiniować API w pliku z kodem Pythona, a powiązanie funkcji C z modułami Pythona zostanie wykonane po uruchomieniu Prekompilatora Pika.

Dostępny jest PikaScript 1.8, wariant języka Python dla mikrokontrolerów

PikaScript obsługuje 24 mikrokontrolery, w tym różne modele stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 i Infineon TC264D. Aby szybko rozpocząć prace rozwojowe bez wyposażenia, dostarczany jest symulator lub oferowana jest płytka rozwojowa Pika-Pi-Zero oparta na mikrokontrolerze STM32G030C8T6 z 64 KB Flash i 8 KB RAM, obsługująca typowe interfejsy peryferyjne (GPIO, TIME, IIC, RGB, KEY , LCD, RGB). Twórcy przygotowali także internetowy generator projektów i menadżer pakietów PikaPackage.

Nowa wersja implementuje zarządzanie pamięcią w oparciu o zliczanie referencji oraz dodaje obsługę wirtualnych konstruktorów (metoda fabryczna). Zdiagnozowano problemy z pamięcią za pomocą zestawu narzędzi Valgrind. Dodano obsługę kompilowania plików komputerowych Pythona do kodu bajtowego i pakowania ich do oprogramowania sprzętowego. Zaimplementowano możliwość używania wielu plików Pythona w oprogramowaniu sprzętowym bez konieczności korzystania z systemu plików.

Źródło: opennet.ru

Dodaj komentarz