本文主要介绍elua的背景知识,分为三部分
先介绍lua语言,之后介绍lua的应用,从而引导出elua,最后介绍elua的硬件平台
Lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,Ini等文件格式,并且更容易理解和维护。
Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。
一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。
Lua简明教程 http://coolshell.cn/articles/10739.html
Lua Tutorial http://lua-users.org/wiki/LuaTutorial
可控制整个平台:因为没有OS,所以可以使用Lua语言实现整个平台的控制;
源码可移植:可轻松将你的代码移植到其他架构和平台上;
只需要通过终端或者串口将你的PC和目标板连接起来,开发时PC端不需要安装额外的开发环境;
高度灵活性的产品:让你的产品可以利用现代的脚本语言,实现高适应性、可编程和重新配置。
eLua不是OS;
eLua不是去除Lua的一些东西以适应嵌入式平台,eLua拥有Lua桌面版的全部功能和特性。eLua不是针对特定平台开发的;
eLua不是OS或者RTOS或者特定处理器的一个应用程序,而是自包含的,支持一系列处理器架构;
eLua是开源软件,基于MIT Liscence,因此你可以在商业产品上使用eLua
引自http://blog.csdn.net/tcpipstack/article/details/8259179
CPU |
Architecture |
Platform name |
Supported boards |
Status |
Cortex-M3 |
LM3S |
|||
Cortex-M3 |
LM3S |
|||
Cortex-M3 |
LM3S |
|||
Cortex-M3 |
LM3S |
|||
Cortex-M3 |
LM3S |
|||
Cortex-M3 |
LM3S |
|||
AVR32 |
AVR32 |
|||
AVR32 |
AVR32 |
|||
AVR32 |
AVR32 |
|||
ARM7TDMI |
AT91SAM7X |
|||
ARM7TDMI |
AT91SAM7X |
None |
||
Cortex-M3 |
LPC17xx |
|||
ARM7TDMI |
LPC24xx |
|||
ARM7TDMI |
LPC288x |
|||
ARM7TDMI |
STR7 |
|||
ARM966E-S |
STR9 |
|||
ARM966E-S |
STR9 |
|||
Cortex-M3 |
STM32 |
|||
Cortex-M3 |
STM32 |
|||
x86 |
i386 |
PCs/emulators |
http://www.eluaproject.net/overview/status
这个部分所介绍的并不完全,在elua的源代码中可以看到支持的更多的平台。例如:我们将采用的stm32F4discovery
采用这个平台的理由是这个开发板价格便宜90元左右,而且很容易买到,性能强大,featuring a 168Mhz ARM Cortex M4 (STM32F407VGT6) The ARM is programmed via an STLINK/V2 interface connected to a PC‘s USB port. 1M flash 192 KB RAM.
http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF252419?sc=internet/evalboard/product/252419.jsp
不过,我买的一个玩了一周,micro usb就松了,而且usb的数据线断掉了。。。
下一节,我们完整讲解在ubuntu 的环境下交叉编译elua,并烧写与stm32f4discovery平台之上
原文地址:http://blog.csdn.net/coolwaterld/article/details/39007115