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:LM 闪存编程器不显示 USB 选项、也不会在没有以前的 TI 工具/软件的 Windows 10系统上加载所需的驱动程序

Guru**** 2374090 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/1001919/tm4c1294kcpdt-lm-flash-programmer-does-not-show-usb-option-and-does-not-load-required-drivers-on-windows-10-systems-with-no-previous-ti-tools-software

器件型号:TM4C1294KCPDT

您好的支持团队、

我们使用 LM 闪存编程  器在工厂和现场通过 USB 端口更新使用 TM4C1294kcpdt 的产品。  在以前具有 CCS 和 TIVAware 等 TI 开发软件   的 PC 系统上、LM 闪存编程器的安装完美无误、可立即访问配置了 USB-DFU 的 MCU。

但是、当我们在不用于代码开发的独立 Windows 10计算机上安装 LM 闪存编程器时(即、之前未安装任何 TI 软件)。  我们遇到了2个问题。

 LM 闪存编程器应用程序中的 USB DFU 选项在接口下拉菜单中不可用

支持 USB-DFU 的 MCU (未编程的 MCU 或置于 USB-DFU 模式)会进行枚举、但 Windows 10无法找到合适的驱动程序。

我们从 TI 网站下载并使用构建1613: LMFLASHPROGRAMR 软件编程工具|德州仪器 TI.com。  

  在安装 LM Flash Programmer 和完全系统重新启动后、我们通过手动将其他文件加载到计算机的 Windows 10 /system32和/syswow64目录来解决这一问题。  我们使用 该位置的文件

http://software-dl.ti.com/tiva-c/SW-TM4C/latest/exports/SW-TM4C-2.1.4.178.PATCH-1.0.zip 

C:/Windows\system32\drivers\winusb.sys

C:/Windows\system32\lmdfu.dll

C:/Windows\system32\lmdfu.lib

C:/Windows\system32\lmusbdll.dll

C:/Windows\system32\lmusbdll.lib

C:/Windows\system32\WdfCoInstaller01009.dll

C:/Windows\system32\WinUSBCoInstaller2.dll

C:/Windows\syswow64\lmdfu.dll

C:/Windows\syswow64\lmdfu.lib

C:/Windows\syswow64\lmusbdll.dll

C:/Windows\syswow64\lmusbdll.lib

要*手动*安装或验证文件是否存在:  

我们期望在合适的 Windows 10计算机上安装 LM 闪存编程器就足以为 USB 基础 DFU 提供全面支持。   

  我们非常感谢您为 USB DFU 更新或更新 LM 闪存编程器以正确安装 Tiva 产品的关键工具而提出的任何建议。   

谢谢、

Steve Tomassetti

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

    您好 Steve、

    我看不出这个问题经常出现、但它已经出现了几次。 一位用户报告了此过程在将 LM Flash 设置为 Windows 7兼容模式下非常有效。 这是您以前尝试过的解决方案吗?

    • 右键单击-> Properties (属性)
    • 兼容性->检查兼容性模式
    • 选择 Windows 7、然后单击确定。
    • 启动程序(如果未加载固件、则只需插入 USB)
    • DFU 现在应该是一个选项

    对于驱动程序、可能存在两个问题。

    1. 需要适用于 Win 10的最新 TivaWare 驱动程序、您可以在补丁文件中找到这些驱动程序
    2. USB DFU 固件有一个小错误、有时会导致 Windows 10计算机上的枚举问题-在发布 TivaWare 2.2.0.295之前、我们未发现此错误。 有关详细信息、请访问 :https://e2e.ti.com/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/917631/tm4c1294ncpdt-tiva-usb-bootloader-windows-driver/3390384#3390384

    让我知道这些解决方案对您的情况有多大帮助、我想先了解这些已知解决方案如何帮助您、如果仍有问题、我们可以进一步探讨。

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

    您好、Ralph、

    我们尚未尝试在 Win 7兼容模式下运行 LM 闪存编程器、但我们将执行一些测试以检查这是否解决了 USB DFU 菜单问题、并返回报告。

    我仍然不清楚您提供的项目2详细信息以及如何使用它。  让我添加一些有关我们实施的附加信息、以帮助了解上下文:

    我们的实现通常不会通过枚举 DFU 器件来引导。  它使用 WINUSB 作为通用 CDC 2端口串行器件(即0xFFFF 处的 PID 和 VID)启动。 基于 TIVAWare 2.1.2.111。  我们这样做是为了避免必须为我们的产品提供自定义的..inf 文件、而且迄今为止、这种文件效果非常好。  对于固件更新、我们使用串行 USB 连接发送命令以将器件置于 DFU 模式。 该命令指示 Tiva 执行以下代码:

    void enterDFUmode (void){
    //终止 USB 设备并从总线断开。
    //
    USBDCDTerm (0);

    //
    //禁用所有中断。
    //
    ROM_IntMasterDisable();

    //
    //禁用 SysTick 及其中断。
    //
    ROM_SysTickIntDisable();
    ROM_SysTickDisable();

    //
    //禁用所有处理器中断。 而不是逐个禁用它们
    //时间,直接写入 NVIC 以禁用所有外设
    //中断。
    //
    HWREG (NVIC_DIS0)= 0xffffffff;
    HWREG (NVIC_DIS1)= 0xffffffff;
    HWREG (NVIC_DIS2)= 0xffffffff;
    HWREG (NVIC_DIS3)= 0xffffffff;
    HWREG (NVIC_DIS4)= 0xffffffff;

    //
    //启用和复位 USB 外设。
    //
    ROM_SysCtlPeripheralEnable (SYSCTL_Periph_USB0);
    ROM_SysCtlPeripheralReset (SYSCTL_Periph_USB0);
    ROM_USBClockEnable (USB0_BASE、8、USB_CLOCK _INTERNAL);//Ver 2.1.2.111需要8、Ver 2.1.4.178需要4

    //
    //等待大约一秒钟。
    //
    ROM_SysCtlDelay (g_ui32SysClock / 3);
    //
    //在 NVIC 级别重新启用中断。
    //
    ROM_IntMasterEnable();

    //
    //调用 USB 引导加载程序。
    //
    ROM_UpdateUSB (0);
    //rom_UpdateEMAC (g_ui32SysClock);

    //
    //不应该出现在这里,而是以防万一。
    //
    while (1)

    这是使用 ROM 库调用。  我是否需要将其更改为从较新的 TIVAWare 库调用 map_库?   

    过去、我们已将...PATCH-1.0.zip 中的.dll 和.lib 文件手动加载到/windows32和/syswow64目录中、 在大多数情况下、在 PC 重新启动后、DFU 器件已正确枚举、我们很好(为客户设置 DFU 功能的一种相当混乱的方法);  但是、在最近使用客户的 Win10笔记本电脑的情况下、这不起作用、DFU 仍然无法正确枚举。

    感谢您的专业知识 Ralph!

    最棒的

    Steve

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

    您好 Steve、

    对于 ROM USB 引导加载程序、您无需担心代码更新。 这仅适用于 Windows 10中基于闪存的 USB 引导加载程序。

    我没有尝试按照您描述的方法安装设备驱动程序。 我们推荐的方法是进入器件管理器、在列表中找到未正确枚举的器件、然后在确认之后、通过手动搜索更新驱动程序并指向 TivaWare 驱动程序文件夹或补丁文件夹。

    您能否看到客户是否可以尝试在其笔记本电脑上手动安装? 我没有任何人在需要为客户解决问题的背景下提出此问题、因此我可以理解这是否很困难。 我不知道我们是否有很多或任何其他客户在使用我们的特定 TivaWare 驱动程序、如果这种情况很常见、这不是我所知道的、因此我现在实际上没有更友好的客户想法。

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

    谢谢 Ralph。

    我想我现在已经在运行了。  关键是 首先将....PATCH-1.0.zip 下载到目录并将其解压缩。  然后开始连接并将我的器件置于 DFU 模式。  从此处启动控制面板并查找 DFU 器件。  它显示缺少驱动程序。  从那里我:

    右键单击“设备”图标至“属性”,-->“硬件”选项卡-->“属性”按钮-->“更改设置”-->“驱动程序”选项卡-->“更新驱动程序”按钮-->浏览计算机以查找驱动程序。

    然后、我按照说明浏览驱动 程序目录。  导航至解压缩的...PATCH-1.0.zip 导航至并选择了...windows_driver 子目录。  已从该子目录安装驱动程序。

    安装了驱动程序、还解决了在 LM 闪存编程器界面下拉菜单中显示 USB DFU 的问题、而无需恢复到任何传统模式操作。

    我将为我的现场支持人员写下此过程、供将来参考。

    理想 情况下、最好对内部版本1613进行更新或创建新的 DFU 支持工具、以删除安装此关键工具时的这些复杂额外步骤。

     

    感谢您在这方面的帮助。  (你也是劳伦斯!)

    Steve  

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

    您好、Steve、

    [引用 userid="81723" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1001919/tm4c1294kcpdt-lm-flash-programr-does-not-show-usb-option-and-does-not-load-required-drivers-on-windows-10-systems-with-no-previous-ti-tools-software/3701673 #3701673"]理想情况下,最好对 build 1613进行更新 ,或者创建新的 DFU 支持工具,以删除安装此关键工具时的这些复杂额外步骤。

    我理解其中的难题、但这实际上与 LM 闪存编程器无关。 这与 Windows 10如何处理 USB 驱动程序有关。 该过程发生了很多变化、Win 10比 Win 7少得多的宽恕、这会导致更多的此类问题、因为 Microsoft 是如何处理这些"外来" USB 设备的。 您描述的整个过程是将 TivaWare USB 驱动程序正确加载到 Windows 10中、我不知道如何轻松地简化该过程。 理论上、我们可以将某种安装程序组合在一起以实现这些步骤的自动化、但这不是我们以前真正提出的请求、因此我不会预计这是我们将采取的行动。

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

    谢谢 Ralph、

    我很清楚、Microsoft 可以使这一看似简单的请求变得繁琐。  也许第三方可以填补这一空白。   

    万分感谢!

    Steve