最近要做一个arm平台的通讯控制器,需要通过modbus采集数据并做PID控制。PID控制打算通过C程序嵌入外部脚本来执行,lua是一个很不错的选择,只需要c程序提供读写内部数据的接口给lua脚本调用就可以了。不过lua源代码没有提供arm-linux编译配置,没关系,自己加一个就可以了。
1、lua源代码可以直接从官网下载http://www.lua.org/download.html
2、修改顶层Makefile文件
# Convenience platforms targets.
PLATS= aix bsd c89 freebsd generic linux arm-linux macosx mingw posix solaris
在这里添加了一个arm-linux
3、修改src/Makefile文件
和顶层Makefile一样PLATS变量里加入 arm-linux
PLATS= aix bsd c89 freebsd generic linux arm-linux macosx mingw posix solaris
targets里加入arm-linux平台的编译命令
linux:
$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
arm-linux:
$(MAKE) $(ALL) CC="arm-linux-gnueabihf-gcc" AR="arm-linux-gnueabihf-ar rcu" RANLIB="arm-linux-gnueabihf-ranlib" \
&n

本文介绍了如何将Lua源代码交叉编译到ARM-Linux系统中,用于实现一个通讯控制器的PID控制功能。通过修改Makefile文件,添加编译目标和配置,以及处理readline头文件,最终成功编译出适用于ARM平台的Lua。
最低0.47元/天 解锁文章
2322

被折叠的 条评论
为什么被折叠?



