关于驱动:OTG驱动在内核配置好usb host控制器的时候就已经支持otg了。
如果硬件上不支持otg,那么就没有办法识别插入到usb guest口上的设备。(待测试)
关于应用:OTG对于应用程序来说是和普通的usb host口是一样样的。所以开发应用程序完全不用管是插入host口的usb设备,还是插入到guest的usb设备。
和usb设备通信的方式有好几种:1.基于libusb(另见:《Libusb简介及例子》) 2.直接在内核驱动中进行usb通信 3.Android中提供的api通信《connectivity/usb/host》。
前两种甚至可以在正常的host口开发完毕后,直接应用到otg口的设备。最后一个要得在Android中才可以用到。