modbus 在imx6ul上的移植
在 官网上下载 modbus的压缩文件
http://libmodbus.org/
点击上边你的3.0.6的stable 稳定版的文件,。
下载到虚拟机内,解压。
cd modbus的目录 mkdir lib-modules
./configure --host=arm-linux --prefix=/home/d/libmodbus/libmodbus-3.0.6/
然后 make & make install 这一步才是真正的安装库文件
如果出现
Libraries have been installed in:
/home/ccsl/libmodbus-master-linux/libmodbus-master-linux/limodbus-release/lib
说明 库生成成功 , ls lib-module/lib/
出现下边的几个库文件表示OK
libmodbus.la libmodbus.so libmodbus.so.5 libmodbus.so.5.0.5 pkgconfig
然后将libmodbus.* 拷贝到 arm板子的 /lib 下 。
同时在tests有一些测试程序 。
我是将其中的一个.c文件单独拿来用的 。
在另一个目录里,mkdir src
将 random-test-server.c 拷贝到src 下
编写 makefile
# this is the makefile of modbus
PROG= random-server
DIR_SRC = ./src
DIR_OUT = ./
SRC = $(wildcard $(DIR_SRC)/*.c)
CFLAGS = -W -Wall -Os -fomit-frame-pointer -s
CFLAGS+= -I/home/d/rootfs_fl/usr/src/linux/include
CFLAGS+= -I/home/d/soy_work/github/libmodbus/libmodbus-3.0.6/lib-module/include/modbus
DFLAGS+= -L/home/d/soy_work/github/libmodbus/libmodbus-3.0.6/lib-module/lib
CFLAGS+= -lmodbus # 连接目标文件为libmodbus.la 的作用
all:
$(CC) $(SRC) $(DFLAGS) $(CFLAGS) -o $(DIR_OUT)$(PROG)
clean:
rm -rf *.o $(DIR_OUT)$(PROG) *.obj