IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> libmodbus在ARM linux开发板上使用 -> 正文阅读

[系统运维]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使用说明

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 19:19:35  更:2022-04-22 19:23:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:03:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码