Pythonda mikrokontrollerlar uchun ilovalar yozish uchun ixcham dvigatelni ishlab chiqadigan PikaScript 1.8 loyihasi chiqarildi. PikaScript tashqi bog'liqliklarga bog'liq emas va STM4G32C32 va STM030F8C32 kabi 103 KB RAM va 8 KB Flashga ega mikrokontrollerlarda ishlashi mumkin. Taqqoslash uchun, MicroPython uchun 16 KB operativ xotira va 256 KB Flash, Snek uchun esa 2 KB operativ xotira va 32 KB Flash talab qilinadi. Loyiha kodi C tilida yozilgan va MIT litsenziyasi ostida tarqatiladi.
PikaScript Python 3 tilining kichik to‘plamini taqdim etadi, u shox va sikl iboralari (if, while, for, else, elif, break, continue), asosiy operatorlar (+ - * / < == >), modullar kabi sintaksis elementlarini qo‘llab-quvvatlaydi. inkapsulyatsiya, irsiyat, polimorfizm, sinflar va usullar. Python skriptlari dastlabki kompilyatsiyadan so'ng qurilmalarda bajariladi - PikaScript birinchi navbatda Python kodini Pika Runtime maxsus virtual mashinasida oxirgi qurilmada bajariladigan ichki Pika Asm baytekodiga aylantiradi. U to'g'ridan-to'g'ri apparat ustida yoki RT-Thread, VSF (Versaloon Software Framework) va Linux muhitlarida ishlashni qo'llab-quvvatlaydi.
Alohida-alohida, PikaScript skriptlarini S tilidagi kod bilan integratsiya qilish qulayligi qayd etilgan - C tilida yozilgan funksiyalar kod bilan bog'lanishi mumkin, bu PikaScript-ni amalga oshirishda C tilida yozilgan eski loyihalar ishlanmalaridan foydalanish imkonini beradi. Keil, IAR, RT-Thread Studio va Segger Embedded Studio kabi mavjud ishlab chiqish muhitlari C modullarini ishlab chiqish uchun ishlatilishi mumkin. Bog'lanishlar kompilyatsiya bosqichida avtomatik ravishda yaratiladi; Python kodi bilan faylda APIni aniqlash kifoya va C funktsiyalarini Python modullariga ulash Pika Pre-kompilyatori ishga tushirilganda amalga oshiriladi.
PikaScript stm24g*, stm32f*, stm32h*, WCH ch32, ch582*, WinnerMicro w32*, Geehy apm80*, Bouffalo Lab bl-32, Raspberry Pico bl-706, Raspberry Pico va Inf32TC3D, ESP264C32, stm030g*, stm8f*, stm6h*, WCH ch64, ch8*, turli modellarni o‘z ichiga olgan XNUMX ta mikrokontrollerni qo‘llab-quvvatlashini da’vo qiladi. Uskunalarsiz ishlab chiqishni tezda boshlash uchun simulyator taqdim etiladi yoki odatdagi periferik interfeyslarni (GPIO, TIME, IIC, RGB, KEY) qo'llab-quvvatlaydigan XNUMX KB Flash va XNUMX KB RAMga ega STMXNUMXGXNUMXCXNUMXTXNUMX mikrokontrolleriga asoslangan Pika-Pi-Zero ishlab chiqish platasi taklif etiladi. , LCD, RGB). Ishlab chiquvchilar, shuningdek, onlayn loyiha generatori va PikaPackage paket menejerini tayyorladilar.
Yangi versiya ma'lumotnomalarni hisoblash asosida xotira boshqaruvini amalga oshiradi va virtual konstruktorlarni qo'llab-quvvatlaydi (zavod usuli). Valgrind asboblar to'plamidan foydalangan holda tashxis qo'yilgan xotira muammolari. Python kompyuter fayllarini bayt-kodga kompilyatsiya qilish va ularni proshivkaga qadoqlash uchun qo'shimcha yordam. Bir nechta Python fayllarini proshivkada fayl tizimidan foydalanmasdan foydalanish imkoniyati amalga oshirildi.
Manba: opennet.ru