PikaScript,可在STM32和其他低端MCU上运行的超轻量级Python引擎

原文链接:PikaScript – A lightweight Python implementation that runs on STM32 and other low-end MCUs 由Jean-Luc Aufranc撰写。
本文共计635字,预计阅读2分钟

PikaScript是一个超轻量级的Python引擎,它可以在只有4KB RAM和32KB闪存的微控制器上运行,这一点真的挺令人惊讶的,因为更流行的MicroPython至少都需要16kB 的 RAM和256kB的空间存储代码。

PikaScript最初是为了能在STM32G030C8和STM32F103C8 MCU上运行而开发的,比如:使得它可以在BluePill板上运行。不过,现在它已被移植到很多其他平台了,像WCH CH582 RISC-V MCU、WinnerMicro W806 C-Sky微控制器、树莓派RP2040、ESP32-C3等等。但是由于缺少某些功能,在这些平台上的运行不是很好。

PikaScript Python和STM32 MCU
PikaScript Python和STM32 MCU

PikaScript还可以通过Pika预编译器将C函数绑定到Python模块。PikaScript既可以在微控制器上运行裸机程序,又支持RT-Thread和VSF(Versaloon 软件框架)等实时操作系统,甚至还有Linux系统。就像MicroPython一样,PikaScript使用Python 3的一个子集,但由于占用空间更小,我觉得它的功能可能也会更少。

据我了解,Pika-Pi-Zero应该是PikaScript项目的官方板,我在淘宝上也找到了它,它是基于STM32G030C8T6 / STM32G070CBT6 MCU的。用户还可以通过在线工具为自己的目标硬件和操作系统生成项目默认代码。

PikaScript的项目生成器
PikaScript的项目生成器

你们还可以直接在 Github上找到源代码以及一些示例(比如:GPIO、USART、ADC、PWM输出、RGB显示和Snake游戏演示)的文档。我还了解到这些演示的最大RAM使用量只有3.56KB,如果包括1KB堆栈的话,使用量就是4.56KB,而最大存储空间的使用量则为30.4KB。我举一个例子,假如我们以具有 20KB RAM和64KB闪存的STM32F103C8T6微控制器作为参考,这就意味着 PikaScript 固件和示例代码使用了不到 25%的RAM和不到 50%的闪存。

如果你们想了解更多详情或者有任何问题,可以关注一下6月1日至3日于在线举行的2022 RT-Thread物联网操作系统全球峰会,到时候PikaScript开发者之一的Lyon会发表题为“PikaScript,可在RT-Thread下运行的超轻量级Python引擎”的演讲,相信这个演讲应该能回答大家的很多疑惑。

分享这篇文章
订阅评论
提醒
0 评论
内联反馈
查看所有评论