Dostępna wersja PikaScript 1.8, wariant języka Python dla mikrokontrolerów

Opublikowano wersję projektu PikaScript 1.8, rozwijającego kompaktowy silnik do pisania aplikacji dla mikrokontrolerów w języku Python. PikaScript nie jest związany z zewnętrznymi zależnościami i może działać na mikrokontrolerach z 4 KB RAM i 32 KB Flash, takich jak STM32G030C8 i STM32F103C8. Dla porównania, aby uruchomić MicroPython wymagane jest 16 KB RAM i 256 KB Flash, a dla Snek — 2 KB RAM i 32 KB Flash. Kod projektu został napisany w języku C i jest rozpowszechniany na zasadzie licencji MIT.

PikaScript oferuje podzbiór języka Python 3, który wspiera takie elementy składni, jak operatory warunkowe i pętle (if, while, for, else, elif, break, continue), podstawowe operatory (+ — * / ), moduły, enkapsulację, dziedziczenie, polimorfizm, klasy oraz metody. Skrypty Pythona są uruchamiane na urządzeniach po wstępnym kompilowaniu — PikaScript na początku przekształca kod Python w wewnętrzny bajtkod Pika Asm, który na końcowym urządzeniu jest wykonywany w specjalnym Pika Runtime. Obsługiwane jest działanie bezpośrednio na sprzęcie lub w środowiskach RT-Thread, VSF (Versaloon Software Framework) oraz Linux. maszynie wirtualnej Warto podkreślić łatwość integracji skryptów PikaScript z kodem w języku C — do kodu mogą być przypisywane napisane w języku C funkcje, co umożliwia wykorzystanie osiągnięć starych projektów przy wdrażaniu PikaScript. Do opracowywania modułów C można korzystać z istniejących środowisk programistycznych, takich jak Keil, IAR, RT-Thread Studio oraz Segger Embedded Studio. Powiązania są generowane automatycznie na etapie kompilacji, wystarczy zdefiniować API w pliku z kodem Python, a powiązanie funkcji C z modułami Python zostanie wykonane podczas uruchamiania kompilatora Pika Pre-compiler.

Dostępna wersja PikaScript 1.8, wariant języka Python dla mikrokontrolerów

W PikaScript zadeklarowano wsparcie dla 24 mikrokontrolerów, w tym różnych modeli stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 oraz Infineon TC264D. Dla szybkiego rozpoczęcia prac rozwojowych bez sprzętu oferowany jest symulator lub płytka dla deweloperów Pika-Pi-Zero oparta na mikrokontrolerze STM32G030C8T6 z 64 KB Flash i 8 KB RAM, wspierająca standardowe interfejsy peryferyjne (GPIO, TIME, IIC, RGB, KEY, LCD, RGB). Deweloperzy przygotowali również generator projektów online oraz menedżer pakietów PikaPackage.

Dostępna wersja PikaScript 1.8, wariant języka Python dla mikrokontrolerów

W PikaScript zapowiedziano wsparcie dla 24 różnych mikrokontrolerów, w tym modele stm32g*, stm32f*, stm32h*, a także WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 oraz Infineon TC264D. Aby umożliwić szybkie rozpoczęcie rozwoju bez sprzętu, dostępny jest symulator lub płytka rozwojowa Pika-Pi-Zero oparta na mikrokontrolerze STM32G030C8T6, która ma 64 KB Flash i 8 KB RAM oraz obsługuje standardowe interfejsy peryferyjne (GPIO, TIME, IIC, RGB, KEY, LCD, RGB). Deweloperzy zorganizowali także online-Generator projektów oraz menedżer pakietów PikaPackage.

W nowej wersji wprowadzono zarządzanie pamięcią oparte na zliczaniu referencji oraz dodano wsparcie dla wirtualnych konstruktorów (factory method). Przeprowadzono diagnostykę problemów z pamięcią przy użyciu narzędzia valgrind. Dodano wsparcie dla kompilacji plików .pc Python do kodu bajtowego oraz pakowania ich do oprogramowania układowego. Wprowadzono możliwość korzystania z kilku plików Python w oprogramowaniu układowym bez konieczności używania systemu plików.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster