eLua学习第一课:和Lua脚本语言的第一次亲密接触

eLua学习第一课:

---和Lua脚本语言的第一次亲密接触


(作者:LL   出处:http://blog.csdn.net/tcpipstack , 欢迎转载,也请保留这段声明。谢谢!)


引子

本人有一块TI的EK-LM3S8962开发板,虽然功能还算强大,但是这块开发板也有不少缺陷,比如SRAM和ROM很小,主频也最多只能跑到50MHz,无法运行Linux OS,只能跑一些非常简单的嵌入式OS。


前不久,逛互联网发现一个开源项目,在嵌入式系统上实现Lua语言,而且占的资源都很少,可以在LM3S8962上运行,甚合我意啊!于是就移植了过来,果然强大,先看实例,见下图所示:

eLua学习第一课:和Lua脚本语言的第一次亲密接触_第1张图片


对于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不是什么?

  1. eLua不是OS;
  2. eLua不是去除Lua的一些东西以适应嵌入式平台,eLua拥有Lua桌面版的全部功能和特性。
  3. eLua不是针对特定平台开发的;
  4. eLua不是OS或者RTOS或者特定处理器的一个应用程序,而是自包含的,支持一系列处理器架构;
  5. 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 , 欢迎转载,也请保留这段声明。谢谢!)


你可能感兴趣的:(lua,lua,脚本语言,EK-LM3S8962)