首先移植libmodbus库、创建头文件
下载源码
在电脑端下载后解压,进入目录libmodbus-3.1.4(我下载的是3.1.4版本)。
【编译】
# ./configure --build=i686 --host=arm-linux --prefix=/home/linux/libmodbus-3.1.4/install
# make
# make install
其中--prefix为输出目录,
编译中如遇到undefined reference to 'rpl_malloc',删除config.h中237行的"#define malloc rpl_malloc",重新make 。
编译成功后,输出目录会有include头文件、libs库文件,libmodbus-3.1.4/tests目录下会有测试样例。
把libs目录下的libmodbus.so文件放到开发板中
cp -r lib/libmodbus.so* /home/linux/nfs/rootfs/lib/
【测试】
将random-test-server.c中22行"ctx = modbus_new_tcp("127.0.0.1", 1502);" 改成"ctx = modbus_new_tcp(NULL, 1502);",即server监听所有的ip,端口1502,然后编译:
# arm-linux-gcc random-test-server.c -o random-test-server -I /home/linux/libmodbus-3.1.4/install/include/modbus -L /home/linux/libmodbus-3.1.4/install/lib -lmodbus
将编译生成的测试程序放在开发板中。
*编译相关问题参考http://blog.csdn.net/fan0520/article/details/52486488
电脑端重新编译生成测试程序:
# ./configure && make install
random-test-client.c 中:ctx = modbus_new_tcp("127.0.0.1", 1502); 地址改为开发板的地址,编译:
# gcc random-test-client.c -o random-test-client `pkg-config --libs --cflags libmodbus`
阅读(8306) | 评论(0) | 转发(0) |