Tersedia PikaScript 1.8, varian bahasa Python untuk mikrokontroler

Proyek PikaScript 1.8 telah dirilis, mengembangkan mesin ringkas untuk menulis aplikasi mikrokontroler dengan Python. PikaScript tidak terikat dengan ketergantungan eksternal dan dapat berjalan pada mikrokontroler dengan RAM 4 KB dan Flash 32 KB, seperti STM32G030C8 dan STM32F103C8. Sebagai perbandingan, MicroPython membutuhkan 16 KB RAM dan 256 KB Flash, sedangkan Snek membutuhkan 2 KB RAM dan 32 KB Flash. Kode proyek ditulis dalam C dan didistribusikan di bawah lisensi MIT.

PikaScript menyediakan subset dari bahasa Python 3 yang mendukung elemen sintaksis seperti pernyataan cabang dan loop (if, while, for, else, elif, break, continue), operator dasar (+ - * / < == >), modul, enkapsulasi, pewarisan, polimorfisme, kelas dan metode. Skrip Python dijalankan pada perangkat setelah kompilasi awal - PikaScript pertama-tama mengubah kode Python menjadi bytecode Pika Asm internal, yang dieksekusi pada perangkat akhir dalam mesin virtual Pika Runtime khusus. Ini mendukung pekerjaan langsung di atas perangkat keras atau di lingkungan RT-Thread, VSF (Versaloon Software Framework) dan Linux.

Tersedia PikaScript 1.8, varian bahasa Python untuk mikrokontroler

Secara terpisah, kemudahan integrasi skrip PikaScript dengan kode dalam bahasa C dicatat - fungsi yang ditulis dalam bahasa C dapat dihubungkan ke kode, yang memungkinkan implementasi PikaScript untuk menggunakan pengembangan proyek lama yang ditulis dalam bahasa C. Lingkungan pengembangan yang ada seperti Keil, IAR, RT-Thread Studio dan Segger Embedded Studio dapat digunakan untuk mengembangkan modul C. Binding dihasilkan secara otomatis pada tahap kompilasi, cukup mendefinisikan API dalam file dengan kode Python dan pengikatan fungsi C ke modul Python akan dilakukan ketika Pika Pre-compiler diluncurkan.

Tersedia PikaScript 1.8, varian bahasa Python untuk mikrokontroler

PikaScript mengklaim dukungan untuk 24 mikrokontroler, termasuk berbagai model stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 dan Infineon TC264D. Untuk memulai pengembangan dengan cepat tanpa peralatan, disediakan simulator atau papan pengembangan Pika-Pi-Zero berdasarkan mikrokontroler STM32G030C8T6 dengan Flash 64 KB dan RAM 8 KB ditawarkan, mendukung antarmuka periferal tipikal (GPIO, TIME, IIC, RGB, KEY , LCD, RGB) . Pengembang juga telah menyiapkan generator proyek online dan pengelola paket PikaPackage.

Versi baru mengimplementasikan manajemen memori berdasarkan penghitungan referensi dan menambahkan dukungan untuk konstruktor virtual (metode pabrik). Masalah memori didiagnosis menggunakan toolkit valgrind. Menambahkan dukungan untuk mengkompilasi file Python pc menjadi bytecode dan mengemasnya ke dalam firmware. Kemampuan untuk menggunakan banyak file Python dalam firmware tanpa perlu menggunakan sistem file telah diterapkan.

Sumber: opennet.ru

Tambah komentar