Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10198
  • 博文数量: 1
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2017-12-12 14:58
文章分类

全部博文(1)

文章存档

2018年(1)

我的朋友

分类: 嵌入式

2018-01-02 15:23:23

首先移植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) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~