如何为自定义 Zynq FPGA 比特流调整 buildroot

How to adapt buildroot for a custom Zynq FPGA bitstream

我将 buildroot 2017.02 用于带有 Xilinx 内核和 U-Boot 的 MicroZed 板目标。 Zynq 可编程逻辑 (PL) 比特流文件将由我使用 Vivado 自定义构建。 PL 必须与 u-boot 映像一起合并到位于目标 SD 卡上的 boot.bin 文件中。

如何配置 buildroot 将我自己的 PL 位流文件合并到 boot.bin?

注意:我想 boot.bin 文件是由 U-Boot 构建过程生成的。

U-Boot 构建过程无法生成 full-fledged boot.bin。它只能将自己的 SPL(和一个 PMUFW,放在 ZynqMP 上)。

有几种方法可以加载比特流。一些选项,从最简单到最难:

  1. 将比特流存储在单独的文件或单独的闪存地址中 并让 U-Boot 使用 fpga load 命令加载它
  2. 将比特流存储在单独的文件中并从 Linux 加载它 (cat bitstream.bit > /dev/xdevcfg);但确保在 之前完成此操作 探测 FPGA 中设备的驱动程序
  3. 使用 https://github.com/antmicro/zynq-mkbootimage 生成 boot.bin, "an open source replacement of the Xilinx's bootgen application".
  4. 使用 Xilinx 的 bootgen。 不过,预计将其集成到任何构建过程中都会遇到麻烦。