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

 

下载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。

 

你可能感兴趣的:(linux之USB编程)