يتوفر PikaScript 1.8 ، وهو نوع من لغة Python للميكروكونترولر

تم نشر إصدار مشروع PikaScript 1.8 ، الذي يطور محركًا مضغوطًا لكتابة تطبيقات لوحدات التحكم الدقيقة في Python. لا يرتبط PikaScript بالاعتمادات الخارجية ويمكن تشغيله على متحكمات دقيقة بسعة 4 كيلوبايت RAM و 32 كيلوبايت Flash مثل STM32G030C8 و STM32F103C8. وبالمقارنة ، تتطلب MicroPython ذاكرة وصول عشوائي (RAM) سعة 16 كيلوبايت وذاكرة وصول عشوائي (RAM) بسعة 256 كيلوبايت ، بينما تتطلب Snek ذاكرة وصول عشوائي (RAM) سعة 2 كيلوبايت وذاكرة فلاش بسعة 32 كيلوبايت. رمز المشروع مكتوب بلغة C ويتم توزيعه بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.

يوفر PikaScript مجموعة فرعية من لغة Python 3 التي تدعم عناصر بناء الجملة مثل عبارات الفرع والحلقة (if ، while ، for ، else ، elif ، break ، continue) ، العبارات الأساسية (+ - * / <==>) ، الوحدات النمطية ، التغليف والوراثة وتعدد الأشكال والطبقات والأساليب. يتم تنفيذ نصوص Python على الأجهزة بعد التجميع المسبق - يقوم PikaScript أولاً بتحويل رمز Python إلى كود Pika Asm bytecode الداخلي ، والذي يتم تنفيذه على الجهاز النهائي في جهاز ظاهري خاص Pika Runtime. العمل مباشرة فوق الأجهزة أو في RT-Thread ، يتم دعم VSF (Versaloon Software Framework) وبيئات Linux.

يتوفر PikaScript 1.8 ، وهو نوع من لغة Python للميكروكونترولر

بشكل منفصل ، يُلاحظ سهولة تكامل نصوص PikaScript مع الكود بلغة C - الوظائف المكتوبة بلغة C يمكن إرفاقها بالكود ، مما يسمح باستخدام تطورات المشاريع القديمة المكتوبة بلغة C عند تنفيذ PikaScript. يمكن تطوير وحدات C باستخدام بيئات التطوير الحالية مثل Keil و IAR و RT-Thread Studio و Segger Embedded Studio. يتم إنشاء الارتباطات تلقائيًا في مرحلة التجميع ، ويكفي تحديد واجهة برمجة التطبيقات في الملف برمز Python وسيتم تنفيذ ربط وظائف C بوحدات Python أثناء إطلاق مترجم Pika Pre-compiler.

يتوفر PikaScript 1.8 ، وهو نوع من لغة Python للميكروكونترولر

تدعي PikaScript أنها تدعم 24 متحكمًا دقيقًا ، بما في ذلك نماذج مختلفة من stm32g * و stm32f * و stm32h * و WCH ch582 و ch32 * و WinnerMicro w80 * و Geehy apm32 * و Bouffalo Lab bl-706 و Raspberry Pico و ESP32C3 و Infineon TC264D. لبدء التطوير بسرعة بدون أجهزة ، يتم توفير جهاز محاكاة أو يتم تقديم لوحة تطوير Pika-Pi-Zero على أساس متحكم STM32G030C8T6 مع 64 كيلو بايت فلاش و 8 كيلو بايت رام ، ودعم واجهات طرفية مشتركة (GPIO ، TIME ، IIC ، RGB ، KEY ، LCD ، RGB). أعد المطورون أيضًا مولد مشروع عبر الإنترنت ومدير حزم PikaPackage.

يطبق الإصدار الجديد إدارة الذاكرة المحسوبة بالمرجع ويضيف دعمًا للمُنشئين الظاهريين (طريقة المصنع). تم إجراء تشخيص مشاكل الذاكرة باستخدام مجموعة أدوات valgrind. تمت إضافة دعم لتجميع ملفات كمبيوتر Python في رمز ثانوي وتجميعها في البرامج الثابتة. نفذت القدرة على استخدام ملفات Python المتعددة في البرامج الثابتة دون الحاجة إلى استخدام نظام الملفات.

المصدر: opennet.ru

إضافة تعليق