最近要做一个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-gnuea