本文作者:AMD 工程师 Narasimha Murthy Pandrapragada
本篇博客演示了在 ZCU208 评估板和 ZCU216 评估板中通过运行简单的 RFDC 示例来快速检查 RFDC IP 初始化的过程。它使用“rfdc-read-write”和“rfdc-seftest”,但不限制用户实现自己的应用程序。
本篇博客焦点并非基于 RFDC IP 的硬件设计,您可以用 RFDC IP 的任意示例设计来构建此设计。
您需要使用从 AMD Vivado™ Design Suite 设计导出的 XSA 文件。
工具和系统设置
来自 AMD Vivado 的 XSA 文件
PetaLinux 工具(与 Vivado 生成的 XSA 版本相同)
ZCU208/ZCU216/ZCU670
对应的开发板 BSP
开发板 BSP 下载 对应的开发板 BSP 可以从“AMD Zynq™ UltraScale+™ MPSoC 板级支持包”网页下载,网页链接如下: PetaLinux 构建流程 本文中并不探讨 PetaLinux 工具安装和如何启用该工具。在 UG1144 中涵盖了这些信息。 UG1144:https://docs.amd.com/r/en-US/ug1144-petalinux-tools-reference-guide 1. 使用以下命令创建 PetaLinux 工程: 2. 创建工程后,将其移入工程目录内: cd <xilinx-zcu208-2024.1> 3. 需要将 Vivado 流程创建的定制 XSA 替换为开发板 BSP 中随附的现有 XSA: 4. 修改 rootfs 根文件系统以支持 RFDC 应用程序: petalinux-config 进入“Image Packaging Configuration”(镜像封装配置)
petalinux-create -t project -s <required Board BSP>
示例:
对于 ZCU208 评估板: petalinux-create -t project -s xilinx-zcu208-v2024.2-11110212.bsp
petalinux-config --get-hw-description=<path of the new created XSA>/design_1_wrapper.xsa
选择以下选项,将镜像名称修改为“petalinux-image-minimal”。
5. 要启用或禁用示例应用程序,请执行以下命令:
petalinux-config -c rootfs
进入“User packages”(用户的程序包)后,可以看到其中列出的应用程序,请从菜单中选择所需的示例。在本教程中,我们选择的是“rfdc-read-write”和“rfdc-selftest”。
6. 构建 PetaLinux 工程:
petalinux-build
开发板初始化 完成 PetaLinux 构建后,在“xilinx-zcu208-2024.1/images/linux”文件夹内会包含结果 。 有两个流程可用于将生成的文件烧录到开发板上。其一是 SD 卡模式,其二是 JTAG 模式。 1. 要从 SD 卡启动 PetaLinux,需要以下三个来自“xilinx-zcu208-2024.1/images/linux”路径的文件
SD 卡启动:
BOOT.BIN
boot.scr
image.ub
2. 默认情况下,PetaLinux 构建不会生成 BOOT.BIN 文件。要生成 BOOT.BIN 文件,需使用以下命令: JTAG 启动: 在 petalinux-boot jtag 工作流程中,在实体开发板上使用 JTAG 线缆连接来下载和启动镜像:
petalinux-package --boot --fsbl images/linux/zynqmp_fsbl.elf --pmufw images/linux/pmufw.elf --fpga images/linux/system.bit --u-boot --force
petalinux-boot --jtag --fpga --kernel --hw_server-url <servername>:3121
运行应用
1. 成功启动后,使用以下方法登录 PetaLinux:
用户名:petalinux
系统会出现两次提示,要求您创建新密码,您可以创建自己的密码。
2. 使用“sudo su”命令切换为管理员以运行应用程序。
3. 您可以运行“rfdc-read-write”应用程序
4. 运行“rfdc-selftest”应用程序时,结果如下所示:
结论
在本文中,我们探讨了如何使用可用的 RFSoC 开发板通过 PetaLinux 运行 RFDC IP 示例应用程序来检查 RFDC IP 状态。