在微控制器或嵌入式平台上执行自定义脚本

Executing custom scripts on microcontroller or embedded platforms

我有一个带SD卡的微控制器(stm32)开发板reader。我想构建一个自定义 LED 系统,用户可以在其中编写简单的脚本并保存在 SD 卡上,然后他们可以 select which

作为我想要做的事情的一个非常基本的例子,假设我有 2 个 LED,我会写一个这样的自定义脚本:

for(int i = 0; i < 10; i++)
{
 LED_1 = ON;
 DELAY(100);
 LED_1 = OFF;
 LED_2 = ON;
 DELAY(100);
 LED_2 = OFF;
}

我将其保存在 SD 卡上,名称为“script01.txt”。

当用户select在 MCU 上设置这个文件(使用 LCD 和按钮)时,MCU 应该执行脚本中所写的操作,例如切换相应的 GPIO 引脚并进行延迟。

我相信我正在尝试做的是在 运行 时间创建一个解释器?我确信这是可行的,但我不知道这样的系统叫什么,也不知道去哪里获取更多信息?

我的意思是我可以轻松编译我想要的例程并在 MCU 本身上对其进行编程,但我真的想让事情变得动态......假设我想把这个系统给某人所以 he/she可以使用自定义脚本轻松完成 he/she 想要的任何事情!

是的,您想要创建您的编程语言的解释器。这是一项非常艰巨的任务,在 uC 世界中几乎不使用解释语言。

Embedded Lua 有时在嵌入式系统上用作 运行 简单脚本的解释器。 这是一种支持 STM32 的实现:http://www.eluaproject.net/

由于您使用的是 stm32,所以 upython 可能是一个不错的选择。

https://www.st.com/en/embedded-software/grpl-upython.html#overview

功能列表已提到 "File system support (FAT) with custom block devices and transparent access from scripts"。

它确实支持 cortex-m4 和 cortex-m7 stm32 设备。