我使用 Arm DS-5和Xilinx SDK 在 Zynq 板上开发程序。 我试图从Qspi Flash启动Zynq 702板。 到目前为止,我所做的是从Xilinx SDK生成FSBL项目,并使用SDK中的Bootgen工具将其与我的应用程序相结合,然后将其编程到闪存中。 我脑子里有几个问题。
答案 0 :(得分:0)
AXF可能会有一些额外的ARM工具链魔法(我不确定是否可以),但从本质上讲它是一个ELF文件 - ARM工具链提供了fromelf
在其中进行探索,但readelf
和objdump
等其他工具也可以使用。
我不熟悉Zynq平台,所以我不知道任何特定的调试器技巧,但一般的只是在代码的开头放置一个无限循环(可能使用volatile或inline) asm trickery,如果有必要阻止优化) - 一旦调试器连接并打破它,你只需将PC移动到循环并继续。
答案 1 :(得分:0)
您可以通过JTAG完全停止QSPI引导的Zynq,并对其进行任何处理。但是,有一些怪癖。有时Zynq会进入某种锁定状态,而JTAG根本无法工作,因此您需要重新启动电源后才能重试。通过JTAG启动软件后,某些写得不好的外围设备可能会死掉,因此您可能需要先重新加载位流。而且还有一些与Vivado相关的错误(例如,除非降级至2017.2或更改MIO2-6拉动或修补FSBL,否则无法重新刷新主板的错误),但我不确定它们是否适用于您的情况。 / p>