了解 "driverless" USB HID

Understanding "driverless" USB HID

我刚开始尝试为 Kinetis 处理器开发 USB HID 引导加载程序,但没有得到该部门的任何帮助。我对为类似处理器设计的 Kinetis 固件进行了一些修改(我使用的是 KL26Z,原始代码用于 KL25Z),现在我看到了 USB 枚举的开始(在 PC 运行 W7 上).然而,PC 需要驱动软件,我不明白为什么,因为我认为走 HID 路线的全部意义在于不需要安装驱动程序。因此该设备显示在设备管理器下,但显示为无法正常工作的问题设备。我的问题是我真的不知道应该发生什么。欢迎任何见解。

这是应该发生的情况:计算机在检测到您的设备时会向您的设备询问其 USB 描述符。描述符必须正确设置某些字段(如 bDeviceClass)以指示它是 HID。如果计算机看到这些字段,它会将 HID 驱动程序附加到您的设备。

在设备管理器中,您应该查看设备的 "Compatible Ids"。您在该列表中看到 USB\Class_03 了吗?如果是这样,那应该与 Windows 附带的驱动程序 input.inf 匹配,因此 INF 文件将应用于您的设备,并且您的设备将在设备管理器中显示为 "USB Input Device"。如果您在列表中没有看到 USB\Class_03,则可能是您设备的 USB 描述符或其 USB 堆栈有问题。