IOB 结构
当 USBD 驱动程序通过主控制器对 USB 设备执行 IO 时,它会启动hcdPipeIO调用向量。
IOB 结构作为呼叫向量的其中一个参数传递,并用于 USBD 驱动程序与适配器驱动程序之间的通信。
IOB 结构概念
IOB 结构包含某些字段,这些字段用于将关联的参数传递到适配器设备驱动程序。 此结构中的其他字段用于将返回的状态传递回 USBD 驱动程序。 IOB 结构在 /usr/include/sys/usbdi.h 文件中定义。
- pNext 字段用于将 IOB 分组在一起
- hPipe 字段由 xHCD 用于标识与当前 USB 设备的端点相关联的逻辑硬件管道。
- pBuffer 字段指向缓冲区的虚拟地址。
- busAddr 字段指向与 pBuffer 字段关联的总线地址。
- 如果数据传输与 IOB 关联,那么 长度 字段指向事务的长度 (以字节为单位)。
- 标志 字段标识从设备进行的简短传输是否成功。 它还会标识包的类型。
- " 状态 " 字段指示 IOB 的完成状态。
- 框架 字段指示与 I/O 请求关联的帧号。 此字段仅对等同步端点有效。