我将尝试回答我自己的问题,将来可能会使用有关 OpenOCD 的其他详细信息更新答案。
有些事情我不了解 Bus Blaster,有些事情我不了解 OpenOCD,在这两种情况下,更好地阅读文档都会有所帮助。我最终在 Ubuntu 下从源代码编译了 OpenOCD。
OpenOCD 网站上提供了OpenOCD的用户文档,此处提供了创建配置文件的说明。配置文件分为三种类型:
- 界面。这是描述 OpenOCD 正在连接的设备的配置文件 - 在我的例子中是 Bus Blaster。配置文件
busblaster.cfg
位于openocd-0.7.0/tcl/interface/
文件夹中。此外,有人在BusBlaster OpenOCD 指南上在线描述了配置文件。OpenOCD 0.5.0 及更早版本不包含 Bus Blaster 的配置文件。
- 板。这是一个配置文件,它描述了特定于您要连接的 PCB 的设置 - 例如,有关外部闪存的详细信息在此文件中。
- 目标。这些是关于目标处理器的详细信息,在我的例子中是 MIPS32 处理器。MIPS32 是 MIPS M4K 的变体。OpenOCD 支持这两者,并且文档说 MIPS32 是 MIPS M4K 唯一受支持的变体。如果您允许 OpenOCD 自动探测(如果没有指定目标,它会这样做),OpenOCD 将生成如下所示的行,描述可以创建的新 TAP。
Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -expected-id 0x???????? ..."
Warn : AUTO auto0.tap - use "... -irlen ?"
您可以使用自动探测的 TAP 行在openocd-0.7.0/tcl/target
. 除了这些行之外,添加一行声明新目标(我从另一个目标配置中借用了这一点),指定在创建 TAP 时它是哪种架构和变体。