什么是小型嵌入式系统的优秀脚本语言?

uɐɪ*_*uɐɪ 21 c embedded scripting

我正在寻找可以包含在嵌入式系统中的脚本语言,以允许用户根据系统事件(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
    }
}
Run Code Online (Sandbox Code Playgroud)

每个"do stuff"部分通常是改变IO的状态或允许/禁止处理一个或多个事件.

除非脚本语言实现在内部需要,否则不需要文本处理或文件处理.

在构建正常的操作代码之后,我使用的处理器有大约8K的RAM和20K的程序存储.固件是用C语言编写的,因此脚本语言的任何源代码也必须在C中.

Cra*_*rks 20

我们使用Squirrel来完成这项工作.它类似于Lua,但是引用计数而不是垃圾收集,所以它往往在非常紧凑的内存中工作得更好.在不利方面,它的社区要小得多.

我也看到Lisp嵌入成功,特别是类似Scheme的派生.

另请参阅其他StackOverflow问题:在微小内存中运行的可用交互式语言是什么?


Jef*_*ter 10

Lua是我作为嵌入式语言的首选.它是用C语言编写的,很容易将自己的函数暴露给Lua,从它的外观来看,已经做了一些工作来使它在嵌入式系统上运行.


lhf*_*lhf 7

对于嵌入式系统,请尝试eLua.

  • 仅供参考:eLua需要大约5kb的RAM来“不执行任何操作”(相对于股票Lua的20-30k)。最重要的是您的代码实际需要的任何数据。 (2认同)

Gil*_*il' 7

传统的选择是Forth.微控制器等小型嵌入式系统是Forth的首选平台.有许多实现具有各种功能,目标平台和许可.Forth Interest Group列出了商业实施非商业实施.