eLua学习第一课:
---和Lua脚本语言的第一次亲密接触
(作者:LL 出处:http://blog.csdn.net/tcpipstack , 欢迎转载,也请保留这段声明。谢谢!)
引子
本人有一块TI的EK-LM3S8962开发板,虽然功能还算强大,但是这块开发板也有不少缺陷,比如SRAM和ROM很小,主频也最多只能跑到50MHz,无法运行Linux OS,只能跑一些非常简单的嵌入式OS。
前不久,逛互联网发现一个开源项目,在嵌入式系统上实现Lua语言,而且占的资源都很少,可以在LM3S8962上运行,甚合我意啊!于是就移植了过来,果然强大,先看实例,见下图所示:
对于EK-LM3S8962平台,主要是TI的芯片LM3S8962芯片,ARM Cortex-M3内核,256KB FLASH,64KB SRAM,总之资源来说是非常小的。
Lua脚本语言
Lua 是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。
Lua语言设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。
Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。
Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。
一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。
以上资料来自百度百科: http://baike.baidu.com/view/416116.htm
What is eLua?
eLua是一个开源项目,其项目在:http://www.eluaproject.net/. 关于eLua的介绍在:http://www.eluaproject.net/overview,
下面是我简要翻译下的介绍内容:
eLua意思就是嵌入式Lua,在嵌入式环境下提供了Lua语言的全部实现,同时扩展了一些特征以便于实现高效和可移植性的嵌入式软件开发。
eLua提供了Lua桌面版的全部特征,利用Lua的原生机制来优化嵌入式开发。
eLua的部分特性:
- 可控制整个平台:因为没有OS,所以可以使用Lua语言实现整个平台的控制;
- 源码可移植:可轻松将你的代码移植到其他架构和平台上;
- 只需要通过终端或者串口将你的PC和目标板连接起来,开发时PC端不需要安装额外的开发环境;
- 高度灵活性的产品:让你的产品可以利用现代的脚本语言,实现高适应性、可编程和重新配置。
eLua不是什么?
- eLua不是OS;
- eLua不是去除Lua的一些东西以适应嵌入式平台,eLua拥有Lua桌面版的全部功能和特性。
- eLua不是针对特定平台开发的;
- eLua不是OS或者RTOS或者特定处理器的一个应用程序,而是自包含的,支持一系列处理器架构;
- eLua是开源软件,基于MIT Liscence,因此你可以在商业产品上使用eLua。
支持的硬件平台
eLua支持很多硬件平台,具体可见 http://wiki.eluaproject.net/Boards, 由于本人刚好有一个嵌入式开发板: EK-LM3S8962,所以就拿来试水了。
How to start?
如果你有eLua支持的开发板中的任何一块的话,你可以到http://www.eluaproject.net/get-started/downloads去下载相应的二进制文件,然后烧写到开发板中。
你也可以到 http://download.csdn.net/detail/tcpipstack/4966383 去下载。
如果你使用的是TI的开发板,那更好了,直接用LM Flash Programmer软件将bin文件烧写入开发板中。
使用串口连接电脑
烧写进开发板之后,就使用串口工具打开串口,稍等会就出现之前的画面了。
(作者:LL 出处:http://blog.csdn.net/tcpipstack , 欢迎转载,也请保留这段声明。谢谢!)