ZHDA251 July 2026 AFE7900 , AFE7901 , AFE7903 , AFE7906 , AFE7950 , AFE7950-SP , AFE7951 , AFE7953 , AFE7954 , AFE7955 , AFE7958
本节介绍为 ZCU102 板构建不含 AFE79xx 驱动程序的标准 Linux 内核,为用户空间驱动程序方法建立基础系统。由于 AFE79xx SDK 将在后续章节中编译并部署为用户空间应用程序,因此内核构建不需要驱动程序定制修改或 AFE79xx 特定配置。生成的内核映像仅包含通用 SPI 设备驱动程序 (spidev) 和标准 ZCU102 板支持,为用户空间 AFE79xx SDK 的运行提供基础。该方法简化了内核管理,并使 AFE79xx 驱动程序能够独立于内核进行开发、更新和部署。
AFE79xx SDK 需要通过 SPI 接口与器件通信。第 5 节介绍了为 ZCU102 FPGA 添加处理器和 SPI 的参考设计。我们可以完全按照该节步骤生成 .xsa 和 .bit。
按照以下步骤构建不含 AFE79xx 驱动程序的内核。其中仅包含配置 AFE79xx 所需的 SPI:
第 1 步:在 Linux 终端上,运行以下命令创建一个 PetaLinux 项目
petalinux-create -t project -n <Project_Name> -s <path to BSP>第 2 步:将目录更改为项目文件夹 <Project_Name> 并运行以下命令
petalinux-config –get-hw-description <path to XSA>第 3 步:使用以下命令配置内核
petalinux-config -c kernel此时将打开配置菜单。导航至“Device drivers”->“SPI support”并启用选项 Cadence SPI、Xilinx SPI、Xilinx Zynq QSPI 和 User mode SPI device driver。
图 3-1 内核配置菜单第 4 步:使用以下命令配置根文件系统
petalinux-config -c rootfs此时将打开 RootFs 配置菜单。要启用 GCC 编译器,导航至“Filesystem packages”->“misc”->“packagegroup-core-buildessential”,在其下选择“packagegroup-core-buidessential”和“packagegroup-core-buidessential-dev”
图 3-2 构建依赖项的 RootFs 配置菜单第 5 步:必须更新器件树,以声明 AFE79xx 器件在 SPI 总线上,使内核能够识别并初始化硬件。在 PetaLinux 项目中,使用 system-user.dtsi 文件进行器件树定制修改。
转到器件树,通过编辑 path 中的 system-user.dtsi 文件,将 SPI 添加到器件树
<Project_Name>/project-spec/meta-user/recipes-bsp/device-tree/files/在器件树中,添加 SPI 从器件条目,如下所示:
图 3-3 器件树示例这将在启动后在 /dev 下创建一个名为“/dev/spidev1.0”的器件。
第 6 步:使用以下命令构建项目:
petalinux-build此过程可能需要 30-60 分钟,具体取决于您的主机系统性能。
第 7 步:使用以下命令打包文件
petalinux-package --boot --fsbl < Project_Name >/images/linux/zynqmp_fsbl.elf --fpga <path to bit file> --u-boot –force成功构建后,我们应拥有第 4.2 节所需的所有文件。我们可以严格按照第 4.2 节的步骤,对 SD 卡进行分区,将引导映像和根文件系统复制到相应分区,并准备可引导介质。