在USB设备端,现有的驱动中,我们把它enumerate成一个vendor specific 设备,除了endpoint0,只用到了endpoint1(in/out)来与主机(windows)交换数据。在主机端,也有相对应的驱动与之通讯。
在这个基础上,我想把USB设备的endpoint2(in/out) enumerate成一个虚拟UART串口,用来往主机上发送调试log.
请问应该如何实现?
主机端的驱动应做什么改变?
假设我们实现了一个USB composite设备,其中包含功能接口1(ep1仍然像以前一样),功能接口2(ep2为虚拟串口),但是主机端仍然使用以前的USB驱动,请问功能接口1还能像以前一样正常工作么?
------解决方案--------------------
1. 主机端操作系统需要xp+sp3以上(貌似,不完全确定);
2. 主机端驱动不需要特别处理,原功能接口1仍然可以工作;
3. 设备端需要修改设备描述符,描述符格式参考USB Composite Device Spec,USB.org上可以下载到;