文章目录
在 USB 驱动开发中,URB(USB Request Block) 是核心概念之一。它是 Linux 内核用于在主机和 USB 设备之间传输数据的抽象结构体。你可以把 URB 理解为一张“订单”,驱动程序向 USB 核心提交这张订单,说明要做什么传输、传输给哪个设备、要用哪个端点等等。
🧩 一、URB 是什么?
URB 全称:USB Request Block
是 Linux 内核中用于描述一个 USB 数据传输请求的数据结构,定义在<linux/usb.h>
中。
每个 URB 表示一次完整的 USB 传输操作。
🧬 二、URB 的核心结构(简化)
struct urb {
struct usb_device