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.
我正在尝试降低使用 DFU 的步骤。 我尝试了以下操作:
1.从项目 boot_serial 开始
2.在 bl_config.h 中启用 USB update define 语句
3.将项目和闪存构建到 EK-TM4C1294XL 中
4. dfuprog -m 切换到 DFU 模式
5. dfuprog -e 在 DFU 模式下仅显示一个器件
6. dfuprog -i deviceNum -f program.bin -a 0x1800可通过命令行和 LM 闪存编程器工作
在器件管理器中、不再看到 Stellaris COM 端口。 出了什么问题?
如果我尝试将跳线更改为 OTG 模式并将 USB 电缆连接到 USB 端口 U7、我也看不到任何 COM 端口。
非常感谢您帮助您正确地执行序列。 我希望能够在需要时进入和退出 DFU 模式、并且还能在需要时使用 Stellaris ICDI。
谢谢、
Priya
您好、Priya、
[引用 userid="318358" URL"~/support/microcontrollers/other/f/other-microcontrollers-forum/992729/ek-tm4c1294xl-usb-dfu ]\n 在器件管理器中、不再看到 Stellaris COM 端口。 出现什么问题?[/报价]听起来就像对 ICDI MCU 进行了编程、而不是对您的目标进行了编程。
[引用 userid="318358" URL"~/support/microcontrollers/other/f/other-microcontrollers-forum/992729/ek-tm4c1294xl-usb-dfu "]4. dfuprog -m 切换到 DFU 模式
5. dfuprog -e 在 DFU 模式下仅显示一个器件
[/报价]如果步骤4是 dfuprog -i index -m、则您执行了以下相反步骤:
//! To illustrate runtime DFU capability, use the <tt>dfuprog</tt> tool which //! is part of the Tiva Windows USB Examples package (SW-USB-win-xxxx.msi) //! Assuming this package is installed in the default location, the //! <tt>dfuprog</tt> executable can be found in the //! <tt>C:/Program Files/Texas Instruments/Tiva/usb_examples</tt> or //! <tt>C:/Program Files (x86)/Texas Instruments/Tiva/usb_examples</tt> //! directory. //! //! With the device connected to your PC and the device driver installed, enter //! the following command to enumerate DFU devices: //! //! <tt>dfuprog -e</tt> //! //! This will list all DFU-capable devices found and you should see that you //! have one or two devices available which are in ``Runtime'' mode. //! //! *** IMPORTANT - PLEASE READ *** //! If you see two devices, it is strongly recommended that you disconnect //! ICDI debug port from the PC, and change the POWER_SELECT jumper (JP1) //! from 'ICDI' to 'OTG' in order to power the LaunchPad from the USB //! OTG port. The reason for this is that the ICDI chip on the board is //! a DFU-capable TM4C129x device, and if not careful, the firmware on the //! ICDI chip could be accidently erased which can not restored easily. //! As a result, debug capabilities would be lost! //! *** IMPORTANT - PLEASE READ *** //! //! If IDCI debug port is disconnected from your PC, you should see only one //! device from above command, and its index should be 0, and should be named //! as ``Mouse with Device Firmware Upgrade''. //! If for any reason you need to keep the ICDI port connected, the above //! command should show two devices. The second device is probably named as //! ``In-Circuit Debug interface'', and we need to be careful not to update //! the firmware on that device. So please take careful note of the index for //! the device ``Mouse with Device Firmware Upgrade'', it could be 0 or 1, we //! will need this index number for the following command. //! Entering the following command will switch this device into DFU mode and //! leave it ready to receive a new firmware image: //! //! <tt>dfuprog -i index -m</tt> //! //! After entering this command, you should notice that the device disconnects //! from the USB bus and reconnects again. Running ``<tt>dfuprog -e</tt>'' a //! second time will show that the device is now in DFU mode and ready to //! receive downloads. At this point, either LM Flash Programmer or dfuprog //! may be used to send a new application binary to the device.
将 ICDI 线缆插入电路板的调试端、使用 LM 闪存编程器并转至 其他 实用程序、然后在此选项卡的底部、您将看到 ICDI 固件更新下面的按钮。 单击 该“更新”按钮以恢复 ICDI。
[引用 userid="318358" URL"~/support/microcontrollers/other/f/other-microcontrollers-forum/992729/ek-tm4c1294xl-usb-dfu ]非常感谢您帮助您按正确的顺序执行操作。 我希望能够在需要时进入和退出 DFU 模式、并且还能在需要时使用 Stellaris ICDI。[/QUERP]按照我在上面发布的顺序执行操作、该顺序来自我们的 boot_demo_usb 示例、您应该可以正常运行。 尽管还有一件事:
[引用 userid="318358" URL"~/support/microcontrollers/other/f/other-microcontrollers-forum/992729/ek-tm4c1294xl-usb-dfu ]6. dfuprog -i deviceNum -f program.bin -a 0x1800可从命令行和 LM 闪存编程器中工作[/quot]对于 TM4C129x、应为0x4000、因为这是 MCU 中闪存块的最小大小。 0x1800用于 TM4C123x MCU。
为清楚起见、您能否按正确的顺序发布步骤列表?
您好、Priya、
我做了-请通读我的帖子上的代码块。 这是完整序列、包括如何避免在 ICDI 上触发 DFU。
这是我尝试过的。 我在文件下载结束时遇到错误。 这意味着什么?
适用于 USB DFU 的 EK-TM4C1294 XL 步骤
文件下载期间报告的错误 DFU_ERR_UNKNOWN (-4)是什么意思?
要切换到 ICDI 模式、LM 闪存编程器其他实用程序会更新 ICDI 固件。
您好、Priya、
我执行了这些步骤、但对步骤5进行了一次修改:
dfuprog -I 1 -m
您应该对-m 命令使用 dfuprog -i。
但除了这一变化之外、我也做了你所做的每一步、它对我很有用。
我不确定到底是什么触发 了 DFU_ERR_UNKNOWN (-4)... 通常、这意味着 USB 接口不可用、就像器件由于某种原因没有响应。 如果您没有在 dfuprog -m 上执行-i、您可能已经触发 ICDI 再次进入引导模式?
我将 bootserial 闪存到 EK 中。 当我键入 dfuprog -e 时、只有一个器件显示 ICDI 接口、请参阅下面粘贴的捕获。 那么、当我切换到引导加载程序模式时、进入引导加载程序的是 ICDI 吗? 如果其它 USB 设备未列出索引、如何访问该设备?
在我明白这一点之前、我犹豫是否要尝试另一种新的 EK。
谢谢、
Priya
USB 设备固件升级示例
版权所有(c) 2008-2017 Texas Instruments Incorporated。 保留所有权利。
正在扫描支持的 DFU 器件的 USB 总线...
<<<设备0 >>
VID:0x1cbe PID:0x00fd
器件名称:电路内调试接口
制造商:德州仪器(TI)
DFU 接口:< >
序列号:0F00D8DC
最大传输数:1024字节
模式:运行时
属性:
将断开:是
清单容错:是
可上传:是
可下载:是
找到1个器件。
您好、Priya、
是否有 USB 电缆插入与调试端口相对的目标 USB 端口?
如果您只看到一个器件、那么这肯定是一个问题、需要有两个器件、或者只有一个器件、 则不应是 ICDI -如果您将 USB 电缆插入目标 USB 端口并将 LaunchPad 的电源跳线更改为由 OTG 而不是 ICDI 供电、就会出现这种情况。
我插入的唯一电缆是 调试 USB 端口。 我尚未将跳线设置更改为 OTG。 在闪存引导串行之后、我只看到一个器件、即 ICDI。
有一次、我尝试使用目标 USB 和 OTG 跳线、但设备管理器无法识别此目标 USB 端口。
您好、Priya、
USB DFU 只能通过目标 USB 端口工作。 无法通过 ICDI 端口使其正常工作。
您有两根电缆吗? 您可以连接两个端口吗?
如果不是、您将需要来回更改。
如果您正确设置了项目、设备管理器应该会识别它。 您是否安装了 TivaWare 2.2.0.295中的最新驱动程序? 您可能需要在设备管理器中手动更新驱动程序。
您能否发布 bl_config.h 文件? 我可以对其进行审阅。 如果可能、将文件作为附件发布、因为文件太长、谢谢!
e2e.ti.com/.../6562.bl_5F00_config.h
随附 bl_config.h。 我将获得另一根电缆并尝试。
在器件管理器或 dfuprog 中看不到目标 USB 端口上的 COM 端口。 我的配置文件中必须缺少一些内容。
谢谢、
Priya
您好、Priya、
BL_CONFIG 有一些错误、这就是端口枚举的原因。
1) 1)不启用 USB_MUX 功能、注释掉所有这些功能。
2) 2)您在此处选择了错误的端口:
//#define USB_DP_PORT GPIO_PORTL_BASE // For EK-TM4C1294XL #define USB_DP_PORT GPIO_PORTD_BASE // For EK-TM4C1294XL
端口 D 用于 EK-TM4C123GXL。
我正在为 EK-TM4C1294XL 连接我的 BL_CONFIG 我用于为以下帖子执行 USB DFU:
感谢您提供更正后的配置文件。 当我刷写 boot_serial 时、我仍然只能看到 ICDI 接口。 我有2条 USB 电缆连接到 EK。 我没有选择 OTG 跳线。 设置配置文件时必须执行更多操作。
您好、Priya、
您在设备管理器中看到了什么? 您是否有无法在任何位置枚举的 USB 端口?
我继续仅将 ICDI 视为 USB 器件。 我还没有看到目标 USB。 设备管理器屏幕截图已附加。
您好、Priya、
您是否使用了我的确切配置文件或尝试进行更改? 我再次进行了测试、我看到显示了 DFU 接口。
用于 boot_serial 工程的目标器件是 TM4C1294NCPDT 吗?
如果您使用 dfuprog -e、会出现什么情况?
您能否尝试对我确认可以在硬件上工作的二进制文件进行编程?
使用您发送的 bin 文件、我可以看到两个 USB 器件、并使用 DFU 对 bin 文件进行编程。 之后、我返回到我的引导串行、设备管理器现在显示了所连接的内容。
我尝试更新了 TIVaware2.2.0.295 Windows 驱动程序中的 Windows 驱动程序、也许我需要运行另一个补丁?
或者、如果您可以为 EK-TM4C1294XL 导出 boot_serial 工程、我将使用它。
谢谢、
Priya
拉尔夫
请告诉我、如果显示未知的器件描述符、我可以做什么。 我擦除了项目并将其重新导入到了工作区中、更新了驱动程序、卸载了未知的 USB 器件并扫描了硬件更改。 它仍显示为未知 USB 设备。 我需要能够在我的设置中编译和下载 boot_serial。 谢谢。
您好、Priya、
当您尝试更新驱动程序时、您是否访问了未知器件的属性、转至驱动程序下、选择"更新驱动程序"、然后手动浏览您的计算机以指向 TivaWare windows_drivers 文件夹?
现在 boot_serial 可能正常工作、问题出在枚举。
是、并且我在执行此操作时收到的消息是此设备的最佳驱动程序已安装。
修复枚举问题的策略是什么?
您好、Priya、
尝试在这里拍摄一段长时间的照片,但在这里试一下司机: http://software-dl.ti.com/tiva-c/SW-TM4C/latest/exports/SW-TM4C-2.1.4.178.PATCH-1.0.zip
如果无法正常工作、我建议先尝试另一条 USB 电缆、然后再尝试重新启动您的 PC。
我以前看到过故障 USB 电缆会导致枚举问题(其中一些是 LaunchPad 套件附带的电缆)
拉尔夫
我尝试了所有操作-卸载未知设备、重新启动 PC、使用全新的 EK 应用补丁。 我在 Tiva 1294 EKS......上度过了一个幸运的时光 枚举仍然失败。 请在此处提供帮助吗? 我不知道还有什么要尝试的。
谢谢、
Priya
您好、Priya、
很抱歉、您遇到了这样的问题。 所有这些测试是否都使用我发送的二进制文件?
我提出这一问题是因为我在仔细检查可能的问题、并且报告了 TM4C1294 EK 的另一个 USB DFU 问题、但它不应影响我发送的.bin 文件。 在任何情况下、您都应该在您的末尾进行此更新
在 bl_usbfuncs.c 中、找到第619行、并替换以下现有行:
HWREG(USB0_BASE + USB_O_CC) = (USB_CC_CLKEN | (7 << USB_CC_CLKDIV_S));
具有以下行:
HWREG(USB0_BASE + USB_O_CC) = (USB_CC_CLKEN | (3 << USB_CC_CLKDIV_S));
如果您使用的是自己的项目、请尝试重新编译并重新加载、因为它解决了闪存引导加载程序的 USB 时钟配置问题。
我看到的另一个可能影响您的.bin 文件未解决的问题是、在 BL_CONFIG 中、闪存页大小设置不正确。 它应该是:
#define FLASH_PAGE_SIZE 0x00004000
我要附加一个新的二进制文件、该文件已解析:
我仍在尝试使工作区上的 boot_serial 编译正常工作。 我更改了 USB 时钟和闪存页大小。 设备管理器仍显示未知的 USB 设备(这次配置描述符无效)。 您的 bin 文件正常工作。 您能否为 EK-TM4C1294 XL 提供导出的项目?
我使用了您发送的确切 bl_config.h 文件。
谢谢、
Priya
您好、Priya、
查找随附的 CCS 工程: e2e.ti.com/.../3276.boot_5F00_serial.zip
您仍需要进行我在 BL_usbfuncs.c 中概述的更改
感谢您的参与。 该项目不会导入 CCS 10.2。 (红色 x)它确实导入 CCS 9.2。 我对 usbfuncs.c 进行了更改、构建并刷写了它。 USB 设备仍然显示为未知、无效的配置描述符。 我还尝试在工程的调试文件夹中刷写 bin 文件、但遇到相同的错误。 两个 EKS 的结果相同。 (不同的 USB 电缆)。 我可能需要尝试另一台笔记本电脑。 很抱歉、我的回答不可能。
尽管您之前提供的两个 bootserial bin 文件可以正常工作。
已连接是故障 enumeration.e2e.ti.com/.../invalidConfiguration.txt 的 USB 树视图
您好、Priya、
您现在拥有哪个版本的 TivaWare? 2.2.0或2.1.4?
我认为我以前发送的纸槽来自2.1.4、因为我以前仍然可以使用它。
我发送的项目来自2.2.0。
让我在这里附加我在 PC 上验证过的另一个 bin、它来自2.2.0: e2e.ti.com/.../1185.boot_5F00_serial.bin
您发送给我的项目使用了 tivaware 2.2.0。 我的计算机上有这个。 但我不知道您发送的项目为什么会给我枚举错误。 预编译的 bin 文件通常没有问题、我需要一个 可以编译和枚举的工程。
您好、Priya、
所以要清楚...
boot_serial zip 文件不适合您、但4/14中的 boot_serial.bin 文件可以正常工作?
如果是这样、您可能没有在 TivaWare 2.2.0.295中正确保存 BL_usbfuncs.c 文件。
您好、Priya、
您的项目在 Windows 10 PC 上的 EK-TM4C1294XL 上进行了编译和工作正常。
我在这里有一点损耗。 您的硬件连接不好、Windows PC 有问题、原因是无法清除、或者您的 EK-TM4C1294XL 已在某种程度上损坏。 我会说同时使用两个 USB 端口、然后尝试新 PC、看看您是否可以这样做...
我将在另一台笔记本电脑上尝试此操作。 我注意了 USB DFU 中涉及的所有步骤、并在此处列出了这些步骤、可能的 EK 损坏似乎非常令人担忧。 我目前正在处理4个新订购的 EKs。 如果问题出在 EKs、TI 需要更换它们。 笔记本电脑上的 anitvirus 是否可能导致枚举问题?
笔记本电脑2出现相同问题。 USB 设备无法识别、 故障、Windows 无法识别。
您好、Priya、
四 克朗不会导致该问题。 也许有人可以、但有四人当然不能。
您能否尝试在 Code Composer 中创建新的工作区并重新导入我发送的项目?
我没有听说过防病毒停止枚举、但这不是我们可以广泛测试的东西。
很遗憾、因为我无法重新创建这个项目、因为发送给我的项目工作正常、所以我对在这里可以发生的事情没有任何想法...
我很慢地想到这个-如果有一种方法可以在 Tiva 中刷写 boot_serial.bin,那么 DFU_prog 将负责对应用程序 bin 文件进行编程,对吧? 我不需要 CCS 中的工程来生成 boot_serial。 如果是这种情况、我将关闭此 TT。
感谢您对此问题的帮助。
您好、Priya、
是的、您可以使用 LM 闪存编程器执行此操作。
Ralph -我能够使用 DFU 进行输入和编程。 如果我对 blink.bin 进行编程、则 DFU 下载后该程序不起作用。 如果我从 CCS 闪存、则闪烁正常。 这是为什么?
您好、Priya、
您是否在链接器文件中调整了闪烁的 CCS 工程的起始地址? 请参阅 TivaWare 用户指南 https://www.ti.com/lit/pdf/spmu373的第6.1节
请注意、对于 TM4C129x、APP_START_ADDRESS 将为0x4000。
在 blinky_ccs.cmd 中#define APP_base 0x4000
是的、我更改了此设置、但我看到闪烁仅在 CCS 中工作、而不是通过 DFU。
嗯。 请附加项目? 我将进行测试!
Blinky 项目。 仅在从 CCS 进行刷写时有效、而不是通过 DFU 进行刷写。
您好、Priya、
是否在 DFU 之后对电路板进行电源循环?
它对我来说工作正常、但它确实需要重启电源。
您还可以使用 LMFlash 通过 DFU 刷写.bin。
是的、编程后对电路板进行下电上电。 我使用 dfuprog 和 LMFlash 编程器上的 USB DFU 对此进行了尝试。 Blinky 不适合我、除非我使用 ICDI。 我选择了正确的 DFU 器件进行编程。
在 LM 闪存中、您只能获得一个选项:
是的、在本例中、我看到器件0。 1是 ICDI 的索引。
有趣。 我知道我以前看过 ICDI 的出现,但现在却不是。 是否可以拔下 ICDI 线缆、从 OTG 跳线供电并尝试这样做? 我认为这不重要、但如前所述、这对我来说很有用...
我还重新下载了您的项目、并使用了您发送给我的确切 bin、但没有重新编译以确保其正常工作。