当前位置:   article > 正文

libmodbus在ARM linux开发板上使用_libmodbus在开发板的应用

libmodbus在开发板的应用

一、源码下载

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-gnueabihf

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

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

我的configure示例:

./configure   --host=arm-none-linux-gnueabihf      --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使用说明

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/566115
推荐阅读
相关标签
  

闽ICP备14008679号