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.
在硬件测试期间、我正在寻找一种自动清除 EEPROM 所有内容的方法。
XDS110命令行实用程序允许我擦除闪存存储器、这可以正常工作。 但我需要将所有校准/用户设置擦除回已知状态。
理想情况下、uniflash 会有一个命令行选项允许我执行此操作、但我找不到它。
如果有人知道 如何做到这一点、请说。 我发现一些内容涉及 uniflash 的脚本语言-这听起来很复杂、但这可能是唯一的方法。 如果是、有人有示例吗? 我只想把它全部擦除为0xFF 或0x00 -没什么特别的。
您好、Dave、
在本应用手册的第5.3.2节中、它介绍了如何使用 dbgjtag.exe (命令行工具)将器件解锁至出厂设置。 此操作将擦除片上闪存和 EEPROM。
感谢您的快速回复。 这无法解决我的问题、因为我无法手动切换重置行。 我的测试 也是 为了无人值守地运行。 是否 有方法通知 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 正在尝试按照数据表中所述的说明进行操作。 您可以在数据表中找到更多详细信息。 我已经解锁了一些器件、但没有保持复位处于活动状态、然后释放它。 这似乎对我很有效。 但是、在调试器可以再次连接到目标之前、我必须在末尾运行下电上电。