You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Buildroot 2017.02将自定义Zynq PL比特流整合至MicroZed的boot.bin

嘿,我来帮你搞定这个把自定义PL比特流整合到Buildroot生成的boot.bin的问题,针对MicroZed和Buildroot 2017.02,步骤很清晰,跟着来就行:

1. 先准备好你的PL比特流文件

首先确保你已经通过Vivado生成了正确的比特流文件(通常命名为system_top.bit),把它放到Buildroot能轻松访问的路径——比如Buildroot根目录下的board/xilinx/microzed/目录,或者你自己创建的external/fpga/目录,这样后续配置时路径好写。

2. 进入Buildroot配置界面,设置基础平台选项

打开终端,进入Buildroot根目录,启动配置界面:

make menuconfig

然后完成这些基础配置:

  • 确认目标架构是Zynq:Target options -> Architecture (ARM (little endian)) -> Variant (Zynq 7000)
  • 启用U-Boot:Bootloaders -> [*] u-boot,选择Xilinx适配的U-Boot版本(Buildroot 2017.02里默认的u-boot-xilinx就适配Zynq)
  • 如果需要自定义U-Boot参数,可以勾选Bootloaders -> u-boot -> [*] Custom u-boot config fragment,添加你的配置片段,但默认的MicroZed配置通常足够用。
3. 配置Buildroot整合PL比特流到boot.bin

在配置界面里找到Xilinx Zynq options(一般在Target options或者System configuration菜单下),完成这两个关键设置:

  • 勾选[*] Include FPGA bitstream in boot.bin,开启PL比特流整合功能
  • 在Path to FPGA bitstream file中填入你存放比特流的路径,比如用相对路径$(TOPDIR)/board/xilinx/microzed/system_top.bit,或者直接写绝对路径,确保Buildroot能找到这个文件。
4. 确保Buildroot能调用Xilinx的bootgen工具

boot.bin是用Xilinx的bootgen工具生成的,所以要保证Buildroot能找到它:

  • 如果你的主机已经安装了Xilinx SDK,Buildroot会自动检测到bootgen;如果没装,你可以在Toolchain -> External toolchain里指定Xilinx官方的交叉编译工具链,或者手动把bootgen所在路径加到系统PATH里。
  • 另外在Xilinx Zynq options里,你可以确认U-Boot image path默认指向Buildroot生成的output/images/u-boot.elf,这个不用改,Buildroot会自动处理。
5. 编译生成包含PL的boot.bin

保存配置并退出后,执行编译命令:

make

Buildroot会先编译U-Boot(包括生成FSBL——第一阶段启动加载器),然后调用bootgen把FSBL、U-Boot.elf和你的PL比特流打包成output/images/boot.bin。

验证最终的boot.bin

编译完成后,去output/images/目录找到生成的boot.bin,可以用bootgen反解析它来确认PL比特流已经被整合进去:

bootgen -image boot.bin -dump boot_dump.txt

打开boot_dump.txt,你就能看到里面包含的各个组件信息,其中就有你的PL比特流条目。

内容的提问来源于stack exchange,提问作者edj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:50:24