summaryrefslogtreecommitdiff
path: root/components/external/lua/README.TXT
diff options
context:
space:
mode:
Diffstat (limited to 'components/external/lua/README.TXT')
-rw-r--r--components/external/lua/README.TXT36
1 files changed, 36 insertions, 0 deletions
diff --git a/components/external/lua/README.TXT b/components/external/lua/README.TXT
new file mode 100644
index 0000000000..bfe8db60b3
--- /dev/null
+++ b/components/external/lua/README.TXT
@@ -0,0 +1,36 @@
+# Lua on RT-Thread
+
+## 简介
+RT-Thread中的Lua修改自[eLua](http://www.eluaproject.net/)的Lua-5.1.4版本。
+Lua依赖于Neblib库。
+启动lua的RAM占用情况
+ - 标准的lua 17.1904296875 KB
+ - 优化的lua 5.01953125 KB
+ 注:数据来自print(collectgarbage('count'))的输出
+优化是指采用一个lua patch --- [Lua Tiny RAM](http://www.eluaproject.net/doc/v0.8/en_arch_ltr.html)
+
+## 使用
+在RT-Thread的finsh中,调用lua()获得一个lua解释器。
+在lua解释器中
+ - 可以调用lua标准库中的函数,如:print('hello, lua on rt-thread')
+ - 可以执行脚本文件,如:dofile('/hello.lua')
+ - 可以定义新的函数,如:function sinc(x) return math.sin(x)/x end
+ - etc.
+
+## 配置
+ 1.通过在rtconfig.h中定义RT_USING_LUA加入lua组件
+ 2.可以定义RT_LUA_OPTRAM减少RAM占用
+ 3.可以定义RT_LUS_USE_EXLIBS而添加外部库,如arduino的常用函数封装为一个arduino库
+ 3.更多的配置项可以在luaconf.h中找到
+
+## 开发相关
+ - 开启编译器对C99的支持,如MDK中,在C/C++选项的Misc Controls输入框中添加--c99
+ - 开启内存优化时:需要在链接脚本中定义_stext和_etext,.ordata*放在两者之间。
+ 用于判断数据是read-only和writable。MDK中如何实现??
+ - 添加新的模块,参见larduinolib.c
+
+## 目录说明
+ - lua:从eLua获得Lua-5.1.4版本代码
+ - exlibs:external libraries,外部库代码,如Arduino库
+ - applications:Lua应用代码,如finsh中lua()
+ - test:测试代码