【发布时间】:2011-10-09 05:15:02
【问题描述】:
我正在寻找一种可以包含在嵌入式系统中的脚本语言,以允许用户根据系统事件(I/O 端口更改、时间事件...)预先配置单元行为。所需的控制类型是
if (some_event)
{
do some stuff
delay N seconds
do more stuff
if (some condition)
{
do something
}
else
{
delay until condition
do something else
}
}
其中的每个“做事”部分通常是更改 IO 的状态或允许/禁止处理一个或多个事件。
除非脚本语言实现内部需要,否则不需要文本处理或文件处理。
在构建正常操作代码后,我使用的处理器有大约 8K 的 RAM 和 20K 的程序存储可用。固件是用 C 编写的,因此脚本语言的任何源代码也必须是 C。
【问题讨论】:
-
如果您的目标受开源编译器支持,您可以将编译器与您的配置软件捆绑在一起。从您的配置中生成 C,编译,然后上传。
-
@kuba - 好主意 - 如果编译器可以适应 20K ROM 和 8Kbytes RAM!
-
嗯,编译器会驻留在 PC 上,对吧?估计有嵌入式的,还有基于PC的配置程序?
-
我赞同 MarkusSchaber 对 PAWN 的建议。字节码是 ROM-able。编译器也可以嵌入,但这没什么意义。不需要垃圾回收,所有数据分配都是静态的。
-
您必须了解 p-code 沙箱仍然可以被利用。因此,“修改嵌入式处理器上的代码”总是存在恶意用户的可能性。基本上,即使是 p 代码,也不得授予用户访问权限。 p-code必须通过配置软件加密,然后在target上解密。