我能够将我的Linux设备编译为复合小工具。(Serial + Mass Storage)
当我在Linux PC上插入此设备时,操作系统能够检测并使用这两种功能。 但是,当我将它插入Windows时,它只是被检测为"多功能复合小工具"我不能将其用作大容量存储设备或串行设备。
如何在Windows中完成此工作。制作定制的驱动程序对于这项任务真的很重要吗?如果是这样,那么如何实现这一点至少是痛苦的?#34;方式是什么?
答案 0 :(得分:3)
似乎Windows不知道将您的设备视为串行端口或USB大容量存储设备,因为您的硬件和供应商ID不在所述ID的预定义表中,而是自动为您选择INF文件。因此,您只需要一个简单的INF文件来告诉Windows将您的硬件视为已经知道如何处理并使用其预构建的类进行通信的内容。
实现这一目标的最佳选择(最简单的方法)是修改这些设备类(串行端口和大容量存储设备)的INF模板,并添加您的硬件/供应商ID以及您可能希望的其他属性/要求。有关Microsoft如何处理驱动程序的文档,请参阅here。它描述了INF模型和每个字段的可接受(读取:现有)名称。作为使用TI USB描述符工具生成的MSP430串行驱动程序INF的参考,请参阅here以及在Windows中为CDC ACM驱动程序做得不错的通用模板,请参阅{{3} }。