PikaScript 1.8 este disponibil, o variantă a limbajului Python pentru microcontrolere

A fost publicată versiunea 1.8 a proiectului PikaScript, care dezvoltă un motor compact pentru scrierea aplicațiilor pentru microcontrolere în limbajul Python. PikaScript nu depinde de biblioteci externe și poate rula pe microcontrolere cu 4 KB RAM și 32 KB Flash, cum ar fi STM32G030C8 și STM32F103C8. Spre comparație, MicroPython necesită 16 KB RAM și 256 KB Flash, iar Snek necesită 2 KB RAM și 32 KB Flash. Codul proiectului este scris în C și este distribuit sub licența MIT.

PikaScript oferă un subset al limbajului Python 3, suportând elemente de sintaxă precum operatorii de ramificare și bucle (if, while, for, else, elif, break, continue), operatori de bază (+ - * / ), module, încapsulare, moștenire, polimorfism, clase și metode. Scripturile Python sunt executate pe dispozitive după o compilare prealabilă — PikaScript transformă mai întâi codul Python în bytecode intern Pika Asm, care este executat pe dispozitivul final într-un Pika Runtime special. mașina virtuală Se suportă rularea direct pe hardware sau în medii RT-Thread, VSF (Versaloon Software Framework) și Linux.

PikaScript 1.8 este disponibil, o variantă a limbajului Python pentru microcontrolere

Se remarcă ușurința integrării scripturilor PikaScript cu codul în C — funcțiile scrise în C pot fi legate de cod, permițând astfel utilizarea realizărilor proiectelor mai vechi scrise în C atunci când se implementează PikaScript. Pentru dezvoltarea modulelor C se pot utiliza medii de dezvoltare existente, cum ar fi Keil, IAR, RT-Thread Studio și Segger Embedded Studio. Legăturile sunt generate automat în timpul procesului de compilare, fiind suficient să definiți API-ul în fișierul cu cod Python, iar legătura funcțiilor C cu modulele Python va fi realizată în timpul rularii compilatorului Pika Pre-compiler.

PikaScript 1.8 este disponibil, o variantă a limbajului Python pentru microcontrolere

PikaScript susține 24 de microcontrolere, inclusiv diferite modele stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 și Infineon TC264D. Pentru a începe rapid dezvoltarea fără echipamente se oferă un simulator sau se propune placa de dezvoltare Pika-Pi-Zero bazată pe microcontrolerul STM32G030C8T6 cu 64 KB Flash și 8 KB RAM, care suportă interfețele periferice standard (GPIO, TIME, IIC, RGB, KEY, LCD, RGB). De asemenea, dezvoltatorii au pregătit un generator de proiecte online și un manager de pachete PikaPackage.

În noua versiune a fost implementată gestionarea memoriei pe baza numărului de referințe și a fost adăugată suport pentru constructori virtuali (factory method). A fost efectuată o diagnosticare a problemelor de memorie folosind instrumentele valgrind. A fost adăugat suport pentru compilarea fișierelor pc Python în bytecode și împachetarea acestora în firmware. A fost implementată posibilitatea de a utiliza mai multe fișiere Python în firmware-uri fără a necesita utilizarea sistemului de fișiere.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster