我意外地欺骗了我的处理器。 我需要解砖。 我正在写入其存储器、并插入了一个包含无效程序和数据闪存数据的有效校验和。 现在我无法再检测到该器件。 我无法再在 ROM 或程序闪存模式中检测到它。 我已经验证了我的所有代码和硬件。 我正在使用 Fusion Designer 来检查器件、直到最后一次写入器件时、器件工作正常。 我需要擦除校验和并返回 ROM 模式。 是否存在硬复位或擦除?
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.
我意外地欺骗了我的处理器。 我需要解砖。 我正在写入其存储器、并插入了一个包含无效程序和数据闪存数据的有效校验和。 现在我无法再检测到该器件。 我无法再在 ROM 或程序闪存模式中检测到它。 我已经验证了我的所有代码和硬件。 我正在使用 Fusion Designer 来检查器件、直到最后一次写入器件时、器件工作正常。 我需要擦除校验和并返回 ROM 模式。 是否存在硬复位或擦除?
您好、Matthew、
在程序闪存模式下无法与器件通信的事实可能是由于中断触发过多、因此 PMBus_handler 无法执行。
因此、第一步、应将模拟比较器输入等可能触发中断接地的引脚接地、并查看是否可以恢复通信。
此外、如果您的代码中有类似此情况的条件(在 main 的开头):
if (GioRegs.FAULTIN.bit.FLT3_IN = 0)
{
clear_integration_word_();
}
您可以尝试执行此操作来擦除校验和、然后重置并 返回 ROM。
如果上述操作均不起作用、则需要 JTAG 连接来清除校验和。
下面介绍了如何通过 JTAG 清除校验和:
1) 1)将您的目标配置配置配置为 ARM7 (而非 UCD3138A)。
这很重要、因为 UCD3138A 的 GEL 文件将 pflash 视为只读、不允许您通过 JTAG 更改 pflash 中的任何内容。
2) 2)将地址 FFFFFE98处的 FLASHILOCK (联锁_KEY)值设置为0x42DC157E。
3) 3)将 地址0x7FFC 处的校验和值设置为0x00000000。
4) 4)复位或对器件进行下电上电。
您现在应该处于 ROM 模式。
希望这对您有所帮助、
此致、