libusb编译与使用入门--arm linux (2011-07-24 22:16)

来源:互联网 发布:js取数组最后一个值 编辑:程序博客网 时间:2024/06/06 23:52

 

下载libusb:libusb-0.1.12.tar.gz
 
编译步骤:
./configure --build=i686-linux --host=arm-linux --prefix=/usr/local/arm/3.4/libusb/  CC=arm-linux-gcc CXX=arm-linux-g++
make
make install
 
把libusb安装到--prefix目录下,编译时候用-l 和 -i 指明路径即可
 
在Makefile中使用libusb
    arm-linux-gcc -o usbreset usbreset.c -I /mnt/hgfs/E/Workshop/Tool/arm-linux/include/ -L /mnt/hgfs/E/Workshop/Tool/arm-linux/lib/ -lusb
 
arm-linux-gcc使用了libusb,编译器默认是没有的,需要自行下载源码并编译,使用时用-i 和 -l 指明头文件与lib文件的目录。
 
下面粘贴一个libusb的tests目录下的一个demon

int main(int argc, char *argv[]){  struct usb_bus *bus;  if (argc > 1 && !strcmp(argv[1], "-v"))    verbose = 1;  usb_init();  usb_find_busses();  usb_find_devices();  for (bus = usb_busses; bus; bus = bus->next) {    if (bus->root_dev && !verbose)      print_device(bus->root_dev, 0);    else {      struct usb_device *dev;      for (dev = bus->devices; dev; dev = dev->next)        print_device(dev, 0);    }  }  return 0;}


 

使用libusb,首先执行一些初始化函数,遍历usb设备(其实是遍历sys对应的usb驱动目录),得到设备信息,你就可以打开读写usb设备,看看libusb目录下的tests目录中的实例即可很快上手使用libusb。