This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C1294KCPDT:Windows 10中的 Tiva USB COM 驱动程序问题

Guru**** 2552460 points
Other Parts Discussed in Thread: TM4C1294KCPDT

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/829956/tm4c1294kcpdt-tiva-usb-com-driver-issue-with-windows-10

器件型号:TM4C1294KCPDT

您好!

这与上面有 TM4C1294KCPDT 的定制板有关。 USB COM 端口驱动程序存在一些问题。 Windows 10检测到 COM 为"USB 复合设备"、如果我尝试更新驱动程序、则会显示错误"The best drivers for your device are already installed (您的设备的最佳驱动程序已安装)"。

请建议如何解决此问题、以便我可以在设备管理器中使用适当的 COM 端口。

以下是供您参考的屏幕截图:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     是否正在尝试枚举 USB CDC 类器件? 您在使用 LaunchPad 运行相同代码时是否遇到相同的问题? 您是否尝试过其他 Windows 10计算机? 请澄清您的申请。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    是的、它将是 USB CDC 类器件。 如果我也在 LaunchPad 上运行代码、则会发现相同的问题。 是的、我尝试了不同的 Windows 10计算机、但仍然有相同的问题。

    我的应用是 USB 串行 COM 端口器件。

    下面是不同 Windows 10计算机的屏幕截图。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

     请参阅以下文章、并根据建议下载 Windows 10驱动程序补丁、看看它是否有所不同。  

    https://e2e.ti.com/support/microcontrollers/other/f/908/p/695953/2565196?tisearch=e2e-sitesearch&keymatch=usb%25252525252525252520patch#2565196

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    已根据自述文件中提到的说明尝试使用上述链接上的新补丁文件。 但问题仍然相同。

    此致、

    Rajneesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     我会将您的问题转交给我们的 USB 专家以征求建议。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 Rajneesh、

    处理复合描述符创建的 usblib 函数具有一个逻辑缺陷、该缺陷会导致枚举在 Windows 10上失败、因为它尝试枚举端点1两次。

    为了解决此问题、您需要使用解决该问题的固定函数更新您的 usblib。 请按照以下步骤操作。

    将 usbdcomp.c 文件替换为该附加文件(确保它仍然名为 usbdcomp.c、因为 E2E 通常会在文件名中添加一些额外字符): e2e.ti.com/.../0572.usbdcomp.c

    从这里、您需要将 usblib 导入 CCS 以进行重建。 对于此步骤、请 勿将 usblib 项目复制到工作区中、这一点非常重要。 如果您将其复制到工作区中、则生成的 usblib.lib 将不会指向您的项目。

    导入 usblib 后、只需构建项目、以便将新文件合并为.lib 输出的一部分。

    要验证您是否正确执行了此操作、请转至 [Install Path]\TivaWare_C_Series-2.1.4.178\usblib\ccs\Debug 并检查 usblib.lib 文件是否具有修改日期的今天日期。

    完成此操作后、重新构建 USB_dev_cserial 工程并重新刷写您的器件、您应该会得到正确枚举的复合器件端口。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 Rajneesh、

    您拒绝了我提出的解决方案、但之后未提供任何详细信息、您能否解释您面临的问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ralph、

    这 是错误的。  不知为何我先收到反馈邮件、 然后再收到您的解决方案。

      我将在明天检查您建议的解决方案、并在明天更新您、因为今天是国庆节 。

    此致、

    Rajneesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rajneesh、

    好的、没问题。 我将再次将其标记为建议,因为我们很可能会参考该帖子以了解有关该主题的未来问题,直到 TivaWare 上的更改被推出为止:)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ralph、

    谢谢、按照您的建议、现在我能够在设备管理器下看到 COM 端口。 但我有2个 COM 端口、它必须只有一个 COM 端口。

    请建议为什么有2个 COM 端口、以及如何将其更正为仅创建一个 COM 端口。

    此致、

    Rajneesh。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ralph、

    [引用 user="Ralph Jacobi"]使用此附加文件替换您的 usbdcomp.c 文件(确保它仍然名为 usbdcomp.c、因为 E2E 通常会在文件名中添加一些额外字符): 

    问题修补程序回归是否已在早期版本的 Windows 中进行测试?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Rajneesh Verma"]请建议为什么有2个 COM 端口,以及如何将其更正为仅创建一个 COM 端口。

    Windows 通常缓存 USB 虚拟 COM 端口、尤其是对于插入的多个 LaunchPad。 PuTTY 或其他终端仿真器应能够确定活动的仿真器。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rajneesh、

    这是 cserial 示例的预期结果。 它是复合设备的一个示例。 如果您阅读了项目顶部的标头注释、您将看到它描述了项目应枚举两个单独的虚拟端口。

    如果您需要单个 CDC 端口、那么我可以为您提供帮助、因为我们有一个开发的示例、该示例将随下一个 TivaWare 一起发布、请参阅随附的项目: e2e.ti.com/.../3580.usb_5F00_dev_5F00_cdcserial.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 BP101、

    遗憾的是、我没有太多的能力来完成这项工作、尽管我认为有一台 Win 7机器尚未更新、我可以快速查看该机器。

    尽管如此、我很有信心解决该问题、因为我个人认为、当前的复合器件描述符应该从不起作用。 为什么 Windows 7忽略枚举两次的同一个端点是我无法理解的。 我仔细编码了枚举序列并使用 USB 分析器进行了验证、以便使用正确的数字枚举每个端点。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 BP101、

    为了跟进、我在 Windows 7 PC 上测试了错误修复、所有内容都正确枚举。 我没有预料到任何向后兼容性问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rajneesh、

    我最近在 USB 驱动程序中遇到了相同的问题、按照本文前面列出的步骤操作后、我能够解决该问题、似乎您也是这样。  为了便于说明、您是否使用 USB_dev_cserial 示例来帮助设置串行 USB? 如果是、这可能是您看到两个 COM 端口的原因。  设置代码时、您可以在各自的 COM 端口上使用 launchpad 作为介质实现两个终端程序的相互通信。

    -达里尔