PikaScript 1.8 tersedia, satu varian bahasa Python untuk mikropengawal

Keluaran projek PikaScript 1.8, yang membangunkan enjin padat untuk menulis aplikasi untuk mikropengawal dalam Python, telah diterbitkan. PikaScript tidak terikat dengan kebergantungan luaran dan boleh dijalankan pada mikropengawal dengan 4 KB RAM dan 32 KB Flash, seperti STM32G030C8 dan STM32F103C8. Sebagai perbandingan, MicroPython memerlukan 16 KB RAM dan 256 KB Flash, manakala Snek memerlukan 2 KB RAM dan 32 KB Flash. Kod projek ditulis dalam C dan diedarkan di bawah lesen MIT.

PikaScript menyediakan subset bahasa Python 3 yang menyokong elemen sintaks seperti pernyataan cawangan dan gelung (jika, sementara, untuk, else, elif, break, continue), pernyataan asas (+ - * / < == >), modul, enkapsulasi, pewarisan, polimorfisme, kelas dan kaedah. Skrip Python dilaksanakan pada peranti selepas prakompilasi - PikaScript mula-mula menukar kod Python ke dalam kod bait Pika Asm dalaman, yang dilaksanakan pada peranti akhir dalam mesin maya Pika Runtime khas. Bekerja terus di atas perkakasan atau dalam RT-Thread, VSF (Versaloon Software Framework) dan persekitaran Linux disokong.

PikaScript 1.8 tersedia, satu varian bahasa Python untuk mikropengawal

Secara berasingan, kemudahan penyepaduan skrip PikaScript dengan kod dalam bahasa C diperhatikan - fungsi yang ditulis dalam bahasa C boleh dilampirkan pada kod, yang membolehkan penggunaan pembangunan projek lama yang ditulis dalam bahasa C semasa melaksanakan PikaScript. Modul C boleh dibangunkan menggunakan persekitaran pembangunan sedia ada seperti Keil, IAR, RT-Thread Studio dan Segger Embedded Studio. Pengikatan dijana secara automatik pada peringkat penyusunan, sudah cukup untuk menentukan API dalam fail dengan kod Python dan pengikatan fungsi C ke modul Python akan dilakukan semasa pelancaran pengkompil Pra-penyusun Pika.

PikaScript 1.8 tersedia, satu varian bahasa Python untuk mikropengawal

PikaScript menuntut sokongan untuk 24 mikropengawal, termasuk pelbagai model stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry32C3 dan ESP264Dfineon TC32. Untuk memulakan pembangunan dengan cepat tanpa perkakasan, simulator disediakan atau papan pembangunan Pika-Pi-Zero ditawarkan berdasarkan mikropengawal STM030G8C6T64 dengan 8 KB Flash dan XNUMX KB RAM, menyokong antara muka persisian biasa (GPIO, TIME, IIC, RGB, KEY , LCD, RGB). Pembangun juga telah menyediakan penjana projek dalam talian dan pengurus pakej PikaPackage.

Versi baharu melaksanakan pengurusan memori yang dikira rujukan dan menambah sokongan untuk pembina maya (kaedah kilang). Diagnosis masalah ingatan telah dijalankan menggunakan kit alat valgrind. Menambah sokongan untuk menyusun fail pc Python ke dalam kod bait dan pembungkusan ke dalam perisian tegar. Melaksanakan keupayaan untuk menggunakan berbilang fail Python dalam perisian tegar tanpa perlu menggunakan sistem fail.

Sumber: opennet.ru

Tambah komen