In stm32fx's stm32_rom.ld, add symbol - '_stext' to support lua a. Update lua's README.TXT

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2410 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
xiongyihui3@gmail.com 2012-11-13 15:21:01 +00:00
parent ee2344c582
commit d48ef70ecd
6 changed files with 15 additions and 11 deletions

View File

@ -17,6 +17,7 @@ SECTIONS
.text :
{
. = ALIGN(4);
_stext = .;
KEEP(*(.isr_vector)) /* Startup code */
. = ALIGN(4);
*(.text) /* remaining code */

View File

@ -17,6 +17,7 @@ SECTIONS
.text :
{
. = ALIGN(4);
_stext = .;
KEEP(*(.isr_vector)) /* Startup code */
. = ALIGN(4);
*(.text) /* remaining code */

View File

@ -17,6 +17,7 @@ SECTIONS
.text :
{
. = ALIGN(4);
_stext = .;
KEEP(*(.isr_vector)) /* Startup code */
. = ALIGN(4);
*(.text) /* remaining code */

View File

@ -17,6 +17,7 @@ SECTIONS
.text :
{
. = ALIGN(4);
_stext = .;
KEEP(*(.isr_vector)) /* Startup code */
. = ALIGN(4);
*(.text) /* remaining code */

View File

@ -2,7 +2,7 @@
## 简介
RT-Thread中的Lua修改自[eLua](http://www.eluaproject.net/)的Lua-5.1.4版本。
Lua依赖于Neblib库
采用gcc工具链时Lua依赖于newlib库其它工具链暂时还不支持
启动lua的RAM占用情况
- 标准的lua 17.1904296875 KB
- 优化的lua 5.01953125 KB
@ -24,13 +24,14 @@ Lua依赖于Neblib库。
3.更多的配置项可以在luaconf.h中找到
## 开发相关
- 采用gcc工具链时依赖于newlib需在rtconfig.h中定义RT_USING_NEWLIB
- 开启编译器对C99的支持如MDK中在C/C++选项的Misc Controls输入框中添加--c99
- 开启内存优化时:需要在链接脚本中定义_stext和_etext.ordata*放在两者之间。
- 需要在链接脚本中定义_stext和_etext.ordata*放在两者之间。
用于判断数据是read-only和writable。MDK中如何实现
- 添加新的模块参见larduinolib.c
- 添加新的模块参见lexample.c
## 目录说明
- lua从eLua获得Lua-5.1.4版本代码
- exlibsexternal libraries外部库代码Arduino
- exlibsexternal libraries外部库代码example
- applicationsLua应用代码如finsh中lua()
- test测试代码

View File

@ -197,7 +197,6 @@ _wait_r(struct _reent *ptr, int *status)
_ssize_t
_write_r(struct _reent *ptr, int fd, const void *buf, size_t nbytes)
{
#ifndef RT_USING_DFS
if (fd < 3)
{
rt_device_t console_device;
@ -207,13 +206,13 @@ _write_r(struct _reent *ptr, int fd, const void *buf, size_t nbytes)
if (console_device != 0) rt_device_write(console_device, 0, buf, nbytes);
return nbytes;
}
return 0;
#else
_ssize_t rc;
else
{
_ssize_t rc;
rc = write(fd, buf, nbytes);
return rc;
#endif
rc = write(fd, buf, nbytes);
return rc;
}
}
#endif