我们开始批量生产定制设备。它使用中国MCU LT1901。MCU核心是arm926ej-s。MCU 从 NAND 闪存启动。我们被迫在焊接到 PCB 之前对 NAND 闪存进行编程。我不喜欢。我想有一种在 JTAG 上焊接后对 NAND 进行编程的方法。我只有这个 MCU 的中文文档,这个文档没有关于 JTAG 的信息。我有像 Link、FT2232H 模块这样的 JTAG。我知道理论上可以通过 JTAG 完成。但是如果我没有关于 JTAG 的信息,这可能吗?我尝试连接具有相同内核的不同设备的 J-Link 指令器,但它失败了。在我的情况下,通过 JTAG 对 NAND 进行编程的最简单方法是什么?
通过主机 MCU JTAG 进行 NAND 闪存编程
逆向工程
标签
2021-07-06 20:13:55
1个回答
在这样的电路中,有两种可能的方式通过 JTAG 对闪存进行编程:
使用 JTAG 边界扫描直接连接到 CPU 的 bitbang flash 芯片引脚,就像您将编程器连接到它一样。这通常需要芯片引脚到边界扫描寄存器(例如 BDSL 文件)的详细映射、闪存芯片如何连接到 CPU 的知识以及编程算法。AFAIK urJTAG 项目为此提供了一些工具,但您可能需要针对您的特定项目进行自定义。
使用 JTAG 调试功能(例如 ARM 的 CoreSight)将一个小程序上传到 CPU RAM,这将有效地将 CPU 变成闪存编程器,并允许您对连接到它的芯片进行编程。这种方法的优点是它较少依赖特定的引脚排列和 CPU 和闪存之间的连接,比边界扫描位分块快得多。OpenOCD为许多 CPU 和闪存芯片实现了闪存算法。您还可以查看Segger J-Link等商业产品。