当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]meta-xilinx 生成的默认 boot.scr 使用了 bootm 命令,该命令需要一个 FIT 图像(image.ub)或 uImage。由于我们已将 Yocto 配置为构建 zImage,U-Boot 能够加载它,但不知道如何执行(zImage 需要 bootz 命令)。

我们使用的是 Ubuntu 24.04.4,已安装 Vitis/Vivado 2025.2。

创建一个工作区并克隆所需的仓库:

为电路板创建自定义层:

现在,您在 /home/mammad/yocto-zynq/build/conf 中的 bblayers.conf 应该如下所示:

将 bblayers.conf 修改为:

meta-xilinx 生成的默认 boot.scr 使用了 bootm 命令,该命令需要一个 FIT 图像(image.ub)或 uImage。由于我们已将 Yocto 配置为构建 zImage,U-Boot 能够加载它,但不知道如何执行(zImage 需要 bootz 命令)。

在 meta-custom-zynq/recipes-bsp/custom-boot-script/files 目录下创建 boot.cmd 文件,内容如下:

在 /recipes-bsp/custom-boot-script 目录下创建 Yocto 配方,命名为 custom-boot-script.bb,然后添加以下内容:

创建自定义机器配置文件:

在 meta-custom-zynq/conf/machine 中创建 custom-zynq.conf,内容如下:

编辑 /home/mammad/yocto-zynq/build/conf 中的 local.conf 文件,找到包含 MACHINE ??= "qemux86-64" 的行,并将其更改为:

MACHINE ?= "custom-zynq"

滚动到文件底部并添加:

ACCEPT_EULA = "1"

Ubuntu 24.04。作为安全增强措施,它默认禁用了非特权用户命名空间,而 BitBake 依赖此功能进行构建沙箱化,因此请在开始构建前重新启用该内核功能。

成功的 Yocto 构建会在 /yocto-zynq/buil/tmp/deploy/images/custom-zynq 中生成以下文件:

现在不是使用 Vitis 生成引导映像(BOOT.BIN)的合适时机。

Vitis -> 创建启动镜像 -> Zynq

输出 BIF 文件路径 /home/mammad/yoctoZynq/vitis/boot.bif

+ 文件路径 /home/mammad/yoctoZynq/vitis/fsbl.elf 类型:引导加载程序 -> 好的

+ 文件 /home/mammad/yoctoZynq/vitis/uC_dsgn_wrapper.bit 类型:数据文件 -> 确认

+ /home/mammad/yoctoZynq/build/tmp/deploy/images/zynqpatvaz/u-boot-.elf 类型数据文件 -> 好的

现在点击“创建图像”,你将在 /yocto-zynq/vitis 目录下获得 BOOT.bin 文件。

注意:fsbl.elf 和 uC_dsgn_wrapper.bit 由 Vitis 和 Vivado 生成。我们需要对 SD 卡进行两个分区的格式化:

•分区1(FAT32,引导文件):包含BOOT.BIN、boot.scr、zImage和zynq-zed.dtb。

•分区2(EXT4,根目录):包含 core-image-minimal-custom-zynq.rootfs.tar.gz 中提取的内容。

启动电路板:

•将SD卡插入您的主板。

•在您的计算机上打开一个串行终端,例如使用 Putty 连接到板子的 COM 端口(波特率 115200)。

•你应该看到自定义-zynq 登录:

•输入 root 并按回车,你将看到类似 root@custom-zynq:~# 的命令提示符。

你可以通过电路板上的LED来测试其开关功能。

首先运行此命令以查找分配给 Zyqn PS GPIO 的基数值:

我们看到基础PS GPIO编号是517,而ZedBoard的LED引脚是MIO7。要打开LED,请运行以下命令:

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭