ZYNQ 纯PL端逻辑资源程序固化流程

ZYNQ 纯PL端逻辑资源程序固化

ZYNQ的程序固化流程比传统的FPGA固化流程复杂很多,Vivado生成的bit文件无法直接固化在ZYNQ芯片中。因为ZYNQ 非易失性存储器的引脚(如 SD 卡、QSPI Flash)是 ZYNQ PS 部分的专用引脚。这些非易失性存储器由 PS 的 ARM 处理器进行驱动,因此需要将 bit 流文件和 elf 文件(软件程序的下载文件)合成一个 BOOT.BIN,才能进行固化。

本文以按键控制LED亮灭的程序为例,将代码固化至开发板上的QSPI FLASH中。

  • 硬件平台:正点原子领航者 ATK-DF7020P
  • 软件平台:Vivado 2020.2
  1. 正常的开发流程将可综合的RTL代码编写完成,确定代码功能正确。本例中只有一个模块。
    在这里插入图片描述

  2. 点击侧边栏PROJECT MANAGER-IP INTEGRATER-Create Block Design选项
    在这里插入图片描述

  3. 在弹出的窗口中输入合适的名称,如system,随后点击OK
    在这里插入图片描述

  4. 点击Diagram窗口中的按钮
    在这里插入图片描述

  5. 在弹出的窗口中找到ZYNQ7 Processing System,回车选择
    在这里插入图片描述

  6. 双击出现的ZYNQ处理器模块
    在这里插入图片描述

  7. 由于纯PL端的开发不涉及与ZYNQ处理器的通信,不需要使用到AXI总线,因此需要将总线接口关闭。
    在这里插入图片描述

  8. 因为打开IP核界面,按下图所示配置SPI FLASH外设。因为程序是固化在FLASH中的,因此,必须要对其进行配置。
    在这里插入图片描述

  9. 然后配置DDR3。根据板载的DDR芯片选择相应的型号,本例选择的是MT41K256M16 RE-125
    在这里插入图片描述

  10. 点击OK结束配置

  11. 点击Source,右键需要固化的模块,选择Add Module to Block Design,或者直接左键按住模块名称,拖入中间图形化界面中。
    在这里插入图片描述

  12. 点击Run Connection Automation进行自动连线
    在这里插入图片描述

  13. 在弹出的界面中,勾选需要自动连线的模块,确认时钟源为ZYNQ FCLK端口提供的50MHZ时钟
    在这里插入图片描述

  14. 完成后的界面如下
    在这里插入图片描述

  15. 选择需要引出的端口,右键端口选择Make External选项
    在这里插入图片描述

  16. 全部完成后,点击Run Block Automation
    在这里插入图片描述

  17. 弹出的窗口直接点击OK
    在这里插入图片描述

  18. 点击红框中的按钮进行验证,如果出现绿色框中的弹窗,说明验证正确。如果出现错误请检查连线。
    在这里插入图片描述

  19. 右键Sources中的Design Block文件,选择Generate Output Products选项
    在这里插入图片描述

  20. 直接点击generate
    在这里插入图片描述

  21. 完成后,右键Sources中的Design Block文件,选择Create HDL Wrapper选项
    在这里插入图片描述

  22. 保持默认,点击OK
    在这里插入图片描述

  23. 出现顶层文件后,按常规操作进行引脚分配
    在这里插入图片描述

  24. 分配完成后,关闭Elaborated Design界面,按常规流程生成bit文件。随后点击File-Export-Export Hardware选项
    在这里插入图片描述

  25. 选择Include bitstream选项
    在这里插入图片描述

  26. 选择合适的导出位置和导出的文件名,默认也可。点击Finish结束
    在这里插入图片描述

  27. 之后打开Vitis。选择合适的文件夹,新建应用程序
    在这里插入图片描述

  28. 点击Create a new platform from hardware,找到刚才导出的文件
    在这里插入图片描述

  29. 为工程命名,本例为FSBL
    在这里插入图片描述

  30. 保持默认
    在这里插入图片描述

  31. 选择Zynq FSBL模板
    在这里插入图片描述

  32. 直接右键应用工程名,点击Bulid Project
    在这里插入图片描述

  33. 左键单击系统工程名后,点击Xilinx-Create Boot Image
    在这里插入图片描述

  34. 会弹出以下窗口,检查无误后,点击Create Image。如果没有自动填充文件,则说明没有点击系统工程名。如果显示找不到elf文件,说明没有编译,需要先Bulid Project
    在这里插入图片描述

  35. 生成成功后,点击Xilinx-Program Flash
    在这里插入图片描述

  36. 将JTAG和电路板相连,确保ZYNQ芯片启动模式处于JTAG模式。电路板上电后,点击Program。蓝色框中的选项,可选可不选。
    在这里插入图片描述

  37. 写入完成后,电路板断电,断开JTAG,将ZYNQ启动模式调整为QSPI模式后,重新上电就能看到固化成功后的效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/78990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[计算机科学#6]:从锁存器到内存,计算机存储的构建与原理

【核知坊】:释放青春想象,码动全新视野。 我们希望使用精简的信息传达知识的骨架,启发创造者开启创造之路!!! 内容摘要:在上一篇文章中,我们深入了解了计算机如…

如何删除Google Chrome中的所有历史记录【一键清除】

谷歌浏览器记录了用户访问过的网站。这方便了查找,但有时也需要清理。删除所有历史记录很简单,只要按照以下步骤操作。 1. 打开谷歌浏览器 首先要启动谷歌浏览器。点击右上角的三个点,进入主菜单。 2. 进入历史记录界面 在菜单中找到“历史…

关于浏览器对于HTML实体编码,urlencode,Unicode解析

目录 HTML实体编码 URL编码 Unicode编码 解析层次逻辑 为什么<script></script>不可以编码符号 为什么不能编码JavaScript:协议 为什么RCDATA标签中的都会被解析成文本 为什么HTML编码了<>无法执行 HTML实体编码 通过特殊语法&#xff08;<、>…

【数据分享】2020年中国高精度森林覆盖数据集(免费获取)

森林作为全球陆地生态系统的主体&#xff0c;分布面积广、结构复杂&#xff0c;承担着调节气候、维护生态安全、改善环境等方面的重要作用。我国的森林资源丰富&#xff0c;据《中国森林资源报告&#xff1a;2014—2018》统计&#xff0c;我国森林覆盖率已经达到23.04%。森林覆…

C语言学习之动态内存的管理

学完前面的C语言内容后&#xff0c;我们之前给内存开辟空间的方式是这样的。 int val20; char arr[10]{0}; 我们发现这个方式有两个弊端&#xff1a;空间是固定的&#xff1b;同时在声明的时候必须指定数组的长度&#xff0c;一旦确定了大小就不能调整的。 而实际应用的过程中…

【深度学习-Day 2】图解线性代数:从标量到张量,理解深度学习的数据表示与运算

Langchain系列文章目录 01-玩转LangChain&#xff1a;从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块&#xff1a;四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain&#xff1a;从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…

首页数据展示

排版 现在做首页的排版&#xff0c;依旧是偷antd里面的东西 使用card包裹list的样式 import React from react import axios import { Card, Col, Row, List } from antd import { EditOutlined, EllipsisOutlined, SettingOutlined } from ant-design/icons; import { Avat…

使用Set和Map解题思路

前言 Set和Map这两种数据结构,在解决一些题上&#xff0c;效率很高。跟大家简单分享一些题以及如何使用Set和Map去解决这些题目。 题目链接 136. 只出现一次的数字 - 力扣&#xff08;LeetCode&#xff09; 138. 随机链表的复制 - 力扣&#xff08;LeetCode&#xff09; 旧…

尝试leaflet+webassemly

前言 笔者在github发现rust版本的leaflet&#xff0c;发现是用wasm-bindgen包装的&#xff0c;尝试使用一下 Issues slowtec/leaflet-rshttps://github.com/slowtec/leaflet-rs 正文 准备 新建一个react项目&#xff0c;安装rsw依赖 pnpm i -D vite-plugin-rsw cargo ins…

机器学习实战,天猫双十一销量与中国人寿保费预测,使用多项式回归,梯度下降,EDA数据探索,弹性网络等技术

前言 很多同学学机器学习时总感觉&#xff1a;“公式推导我会&#xff0c;代码也能看懂&#xff0c;但自己从头做项目就懵”。 这次我们选了两个小数据集&#xff0c;降低复杂度&#xff0c;带大家从头开始进行分析&#xff0c;建模&#xff0c;预测&#xff0c;可视化等&…

SQL数据库系统全解析:从入门到实践

一、数据库世界入门指南 在数字时代&#xff0c;数据就像新时代的石油&#xff0c;而数据库系统就是储存和管理这些宝贵资源的仓库。对于初学者来说&#xff0c;理解数据库的基本概念是迈入这个领域的第一步。 数据库本质上是一个有组织的数据集合&#xff0c;它允许我们高效…

【大模型】图像生成:StyleGAN3:生成对抗网络的革命性进化

深度解析StyleGAN3&#xff1a;生成对抗网络的革命性进化 技术演进与架构创新代际技术对比StyleGAN3架构解析 环境配置与快速入门硬件要求安装步骤预训练模型下载 实战全流程解析1. 图像生成示例2. 自定义数据集训练3. 潜在空间操作 核心技术深度解析1. 连续信号建模2. 傅里叶特…

PHP-Cookie

Cookie 是什么&#xff1f; cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时&#xff0c;这台计算机将会发送 cookie。通过 PHP&#xff0c;您能够创建并取回 cookie 的值。 设置Cookie 在PHP中&#xff0c;你可…

“Everything“工具 是 Windows 上文件名搜索引擎神奇

01 Everything 和其他搜索引擎有何不同 轻量安装文件。 干净简洁的用户界面。 快速文件索引。 快速搜索。 快速启动。 最小资源使用。 轻量数据库。 实时更新。 官网&#xff1a;https://www.voidtools.com/zh-cn/downloads/ 通过网盘分享的文件&#xff1a;Every…

CSS:选择器-基本选择器

文章目录 1、通配选择器2、元素选择器3、类选择器4、ID选择器 1、通配选择器 2、元素选择器 3、类选择器 4、ID选择器

一种动态分配内存错误的解决办法

1、项目背景 一款2年前开发的无线网络通信软件在最近的使用过程中出现网络中传感器离线的问题&#xff0c;此软件之前已经使用的几年了&#xff0c;基本功能还算稳定。这次为什么出了问题。 先派工程师去现场调试一下&#xff0c;初步的结果是网络信号弱&#xff0c;并且有个别…

React 第三十四节 Router 开发中 useLocation Hook 的用法以及案例详解

一、useLocation基础用法 作用&#xff1a;获取当前路由的 location 对象 返回对象结构&#xff1a; {pathname: "/about", // 当前路径search: "?namejohn", // 查询参数&#xff08;URL参数&#xff09;hash: "#contact", …

DeepSeek-Prover-V2-671B最新体验地址:Prover版仅适合解决专业数学证明问题

DeepSeek-Prover-V2-671B最新体验地址&#xff1a;Prover版仅适合解决专业数学证明问题 DeepSeek 团队于 2025 年 4 月 30 日正式在Hugging Face开源了其重量级新作 —— DeepSeek-Prover-V2-671B&#xff0c;这是一款专为解决数学定理证明和形式化推理任务而设计的超大规模语…

tornado_登录页面(案例)

目录 1.基础知识​编辑 2.脚手架&#xff08;模版&#xff09; 3.登录流程图&#xff08;processon&#xff09; 4.登录表单 4.1后&#xff08;返回值&#xff09;任何值&#xff1a;username/password &#xff08;4.1.1&#xff09;app.py &#xff08;4.1.2&#xff…

Android学习总结之自定义view设计模式理解

面试题 1&#xff1a;请举例说明自定义 View 中模板方法模式的应用 考点分析 此问题主要考查对模板方法模式的理解&#xff0c;以及该模式在 Android 自定义 View 生命周期方法里的实际运用。 回答内容 模板方法模式定义了一个操作的算法骨架&#xff0c;把一些步骤的实现延…