libusb库使用(快速上手)

欢迎转载请注明出处:海漩涡

http://blog.csdn.net/tanhuifang520


一、下载libusb源码

(1)ubuntu下命令下载

sudo git clone https://github.com/libusb/libusb.git


(2)在github上下载

https://github.com/libusb/libusb



二、配置

./configure --build=i686-linux --host=arm-linux --prefix=/home/xfc/usb/install CC=/mnt/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/arm-xilinx-linux-gnueabi-gcc CXX=/mnt/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/arm-xilinx-linux-gnueabi-g++ 
执行上述指令后报如下错误 
configure:error:“udev support requested but libudev not installed” 
解决方法:在上述编译命令后面添加 --disable -udev


执行完make install后我们可以在prefix指定的目录中看到编译好的库及相应的头文件。在arm平台下使用的库文件名称是:libusb-1.0.so.0.1.0。
–build=i686-linux表示该软件在x86平台被编译
–host=arm-linux表示该软件编译完成后在arm平台上运行
–prefix后面为软件安装目录。
CC=,CXX等于指定了交叉编译使用的C,C++交叉编译器



三、编译

make&&make install



四、使用编译程序

需要将之前交叉编译好的动态库拷贝到ZYNQ端linux下的/lib文件夹。注意拷贝的库文件名为:libusb-1.0.so.0.1.0。拷贝到/lib下之后需要重命名为libusb-1.0.so.0。

LIBUSB=/home/xfc/usb/install 
arm-xilinx-linux-gnueabi-gcc -o test -I${LIBUSB}/include/libusb-1.0 -L${LIBUSB}/lib/ -lusb-1.0 test.c









libusb是一个开源的C,它为开发者提供了在用户空间通过应用程序与USB设备进行通信的能力。常见的使用场景包括**USB设备重定向、跨平台USB应用开发以及直接USB设备操作**等。下面将详细介绍libusb的具体应用场景: 1. **USB 设备重定向**:在云计算和远程桌面应用中,libusb 可以用来实现USB 设备的重定向。这意味着物理上连接到一台机器的USB设备,可以在网络上另一台机器上被访问和使用,极大地提高了设备使用的灵活性和便捷性。 2. **跨平台USB应用开发**:由于libusb支持包括Linux、macOS、Windows在内的多种操作系统,开发人员可以利用它来编写可移植的USB应用程序。这样,应用程序可以在不同操作系统上运行,而无需对USB接口代码进行大量修改,从而提高开发效率并减少维护成本。 3. **直接USB设备操作**:使用libusb, 开发者可以直接从用户空间程序操作USB设备,而无需安装特定的内核模块或需要特殊权限。这使得应用程序可以灵活地与USB硬件交互,如数据传输、设备控制等操作。 4. **USB 通信协议开发**:libusb 提供了一系列API,支持设备描述符解析、同步和异步传输等高级功能。这对于那些需要实现复杂USB通信协议的开发人员特别有用,例如自定义的USB设备通信逻辑或特定类型的硬件控制。 5. **快速原型开发和测试**:对于硬件工程师和软件开发人员来说,libusb提供了一个快速的方式去原型化和测试新的USB设备或应用程序。通过简单易用的API,开发者可以迅速实现设备的基本功能并进行测试,这有助于加速开发流程和缩短产品上市时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值