我现在要做一个带USB摄像头的驱动,这个驱动是在VXWORKS操作系统下来驱动的,我现在有几个问题想问你一下:
我用的处理器是AT91RM9200,它用的功能是支持OHCI协议的。我现在接上带USB的摄像头后,对于枚举我有几个不明白的地方
1:当一开始的时候我是不是应该对设备来枚举,就是让操作系统来认识到这个设备,在VXWORKS里面它有一个USBD的驱动层,它有很多的API供上层调用,枚举过程我先用的 LOCAL int fncDescriptorGet
(
pURB_DESCRIPTOR_GET_SET pUrb
),函数里的pURB_DESCRIPTOR_GET_SE包含要一个USB_HEADER的结构还有USBD_NODE_ID等信息,刚开始系统还没有认识这个设备,怎么来给出这些信息?这些结构体里面有URB_HEADER等结构体它的内部又有回调函数刚开始的时候我怎么来确定这些结构?对于刚开始枚举的思路是这样,先分配一个pURB_DESCRIPTOR_GET_SET的内存,然后直接付给这个fncDescriptorGet()函数,它应该硬件自动把信息写到参数对应的结构体里,但是我又觉得里面的URB_HEADER和USBD_NODE_ID等我只是给了内存空间,不知道怎么来初始化。有没有问题?如果成功该得到设备的一些描述。
2:如果得到了一定的描述后,就该来设定设备的地址,这个地址是否可以由程序员自己定义(只要在1到127就可以)?
3:还是对于OHCI协议,当设备接上时就自动可以识别设备,做驱动就直接来对它进行数据传输就可以了?
4:最重要的一点,对于向摄像头这样的等时传输,我在VXWORKS里没有看到关于它的一些结构体的描述,那么是否可以用WINDOWS里的结构体类似的描述它。谁有没有等时传输的结构体,能否传给我一个,让我参考一下?
欢迎大家来讨论啊