栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

libmodbus在ARM linux开发板上使用

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

libmodbus在ARM linux开发板上使用

一、源码下载

1、libmodbus官网

libmodbus

2、下载

选择长期稳定版本libmodbus-3.1.6.tar.gz

3.拷贝到虚拟机

通过fillzilla或者vmtools直接拖动到linux虚拟机中

二、交叉编译

1、解压

拷贝到相应目录,解压,例如拷贝在/home/modbus下,modbus目录需要自己创建

在home/modbus下打开terminal 输入解压命令

tar   -zxvf   libmodbus-3.1.6.tar.gz

解压完成后在同目录下会生成 libmodbus-3.1.6文件夹,进入此文件夹

cd  /home/modbus/libmodbus-3.1.6

2、创建安装目录

在/home/modbus/libmodbus-3.1.6目录下创建一个install文件夹

    sudo mkdir   install

3、配置编译选项

在/home/modbus/libmodbus-3.1.6目录下,打开终端,进行配置编译选项

(注:--prefix选项是安装目录,根据自己环境确定)

./configure   --host=[交叉编译工具链前缀]   --enable-static   --prefix=[安装路径]/install/

[安装路径]例如/usr/local/modbus,[交叉编译工具链]例如arm-none-linux-gnueabi

我最终程序是要用在ARM芯片上,所以交叉编译工具链这里我输入的是arm-none-linux-gnueabi 注意工具链一定要选对,否则一是makefile时,识别不了so文件,二是在开发板上无法运行。

如果你使用libmodbus就是用在linux服务器上的,那么编译工具链就输入gcc即可。

我的configure示例:

./configure   --host=arm-none-linux-gnueabi      --prefix=/home/modbus/libmodbus-3.1.6/install

5、编译&安装

在/home/modbus/libmodbus-3.1.6目录下,打开终端,输入make 完成后再输入make install

执行此功能后,会在install文件夹生成三个文件夹,include lib share   lib中包含了so库 include中包含了modbus.h的文件。 在编程时,要将include中的内容拷贝到自己项目中,lib里的 3个带so的文件要拷贝到虚拟机和开发板的 /usr/lib下。

6. 编写makefile

    libmodbus是以so库的形式加载的,编写makefile时,要指明so库的路径。因为用到了modbus.h所以也需要指明modbus.h的路径。

 如图中所示 -I指明了modbus.h的路径 -L指明了库所在的路径 -lmodbus指明了要链接的库。 注意:在linux中,libxxx.so文件,他的文件名在链接时只需要lib后的xxx,不需要打lib  比如要链接lib123.so 那就写 -l123即可,后缀也不用写。

编译完成后main放到开发板里运行即可

附上libmodbus函数的中文翻译libmodbus官方手册中文翻译_跃动的风的博客-CSDN博客_libmodbus使用说明

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/825982.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号