基于Vivado工程生成PL设备树文件和动态加载PL程序

需积分: 48 32 下载量 55 浏览量 更新于2024-07-16 3 收藏 1.51MB PDF 举报
在 Linux 系统下,对于 Zynq PL 端的开发,可以通过动态加载 PL 端程序、PL 设备树的方法对其进行配置。PL 端设备树文件 xxx.dtsi 的生成,需要依赖于 Vivado 工程的 xxx.hdf 硬件描述文件和 Xilinx 设备树源码。 本文将讲解生成、编译 PL 端设备树文件,以及动态加载 PL 端程序和 PL 设备树的方法。 知识点 1:PL 端设备树文件生成 PL 端设备树文件 xxx.dtsi 的生成,需要依赖于 Vivado 工程的 xxx.hdf 硬件描述文件和 Xilinx 设备树源码。Vivado 工程的 xxx.hdf 硬件描述文件是 PL 端设备树文件生成的基础,Xilinx 设备树源码则提供了 PL 端设备树文件的结构和格式。 知识点 2:Vivado 工程硬件描述文件的导出 在 Vivado 工程中,需要将硬件描述文件 xxx.hdf 导出,以便用于 PL 端设备树文件的生成。导出硬件描述文件的方法是,点击 Vivado 的菜单栏 "File->Export",然后选择 "Export Hardware",并选择需要导出的硬件描述文件 xxx.hdf。 知识点 3:device-tree-xlnx 的导入 在生成 PL 端设备树文件之前,需要将 device-tree-xlnx 导入到 Vivado 工程中。device-tree-xlnx 是 Xilinx 提供的设备树源码,用于生成 PL 端设备树文件。导入 device-tree-xlnx 的方法是,点击 Vivado 的菜单栏 "Tools->Device Tree",然后选择 "Import Device Tree",并选择需要导入的 device-tree-xlnx。 知识点 4:PL 端设备树文件的生成 PL 端设备树文件 xxx.dtsi 的生成,需要依赖于 Vivado 工程的 xxx.hdf 硬件描述文件和 Xilinx 设备树源码。在生成 PL 端设备树文件之前,需要将 Vivado 工程的 xxx.hdf 硬件描述文件和 device-tree-xlnx 导入到 Vivado 工程中。然后,点击 Vivado 的菜单栏 "Tools->Device Tree",然后选择 "Generate Device Tree",并选择需要生成的 PL 端设备树文件 xxx.dtsi。 知识点 5:PL 端设备树文件的编译 PL 端设备树文件 xxx.dtsi 需要编译,以便用于动态加载 PL 端程序和 PL 设备树。编译 PL 端设备树文件的方法是,使用 DTC(Device Tree Compiler)工具将 xxx.dtsi 文件编译成 xxx.dtb 文件。 知识点 6:动态加载 PL 端程序和 PL 设备树 PL 端程序和 PL 设备树可以通过动态加载的方式进行配置。动态加载 PL 端程序和 PL 设备树的方法是,使用 Linux 系统的 insmod 命令将 xxx.ko 文件加载到内核中,然后使用 xxx.dtb 文件将 PL 设备树加载到系统中。 知识点 7:动态加载多个设备树 在某些情况下,需要动态加载多个设备树。动态加载多个设备树的方法是,使用 Linux 系统的 insmod 命令将多个 xxx.ko 文件加载到内核中,然后使用多个 xxx.dtb 文件将多个设备树加载到系统中。