原创
libusb与CDC/HID
2009-2-22 17:35
9495
6
6
分类:
软件与OS
Windows和Linux操作系统,都把CDC/HID设备作为系统内置的支持。所以都是使用系统内置的驱动。这样的话,就无法使用libusb来控制。
这个问题是出现在Versaloon的一个定制版本上的,这个版本实现的是一个CDC接口。如果使用系统内置的CDC驱动的话,则Versaloon就是一个USB<==> 串口;如果使用非系统内置的CDC驱动的话,则Versaloon就是一个编程调试器。
这里,需要根据不同的系统来使用不同的解决方法。目前只在WindowsXP和Ubuntu 8.04下测试。
WindowsXP下,所有的USB设备都需要驱动,如果使用CDC驱动的话,就可以作为USB<==>串口设备使用,如果使用libusb生成的驱动的话,就可以使用libusb操作。
Ubuntu 8.04下,CDC驱动是在cdc_acm模块中实现的,一般而言,CDC设备连接上电脑后,Ubuntu的设备管理会自动查找到cdc_acm驱动模块,并自动载入。这种情况下,Versaloon就是USB<==>串口设备。如果把Versaloon作为编程调试器的话,需要禁用掉cdc_acm驱动模块。可以修改/etc/modprobe.d/blacklist文件,添加"blacklist cdc_acm"即可禁用cdc_acm模块。使用dmesg确认。
文章评论(0条评论)
登录后参与讨论