Zynq-7000 SOC动态加载PL文件:Linux下FPGA Manager与xdevcfg驱动
43 浏览量
更新于2024-08-03
1
收藏 364KB PDF 举报
“xilinx zynq PL(编程逻辑) 动态加载实现”
在Xilinx Zynq-7000 System-on-Chip (SoC) 的应用中,编程逻辑(PL)的加载有三种常见方法。这些方法针对不同的使用场景,从调试到稳定版本的部署,各有特点。
1. Fsbl加载:
这种方法通过Xilinx SDK加载.bit文件,利用Xilinx的编程流程来更新FPGA。这种方式适用于开发阶段的调试,但其缺点是电源断开后,加载的信息会丢失。
2. U-boot加载:
在这个方法中,通过Petalinux工具,将.bit文件整合到BOOT.BIN文件中,然后通过SD卡或闪存启动加载。这种方式通常用于生产稳定版本的系统烧录,但由于涉及的步骤较多,相对复杂。
3. Linux动态加载:
这是最便捷且适用于调试的方法。在Linux系统运行时,可以动态地加载.bit文件。自Vivado 2018.1版本起,Xilinx引入了FPGA Manager驱动来替代xdevcfg驱动,使得在Linux环境下加载PL文件更为简便。
以下重点介绍Linux动态加载的方式:
首先,我们需要一个特定的硬件和软件环境,如Zynq-7000 SoC、Xilinx SDK、Ubuntu 16.04操作系统以及Petalinux 2018工具链。
1. 内核配置:
在Petalinux环境中,需要配置内核以便支持FPGA Manager驱动。这可以通过运行`petalinux-config -c kernel`命令进入配置界面进行设置。
2. 设备树配置:
检查设备树配置文件(例如`zynq-7000.dtsi`),确保没有包含devcfg的设备树节点,因为我们将使用FPGA Manager。
3. bootgen工具:
使用bootgen工具生成加载所需的文件。在Ubuntu中,创建一个bootgen目录,编写`bootgen.bif`配置文件,然后执行bootgen命令生成`system_top_wrapper.bit.bin`文件。值得注意的是,bootgen命令必须在Petalinux 2018环境下运行,不适用于Windows或早期版本的Petalinux。
4. Linux系统中的PL文件加载:
- Petalinux 2018系统:
将`system_top_wrapper.bit.bin`文件复制到Linux文件系统中,并创建一个名为`loadPL.sh`的脚本来执行加载操作。这个脚本通常包括调用FPGA Manager驱动的命令,以加载新的.bit文件。
- Petalinux 2014系统:
对于2014版本的Petalinux,加载流程基本相同,但也需要将生成的文件复制到系统并创建相应的加载脚本。
动态加载PL文件在Linux系统中提供了灵活性,使得开发者能够在不重启系统的情况下更新FPGA配置,这对于调试和测试新的设计更改非常有利。同时,它简化了流程,提高了工作效率。
2022-04-26 上传
2018-04-10 上传
154 浏览量
2021-05-13 上传
2021-05-31 上传
2022-07-14 上传
2018-06-05 上传
我若成精
- 粉丝: 42
- 资源: 10
最新资源
- 掌握Jive for Android SDK:示例应用的使用指南
- Python中的贝叶斯建模与概率编程指南
- 自动化NBA球员统计分析与电子邮件报告工具
- 下载安卓购物经理带源代码完整项目
- 图片压缩包中的内容解密
- C++基础教程视频-数据类型与运算符详解
- 探索Java中的曼德布罗图形绘制
- VTK9.3.0 64位SDK包发布,图像处理开发利器
- 自导向运载平台的行业设计方案解读
- 自定义 Datadog 代理检查:Python 实现与应用
- 基于Python实现的商品推荐系统源码与项目说明
- PMing繁体版字体下载,设计师必备素材
- 软件工程餐厅项目存储库:Java语言实践
- 康佳LED55R6000U电视机固件升级指南
- Sublime Text状态栏插件:ShowOpenFiles功能详解
- 一站式部署thinksns社交系统,小白轻松上手