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.

[参考译文] TM4C1237H6PM:无法在 DFU 模式下对芯片进行编程

Guru**** 1996415 points
Other Parts Discussed in Thread: UNIFLASH, TM4C1237H6PM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/873274/tm4c1237h6pm-not-able-to-program-chip-in-dfu-mode

器件型号:TM4C1237H6PM
主题中讨论的其他器件:UNIFLASH

我在定制板上有一个 TM4C1237H6PM。 我可以通过 Code Composer 对电路板进行精细编程。 我使用 UniFlash 擦除了闪存、电路板在器件管理器中正确显示为 Stellaris 器件固件升级。 但是、尝试使用 dfuprog.exe 从位置0开始对电路板进行编程失败(报告了文件下载期间报告的错误 DFU_ERR_UNKNOWN (-4)))。 使用 UniFlash、我可以看到闪存在地址0x08到0xDF 处使用正确的值进行编程。 之后、闪存为空。 位置0x00到0x07中应该有非0xFF 值、但不应该。 我也使用 LM 闪存编程器尝试使用 DFU 编程到位置0、但未成功。 按下"Program"按钮时未发生任何情况。

有人知道为什么闪存的前8个字节以及0xDF 之后的所有字节都是空的? 因此、我无法使用 DFU。

谢谢、

Colin

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

    您好、Colin、

    您能否在每次对电路板进行编程时重新创建该问题? 或者您是否仅试过一次? 如果只能清除一次闪存、则应能够使用 UniFlash 清除闪存并使用 DFU 重试。 它听起来像是闪存过程被中断。

    [引用 USER="Colin]I 也使用 LM 闪存编程器尝试使用 DFU 编程到位置0、但未成功。 当我单击 Program 按钮时未发生任何情况。

    是否在完全擦除闪存的情况下完成此操作?

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

    你(们)好。 每次我尝试时、无法在 DFU 模式下进行编程的问题都是可重现的(在之间擦除至少10次)。 当我使用 UniFlash 擦除闪存、然后使用 LM 闪存编程器时、会出现一个对话框、其中包含"An error occurred during USB download!" 现在、我已经使用 LM 闪存编程器复制了5次此行为。 当我检查存储器时、闪存的前8个字节再次为空、然后一些位置具有正确的值。

    硬件问题是否只影响 DFU 模式?

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

    您好、Colin、

    考虑到您可以轻松地重新创建它、这听起来像是某种硬件问题。

    1) 1)有多少电路板出现此问题?

    2) 2)您是否有其他编程方法(JTAG?)?

    3) 3)如果是、您能否将定制板上的 USB 接口用作常规 USB 器件(例如 USB CDC)来测试其是否正常工作?

    4) 4)您是否查看了您的原理图和布局与我们的系统设计指南: http://www.ti.com/lit/an/spma059/spma059.pdf

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

    我能够访问另一个电路板、并使用该电路板上的 DFU 成功下载。 因此、我最初使用的电路板显然存在 USB 问题、这使我无法成功使用 DFU。 感谢你的帮助。