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 请求关联的帧号。 此字段仅对等同步端点有效。