ZYNQMP Linux下快速更新FPGA程序的方法
版权申诉
5星 · 超过95%的资源 132 浏览量
更新于2024-08-15
2
收藏 736KB PDF 举报
"这篇文章主要介绍了如何在Linux系统中对ZYNQMP的PL程序进行在线更新,无需断电重启板卡。ZYNQMP的BIT镜像文件较大,通过仿真器下载到QSPI Flash的时间较长,因此在线更新方法对于项目研发和功能调试更为便捷。更新过程涉及到对UBoot、内核以及根文件系统的脚本文件的修改,并且讲解了如何在Vivado不同版本下生成BIN格式的PL程序文件。"
在基于ZYNQMP的嵌入式系统中,PL(Programmable Logic)部分的更新通常需要重新编程整个BOOT.bin文件,这会消耗大量时间。然而,通过Linux系统内部的在线更新机制,我们可以直接修改PL部分的bit文件,从而减少更新时间和提高效率。这个方法的关键在于理解ZYNQMP的存储介质镜像文件空间分配,如表1所示:
1. QSPI NorFlash:存放FSBL(FPGA System Boot Loader)、PMU固件、BL31(TrustZone相关固件)和U-Boot固件。
2. EMMC(SD0):
- mmcblk0p1:内核Image、设备树devicetree.dtb以及用于PL在线更新的pl_system.bit.bin。
- mmcblk0p2:根文件系统rootfs.ext4。
- mmcblk0p3:其他应用参数,可按需挂载。
在更新过程中,我们只需关注emmc的mmcblk0p1分区,即pl_system.bit.bin文件。一旦生成新的PL配置,可以直接在Linux环境中挂载emmc分区并替换旧的bin文件,从而实现PL程序的即时更新。
为了生成适应在线更新的bin格式PL文件,Vivado 2018.3之前需要使用bootgen工具进行转换,而从Vivado 2018.3版本开始,可以直接在Vivado中生成bin文件。
更新流程包括以下几个步骤:
1. UBoot源码修改:在UBoot的arm架构目录下,可能需要修改源码以支持新的PL更新机制。这可能涉及到添加或调整与PL更新相关的命令或函数。
2. 内核修改:可能需要更新内核驱动以识别和处理新的PL程序,确保在加载时能正确读取和应用更新的bin文件。
3. 根文件系统脚本修改:创建或修改启动脚本来执行PL更新过程,包括卸载和安装新的PL程序,以及处理可能的权限和校验问题。
基于ZYNQMP的Linux系统通过这种方式实现了PL程序的灵活更新,大大提高了开发和调试的效率。理解并掌握这一方法,对于从事ZYNQMP平台的开发人员来说,能够有效提升工作效率并简化系统维护。
2019-07-16 上传
2018-02-04 上传
2022-04-26 上传
2022-02-17 上传
点击了解资源详情
2023-01-20 上传
2022-06-29 上传
2022-01-12 上传
少林and叔叔
- 粉丝: 7458
- 资源: 128
最新资源
- 行业分类-设备装置-用于讲桌的粉笔收纳器.zip
- 计算机软件-编程源码-酒店管理系统之客房管理系统.zip
- http-and-websocket:两个独立的服务器使用 http 以一种方式发送消息,并使用 websocket 向客户端提供数据
- Evoke:Api Google云端硬盘和Java
- VB仿的Power Point幻灯片播放软件
- BST_javaBST_https://bst.91_bstcom_
- 行业分类-设备装置-承重墙体开设门窗洞口结构及其施工工艺.zip
- 一款临时可以修改软件标题录课不告诉别人软件名字的exe软件.rar
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- 在线考试系统【前后端分离版】
- liri:HTML模板-2个带有Materialize和Stylus的材质设计
- 毕业答辩实用型论文答辩PPT模板--七芒星论文答辩系列.zip毕业答辩模板打包下载
- auto-mock-server:一个简单的模拟服务器,以最少的配置读取和公开资源
- 行业分类-设备装置-大负载周向均布闭环剪叉式升降平台.zip
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- 批量重命名软件16.0碾压市面上90%“批量改名、批量重命名软件.rar