ZHDA251 July   2026 AFE7900 , AFE7901 , AFE7903 , AFE7906 , AFE7950 , AFE7950-SP , AFE7951 , AFE7953 , AFE7954 , AFE7955 , AFE7958

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2Linux 内核驱动程序
    1. 2.1 使用 PetaLinux Tools 的 Linux 内核驱动程序
    2. 2.2 使用 Yocto Project 的 Linux 内核驱动程序
      1. 2.2.1 Yocto Project 概述
      2. 2.2.2 主机系统要求
      3. 2.2.3 设置 Yocto 构建环境
      4. 2.2.4 配置板卡专用层
      5. 2.2.5 集成 AFE79xx Yocto 层
      6. 2.2.6 验证集成
      7. 2.2.7 故障排查
    3. 2.3 准备 Linux 引导映像
    4. 2.4 从用户空间运行 AFE79xx 器件
  6. 3在应用层构建 AFE79xx SDK
    1. 3.1 使用 PetaLinux Tools 构建不含 AFE79xx SDK 的 Linux 内核
    2. 3.2 在用户空间中集成 SPI 与 AFE79xx
  7. 4面向 ZCU102 FPGA 的参考设计(含处理器和 SPI)
    1. 4.1 配置 Zynq 处理器
    2. 4.2 配置 SPI 接口
    3. 4.3 生成硬件描述
    4. 4.4 使用 SD 卡引导 ZCU102 板
  8. 5总结
  9. 6参考资料

使用 PetaLinux Tools 构建不含 AFE79xx SDK 的 Linux 内核

本节介绍为 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”

 构建依赖项的 RootFs 配置菜单图 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 卡进行分区,将引导映像和根文件系统复制到相应分区,并准备可引导介质。