PikaScript 1.8 可用,这是用于微控制器的 Python 语言的变体

PikaScript 1.8 项目已经发布,开发了一个紧凑的引擎,用于用 Python 编写微控制器应用程序。 PikaScript 不依赖于外部依赖项,可以在具有 4 KB RAM 和 32 KB 闪存的微控制器上运行,例如 STM32G030C8 和 STM32F103C8。 相比之下,MicroPython 需要 16 KB RAM 和 256 KB 闪存,而 Snek 需要 2 KB RAM 和 32 KB 闪存。 该项目代码是用 C 语言编写的,并根据 MIT 许可证分发。

PikaScript 提供了 Python 3 语言的子集,支持语法元素,例如分支和循环语句(if、while、for、else、elif、break、 continue)、基本运算符(+ - * / < == >)、模块、封装、继承、多态、类和方法。 Python 脚本在初步编译后在设备上执行 - PikaScript 首先将 Python 代码转换为内部 Pika Asm 字节码,该字节码在特殊的 Pika Runtime 虚拟机中的终端设备上执行。 它支持直接在硬件之上或在 RT-Thread、VSF(Versaloon 软件框架)和 Linux 环境中工作。

PikaScript 1.8 可用,这是用于微控制器的 Python 语言的变体

另外,值得注意的是 PikaScript 脚本与 C 语言代码集成的便利性 - 用 C 语言编写的函数可以链接到代码,这允许 PikaScript 的实现使用用 C 语言编写的旧项目的开发。 现有的开发环境如Keil、IAR、RT-Thread Studio和Segger Embedded Studio可用于开发C模块。 绑定是在编译阶段自动生成的;用 Python 代码在文件中定义 API 就足够了,C 函数到 Python 模块的绑定将在 Pika 预编译器启动时执行。

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。 为了无需设备即可快速开始开发,提供模拟器或基于 STM32G030C8T6 微控制器的 Pika-Pi-Zero 开发板,具有 64 KB Flash 和 8 KB RAM,支持典型外设接口(GPIO、TIME、IIC、RGB、KEY) 、LCD、RGB)。 开发人员还准备了在线项目生成器和包管理器 PikaPackage。

新版本实现了基于引用计数的内存管理,并增加了对虚拟构造函数(工厂方法)的支持。 使用 valgrind 工具包诊断内存问题。 添加了对将 Python pc 文件编译为字节码并将其打包到固件中的支持。 已经实现了在固件中使用多个Python文件而无需使用文件系统的能力。

来源: opennet.ru

添加评论