【问题标题】:Zynq Qspi BootingZynq Qspi 引导
【发布时间】:2015-01-27 07:15:11
【问题描述】:

我正在使用 Arm DS-5 和 Xilinx SDKZynq 板上开发程序。 我正在尝试从 Qspi Flash 启动 Zynq 702 板。 到目前为止,我所做的是从 Xilinx SDK 生成 FSBL 项目,并使用 SDK 中的 Bootgen 工具将其与我的应用程序结合,然后将其编程到闪存中。 我有几个问题。

  • DS-5 生成一个 .axf 文件,Bootgen 需要一个 .elf 文件。我可以用吗 .axf 文件只需将其扩展名更改为 .elf 还是我需要 还有一些步骤?
  • 是否有显示 .axf 文件内部结构的工具? 显示什么在哪里?
  • 如果我设法从 QSPI 引导,我该如何调试。例如我想从 FSBL 开始调试我的应用程序,可以吗?因为在 Qspi Boot 中,当我打开电路板电源时,我的应用程序将开始运行,当我连接 JTAG 时,它会在我的应用程序的某个位置。

【问题讨论】:

    标签: arm boot zynq


    【解决方案1】:

    一个 AXF 可能有一些额外的 ARM 工具链魔法(我不确定),但本质上它是一个 ELF 文件 - ARM 工具链提供 fromelf 用于在其中四处寻找,但其他工具像 readelfobjdump 也可以。

    我不熟悉 Zynq 平台,所以我不知道任何特定的调试器技巧,但一般来说就是在代码开头放置一个无限循环(必要时可能使用 volatile 或内联 asm 技巧以防止优化) - 一旦调试器连接并进入其中,您只需将 PC 移过循环并继续。

    【讨论】:

      【解决方案2】:

      您可以通过 JTAG 完全停止由 QSPI 引导的 Zynq,然后用它做任何您想做的事情。但是,有一些怪癖。有时 Zynq 会进入某种锁定状态,而 JTAG 根本不起作用,您需要在重试之前重新上电。通过 JTAG 启动软件后,一些写得不太好的外设可能会死掉,因此您可能需要先重新加载比特流。还有一些与 Vivado 相关的错误(例如,除非您降级到 2017.2 或更改 MIO2-6 拉动或修补 FSBL,否则您无法重新刷新电路板)但我不确定它们是否适用于您的情况。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-08
        • 2023-03-23
        • 2015-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多