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.

[参考译文] TM4C1230D5PM:用于 tm4c123的 XDS110命令行擦除 EEPROM

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1022295/tm4c1230d5pm-xds110-command-line-erase-eeprom-for-tm4c123

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

在硬件测试期间、我正在寻找一种自动清除 EEPROM 所有内容的方法。

XDS110命令行实用程序允许我擦除闪存存储器、这可以正常工作。  但我需要将所有校准/用户设置擦除回已知状态。

理想情况下、uniflash 会有一个命令行选项允许我执行此操作、但我找不到它。

如果有人知道 如何做到这一点、请说。  我发现一些内容涉及 uniflash 的脚本语言-这听起来很复杂、但这可能是唯一的方法。  如果是、有人有示例吗?  我只想把它全部擦除为0xFF 或0x00 -没什么特别的。

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

    您好、Dave、

     在本应用手册的第5.3.2节中、它介绍了如何使用 dbgjtag.exe (命令行工具)将器件解锁至出厂设置。 此操作将擦除片上闪存和 EEPROM。  

      http://www.ti.com/lit/an/spma075/spma075.pdf

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

    感谢您的快速回复。  这无法解决我的问题、因为我无法手动切换重置行。  我的测试 也是 为了无人值守地运行。  是否 有方法通知 XDS110切换复位引脚?

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

    最终通过 PowerShell 脚本解决了该问题:

    ERASE_tm4c_Via xds110.ps1

    #通过 XDS110调试器自动擦除 tm4c
    # D Thompson 28/7/2021

    # FIXME 应在启动之前关闭设备电源(但如果您不能正常工作)

    #将器件置于复位状态
    和"C:\ti\uniflash_6.3.0\desktopdb\content\TIC扩音器\win\ccs_base\con\c如果\xds110\xds110reset.exe"-a 断言
    睡眠1

    #启动调试过程以重置芯片
    $p =开始处理"C:\ti\uniflash_6.3.0\desktopdb\content\TIC扩音器\win\ccs_base\common\uscif\dbgjtag.exe""-f@xds110 -Y 解锁、mode=tiva"
    $wshell = New-Object -ComObject wscript.shell
    $wshell.AppActivate ($p)
    睡眠1
    #应该在此处打开设备电源(但如果设备已打开、它似乎可以正常工作)
    睡眠1

    #继续屏幕上的提示
    $wshell.SendKeys ('')
    睡眠1

    #根据屏幕上的指令、我们需要将这里的复位取消置位、但是
    #我们不能使用、因为 dbgjtag.exe 仍在使用 xds110 USB (如果我们稍后执行此操作、似乎可以正常工作)
    #&"C:\ti\uniflash_6.3.0\desktopdb\content\TIC扩音器\win\ccs_base\con\uscif\xds110\xds110reset.exe"-a deassert
    $wshell.SendKeys ('')
    睡眠1

    #使器件脱离复位状态
    和"C:\ti\uniflash_6.3.0\desktopdb\content\TIC扩音器\win\ccs_base\common\uscif\xds110\xds110reset.exe"-a deassert
    #请注意、在此之后、您确实需要执行下电上电、否则 Uniflash 等不会与器件通信。

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

    您好、Dave、

     很高兴您在我即将寻求我们加工团队的帮助之前找到了解决方案。 我自己也没有看到过这种情况。 我相信您在这里提供的脚本将使社区中的许多人受益。  

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

    好的、请知悉。  dbgjtag.exe unlock、mode=Tiva 不是很友好、因为它需要用户交互("按键")。  加工团队的理想之选是 dbgjtag 的附加选项、它可以单独切换 nreset。   如果它确实需要在序列期间关闭/打开电源、 则可以拆分为两个命令、在加电前后运行。  但我的经验是、仅 在 dbgjtag.exe 完成后才需要断电。

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

    您好、Dave、

     我认为 dbgjtag.exe 正在尝试按照数据表中所述的说明进行操作。 您可以在数据表中找到更多详细信息。 我已经解锁了一些器件、但没有保持复位处于活动状态、然后释放它。  这似乎对我很有效。 但是、在调试器可以再次连接到目标之前、我必须在末尾运行下电上电。