2018年的尾巴,第一次写博客,记录自己做的一点东西,希望2019年有一个好的开始。
开发环境:Xilinx SDK17.4
操作系统:FreeRTOS
1.将lua源码编译为静态链接库
(1)在Xilinx SDK IDE 中新建一个静态链接库工程
(2)在新建的静态链接库工程中添加lua源码,编译得到lua静态链接库。
2.更改lua源码适应FreeRTOS文件系统
(1)在lua中加载lua脚本是基于标准的C语言文件系统的,但是FreeRTOS中不是用的标准C语言文件系统,所以在lua源码中的关于加载lua脚本相关函数中的文件操作API要改为FreeRTOS提供的文件操作函数。
a.在lauxlib.c文件中,结构体LoadFF和函数getF, skipBOM, skipcomment, luaL_loadfilex等要做相应修改。
b.在luaconf.h文件中,添加#define LUA_USE_C89
(2)lua提供了一个IO库用来操作文件,其API也是基于标准C语言的文件系统函数的,所以也需要修改来适应FreeRTOS的文件系统。这样移植后的lua才能操作文件。
a.在lauxlib.h文件中,修改结构体luaL_Stream