任何人都可以推荐任何类似向导的工具来创建 USB 设备描述符吗?
到目前为止,我研究过的大多数(全部?)USB 固件示例都将描述符定义为 .c 文件中的简单字节数组,手动填充(在宏的帮助下)。
显然,这不是黑魔法,但我仍然相信一个简单的专业工具可能会很有用。谷歌搜索它没有给出有用的结果,但是......
任何人都可以推荐任何类似向导的工具来创建 USB 设备描述符吗?
到目前为止,我研究过的大多数(全部?)USB 固件示例都将描述符定义为 .c 文件中的简单字节数组,手动填充(在宏的帮助下)。
显然,这不是黑魔法,但我仍然相信一个简单的专业工具可能会很有用。谷歌搜索它没有给出有用的结果,但是......
一个类似向导的工具在你第一次使用时可能很可爱,但它会妨碍你。更好的方法是内存中描述符的良好结构,以及一些有用的宏和其他预处理逻辑,以便您可以在更高级别提供信息并自动填充正确的字节和位。
我用于 PIC 18 的 USB 堆栈就是这样工作的。您可以从我的软件下载页面安装它以及其他一些东西。静态 USB 设置在两个文件中定义。这些模板在 SOURCE > PIC 目录中被命名为 QQQ_USB.INS.ASPIC 和 QQQ_USB0.INS.ASPIC。首先,您在 usb.ins.aspic 文件中定义 VID/PID、您使用的端点以及每个端点的传输类型。然后你修改 usb0.ins.aspic 中的描述符,用你需要定制的一点点。由于它已经知道诸如传输类型和缓冲区大小之类的内容,因此您可以不理会这些符号,而只需更改实现的独特之处。在大多数情况下,这只是调整制造商名称和产品名称。这些你写成普通的字符串,宏负责正确的格式。