移植lua5.3.5到FreeRTOS,并在赛灵思(Xilinx)ZYNQ SOC上运行

本文详细介绍了如何将lua5.3.5移植到FreeRTOS操作系统,并在Xilinx ZYNQ SOC上运行。首先,在Xilinx SDK中创建静态链接库工程编译lua源码,然后修改lua源码以适应FreeRTOS的文件系统。接着,将新库链接到应用工程中,并解决链接错误。最后,在ZYNQ板上创建任务运行lua脚本,并测试了lua的文件操作功能。
摘要由CSDN通过智能技术生成

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

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值