Linux libusb开发教程<一> 介绍与安装

1、libusb简介

libusb 是一个 C 库,提供对 USB 设备的通用访问。 它旨在供开发人员用于促进与 USB 硬件通信的应用程序的开发。其具有如下特点

可移植:使用单个跨平台 API,它提供对 Linux、macOS、Windows 等上的 USB 设备的访问。

用户模式:应用程序与设备通信不需要特殊权限或提升,无需驱动。

与版本无关:支持所有版本的 USB 协议,从 USB1.0 到 USB3.1,并且API接口保持不变,使得访问不同USB协议版本的USB设备时,开发工作轻便。

2、官网下载离线资源包

进入官网 libusb.info 的 Downloads 页

目前libusb项目托管在github中,用户根据自己需要选择适合的版本,可以选Last Release版本,也可以选择中间版本,但建议不要低于1.0.x。本文以版本V1.0.24(2020年12月更新)为例: 

下载  libusb-1.0.24.tar.bz2

3、实验平台

操作系统: Ubuntu18.04

内核版本: 5.4.0

4、安装过程

<1> 拷贝资料包

拷贝步骤一中的离线包libusb-1.0.24.tar.bz2拷贝至系统中,我在 home/$(users)目录下新建了一个 Tools 文件夹,专门用来保存 Linux 下相关工具包。

<2> 解压压缩包 

<3> 参考 INSTALL 说明

进入 libusb-1.0.24 文件夹进行配置安装

cd libusb-1.0.24

<4> 执行 ./configure 命令

注意该命令可以选择编译平台,编译的库版本也即运行平台,编译工具链,安装路径等,所以不是默认配置的用户需要在此项自行配置,常见配置选项有:

--build=x86_64-linux   指明软件的编译平台

--host=arm-linux         指明软件的运行平台

--prefix                        指明软件的安装目录

CC=arm-linux-gcc      若为交叉编译那么需要指定该工具链

CXX=arm-linux-g++   若为交叉编译那么需要指定该工具链

如果目标是在嵌入式arm处理器上应用,那么需要进行如下配置:

rambo@ubuntu:~/Tools/libusb-1.0.24$ ./configure --build=x86_64-linux --host=arm-linux --prefix=/usr/local/arm/libusb/ CC=arm-linux-gcc CXX=arm-linux-g++

如果目标是在X64的在处理器上应用,那么需要进行如下配置:

rambo@ubuntu:~/Tools/libusb-1.0.24$ ./configure --build=x86_64-linux

如上我计划运行libusb的目标cpu架构是 x86_64, 如果是其他架构,可以采用 i686,i386等。具体就根据机器来决定,关于架构也可以参见我们其他博文。

上述结果执行成功后,就会生成 Makefile 文件了,如果过程报错,则视情况而定,譬如:configure:error:“udev support requested but libudev not installed”

此时,需要在 ./configure 命令后加上 --disable -udev 就可以了。此时完整命令为:

rambo@ubuntu:~/Tools/libusb-1.0.24$ ./configure --build=x86_64-linux --disable-udev

<5> 执行 make

<6> 执行 sudo make install

<7> 确认安装结果

上述过程均成功执行的话,我们就可以在默认安装目录或者configure步骤--prefix指定的安装目录下找到 libusb 相关的头文件和库文件了。如下图:

补充说明:

        在使用libusb1.0.x的低版本时还需要安装 libusb-compat 兼容包,其安装过程与libusb安装过程一样。成功配置并安装后,会在默认安装目录或者configure指定的安装目录下找到 libusb 相关的头文件libusb.h。是否需要安装,可查看系统中是否已包含该头文件。

5、运行libusb默认demo

如下所示:进入examples目录,执行make生成目标程序,然后运行即可。

 6、安装完成

接下来就可以轻松使用libusb学习和开发usb产品。Enjoy~

  • 7
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PC技术小能手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值