Zynq 7000 系列中成功执行BootROM的条件

Zynq 7000设备的启动需要正确的电压序列和I/O引脚控制。BootROM的流程由复位类型、启动模式引脚设置以及启动映像来控制。BootROM对所选启动设备的引脚连接有特定的要求。
Zynq 7000 SoC设备具有电源、时钟和复位要求,这些要求必须得到满足,才能成功执行BootROM。

1 电源要求

PS和PL的BootROM电源要求如表6-1所示。
在启动过程中,Zynq 7000的PS(处理系统)和PL(可编程逻辑)部分都需要特定的电源配置。BootROM的启动要求PS和PL的电源都正确配置,以确保系统能够正常启动。此外,对于时钟信号和复位操作也有严格的要求,这些都必须在启动过程中得到满足。
在这里插入图片描述
在BootROM执行的早期阶段,BootROM会检查PL是否已上电。如果PL没有上电,BootROM将继续执行。如果PL已上电,BootROM将启动清理周期(清理操作可能包括内存清理、寄存器设置、硬件初始化等,这些步骤对于确保系统的稳定性和可靠性至关重要)。BootROM会等待最多90秒让清理过程完成。如果在这段时间内清理没有完成,那么会发生安全锁定。

如果BootROM需要PL,它会等待最多90秒让PL上电。如果PL在这个时间范围内没有上电,那么系统将关闭,不会提供错误代码。

PL掉电序列包括停止使用PS和PL之间的所有信号、禁用电压电平移位器以及关闭PL的电源。

2 时钟与PLL

PS_CLK参考时钟被路由到设备的多个部分,包括三个PS时钟PLL。PS_CLK的频率会影响设备的启动时间。PLL会将PS_CLK倍频,为各种系统时钟模块生成高频时钟。在需要时,PLL可以被旁路,以便将PS_CLK频率直接传递到系统时钟模块。

如果PLL被启用,那么在启用PLL之前,PS_CLK必须稳定,并且在整个过程中都必须保持稳定。时钟频率必须在数据表指定的操作范围内。

如果PLL被旁路,PS_CLK可以以尽可能慢的速度切换,直至其额定输入频率。这可以用于单步启动过程、用软件控制时钟,或在低时钟频率下操作系统。在低时钟频率下操作系统可能会排除使用设备中的一些模块(例如,USB ULPI时钟的频率必须低于CPU_1x时钟)。

注意:在BootROM执行期间,所有速度等级规格的最大频率为500 MHz。

3 复位操作

3.1 系统复位

有两种类型的系统复位:POR和非POR。

POR复位会重置整个系统,包括所有寄存器。除了eFuse和BBRAM之外,所有状态都会丢失。

非POR复位会被记录在slcr.REBOOT_STATUS寄存器中。非POR复位也会导致BootROM执行,但BootROM会保留关于前一个启动的安全级别的知识,存储在devcfg.CTRL [SEC_EN]位中。

非POR复位的来源包括PS_SRST_B引脚和内部系统复位。

3.2 外部复位信号引脚

有两个外部复位引脚,PS_POR_B和PS_SRST_B:

PS_POR_B
唯一用于采样引导模式引脚捆绑电阻的复位。对于上电序列,PS_POR_B输入必须保持低电平,直到VCCPINT、VCCPAUX和VCCO_MIO0达到其最小工作电平,以确保PS eFUSE的完整性。

对于掉电序列,在VCCPINT达到0.80V之前,必须满足以下四个条件中的至少一个(条件必须保持为真,直到VCCPINT降至0.40V,以确保PS eFUSE的完整性):
①PS_POR_B输入被置为低电平,
②PS_CLK输入的参考时钟被禁用,
③VCCPAUX低于0.70V,
④VCCO_MIO0低于0.90V。

在最后一个PL电源开始上升时,PS_POR_B不得取消断言。在此窗口期间断言PS_POR_B可能导致锁定事件。

PS_SRST_B
用于强制系统复位。它可以被绑定或拉高,并且在PS电源上升期间可以保持高电平。PS_SRST_B复位是非POR复位。

在BootROM从POR复位执行时,不得断言PS_SRST_B信号,否则会发生锁定事件,阻止BootROM完成系统启动过程。要从这种类型的锁定中恢复,必须断言PS_POR_B复位。Boot ROM完成执行并移交给FSBL/用户应用程序所需的时间取决于多个因素。有关如何确定特定用户配置的启动时间的详细信息,请参阅“启动时间参考”。

3.3复位信号时序

启动设备所需的复位时序如图6-4所示。如果在BootROM执行期间断言PS_SRST_B,则会发生系统锁定,而不会生成错误代码。
在这里插入图片描述
3.4 内部复位

内部复位都是非POR复位。包括

• 软件控制复位:向slcr.PSS_RST_CTRL [SOFT_RST]写入1。

• 看门狗定时器:AWDT0、AWDT1和SWDT控制器。

• JTAG接口和调试。

4 引导模式引脚设置

有7个引导模式捆绑引脚,它们使用MIO引脚[8:2]在板上进行硬件编程。这些引脚在PS_POR_B去断言后不久由硬件采样,并将它们的值写入软件可读寄存器以供BootROM和用户软件使用。

板上的硬件必须将每个捆绑引脚MIO[8:2]连接到20kΩ的上拉或下拉电阻。模式引脚的编码如表6-4所示。上拉电阻表示逻辑1,下拉电阻表示逻辑0。
在这里插入图片描述
五个引脚BOOT_MODE[4:0]用于选择引导模式、JTAG链配置以及是否旁路PLL。这些引脚采样的值被写入slcr.BOOT_MODE的[BOOT_MODE]和[PLL_BYPASS]位字段。

另外两个引脚VMODE[1:0]用于选择两个MIO电压组的电压信号电平。这些引脚采样的值被写入slcr.GPIOB_DRVR_BIAS_CTRL的[RB_VCFG]和[LB_VCFG]位字段。VMODE设置由BootROM用于最初设置MIO_PIN_{53:00}寄存器以选择所选的I/O信号标准。VMODE[0]控制MIO引脚15:0,而VMODE[1]控制MIO引脚53:16。上拉使BootROM选择LVCMOS18。下拉选择LVCMOS33,它与LVCMOS25兼容。

FSBL/用户代码可以更改JTAG链、PLL和MIO引脚的I/O电压标准的初始引导模式设置,这些设置基于单个MIO引脚。

5 启动设备的I/O引脚连接

有些引脚连接是所有启动模式都必需的,而其他连接则取决于启动模式引脚捆绑和BootROM Header信息。在BootROM执行完毕后,用户代码可以根据需要重新配置I/O引脚连接。

对于所有启动配置,以下连接是必要的:
①PS电源供应
②PS_POR_B、PS_SRST_B和PS_CLK_B

对于特定的启动设备,MIO连接如下:
①Quad-SPI(自动检测1、2、4或8位接口)
②SD存储卡(SDIO 0,MIO引脚40-47)
③NAND(自动检测8或16位接口)
④NOR(CS 0)
⑤JTAG(PLJTAG接口),通常用于级联模式

这些连接确保了启动设备与处理器之间的正确通信和数据传输。例如,Quad-SPI接口用于高速读写和擦除数据,而SD存储卡接口则用于与SD卡进行数据交换。NAND和NOR接口分别用于连接不同类型的闪存芯片。JTAG接口则用于调试和编程。

在设计和配置这些连接时,需要仔细考虑引脚的功能和特性,以确保系统的稳定性和性能。同时,也需要注意不同启动模式可能需要不同的引脚连接配置,因此在实际应用中需要根据具体需求进行选择和调整。

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

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

相关文章

每日OJ题_DFS回溯剪枝⑦_力扣77. 组合

目录 力扣77. 组合 解析代码 力扣77. 组合 77. 组合 难度 中等 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,…

Oracle集群-常用查询及操作(工作日常整理)

1.Oracle集群状态 select * from gv$instance; 示例结果: 2.Oracle集群-增大表空间 常见问题: 导入时或使用时,提示无法extend table ,增加表空间即可 常用操作: 1)查询表空间 select * from dba_tablespaces; --…

数据结构——二叉树的顺序存储(堆)(C++实现)

数据结构——二叉树的顺序存储(堆)(C实现) 二叉树可以顺序存储的前提堆的定义堆的分类大根堆小根堆 整体结构把握两种调整算法向上调整算法递归版本 非递归版本向下调整算法非递归版本 向上调整算法和向下调整算法的比较 我们接着…

owasp top 10 越权漏洞·

指的是用户权限不明晰。 垂直越权:低权限用户,在无任何身份校验的情况下,能够使用高权 限(不属于自己)模块(功能),或访问高权限拥有的数据; 水平越权:指相同…

华为MRS服务使用记录

背景:公司的业务需求是使用华为的这一套成品来进行开发,使用中发现,这个产品跟原生的Hadoop的那一套的使用,还是有很大的区别的,现记录一下,避免以后忘了 一、原始代码的下载 下载地址:MRS样例…

UVa12313 A Tiny Raytracer

UVa12313 A Tiny Raytracer 题目链接题意分析AC 代码 题目链接 UVA - 12313 A Tiny Raytracer 题意 给出 《训练指南》题意翻译 本题的任务是实现一个小型光线追踪渲染器。场景由若干三角形网格(triangle mesh)组成,有且仅有一个点光源&…

R语言高级数据管理

一&#xff0c;数学函数 绝对值函数abs(x) sqrt(x) 开平方根 不小于某个数的最小整数ceiling(x) 不大于某个数的最大整数floor(x) 四舍五入round(x) sin(x) cos(x) log(x) 二&#xff0c;统计函数 求平均值 > x<-c(2,3,4,5,6,7,8,9,10) > mean(x) 求和 &g…

RustGUI学习(iced)之小部件(二):如何使用滑动条部件

前言 本专栏是学习Rust的GUI库iced的合集&#xff0c;将介绍iced涉及的各个小部件分别介绍&#xff0c;最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个&#xff0c;目前处于发展中&#xff08;即版本可能会改变&#xff09;&#xff0c;本专栏基于版本0.12.1. 概述…

抓包理解协议

用的Wireshark 抓包 1.抓包网卡选择 - WLAN 无线网卡&#xff0c;其他是本地虚拟机的网卡 这里分别是开始捕获、停止捕获、重新捕获、网卡选择&#xff0c;下面是可以过滤选择 过滤tcp包 3次握手&#xff1a; source是源地址&#xff0c; destination是目标地址&#xff0c;in…

QT文件上传带进度条实例(含源码)

一、Qt上传知识点 QNetworkAccessManager QNetworkAccessManager 是 Qt 中用于执行网络操作的类,它提供了一种方便的方式来发送网络请求并处理响应。以下是关于 QNetworkAccessManager 的一些重要知识点: 发送网络请求:QNetworkAccessManager 可以通过不同的方法发送网络请…

CSS3(响应式布局)

#过渡# 属性连写&#xff1a; transition: width 2s linear 1s; //前一个时间用于表示过渡效果持续时间&#xff0c;后一个时间用于表示过渡效果的延迟。 #转换# #2D转换# 和 #3D转换# 注意&#xff1a;其中angle对应单位为&#xff1a;deg #圆角# #边框# …

使用Docker部署Jupyter Notebook并结合花生壳的内网穿透实现远程访问(详文)

一、前言 本文主要介绍如何利用宝塔面板中的Docker 3.9.3管理器,使用Docker本地部署Jupyter Notebook,并结合花生壳内网穿透工具实现任意浏览器公网远程访问Jupyter登录界面。 安装完成后在宝塔面板中图例 Jupyter Notebook是一个交互式笔记本,支持运行40多种编程语言。…

会声会影2024破解电脑版下载附带永久免费激活码

会声会影2024是一款功能强大的视频编辑软件&#xff0c;它凭借直观易用的界面、全面的编辑工具以及丰富的特效和转场效果&#xff0c;受到了广大视频编辑爱好者和专业人士的喜爱。以下是对会声会影2024的详细介绍&#xff1a; 会声会影最新一键安装包下载如下&#xff1a; ht…

sqlserver在执行维护计划备份时报错,重新设置维护任务,也同样出错,另一计划的异地备份又正常。

出错提示&#xff1a;已以用户 NT Service\SQLSERVERAGENT 的身份执行。 最大值(1)&#xff0c;因此导致失败。当错误数达到 MaximumErrorCount 中指定的数目时将发生这种情况。请更改 MaximumErrorCount 或纠正这些错误。 警告结束 DTExec: 已返回包执行 DTSER_FAILURE (1)。…

PotatoPie 4.0 实验教程(23) —— FPGA实现摄像头图像伽马(Gamma)变换

为什么要进行Gamma校正 图像的 gamma 校正是一种图像处理技术&#xff0c;用于调整图像的亮度和对比度&#xff0c;让显示设备显示的亮度和对比度更符合人眼的感知。Gamma 校正主要用于修正显示设备的非线性响应&#xff0c;以及在图像处理中进行色彩校正和图像增强。 以前&am…

《从零开始的Java世界》11网络编程

《从零开始的Java世界》系列主要讲解Javase部分&#xff0c;从最简单的程序设计到面向对象编程&#xff0c;再到异常处理、常用API的使用&#xff0c;最后到注解、反射&#xff0c;涵盖Java基础所需的所有知识点。学习者应该从学会如何使用&#xff0c;到知道其实现原理全方位式…

LangChain入门:24.通过Baby AGI实现自动生成和执行任务

随着 ChatGPT 的崭露头角,我们迎来了一种新型的代理——Autonomous Agents(自治代理或自主代理)。 这些代理的设计初衷就是能够独立地执行任务,并持续地追求长期目标。 在 LangChain 的代理、工具和记忆这些组件的支持下,它们能够在无需外部干预的情况下自主运行,这在真…

冯唐成事心法笔记 —— 知己

系列文章目录 冯唐成事心法笔记 —— 知己 冯唐成事心法笔记 —— 知人 冯唐成事心法笔记 —— 知世 冯唐成事心法笔记 —— 知智慧 文章目录 系列文章目录卷首语 管理是一生的日常&#xff0c;成事是一生的修行PART 1 知己 用好自己的天赋如何管理自我第一&#xff0c;如何…

C++学习随笔(12)—— list

本章我们来了解一下list 目录 1. list的介绍及使用 1.1 list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator的使用 1.2.3 list capacity 1.2.4 list element access 1.2.5 list modifiers 1.2.6 list的迭代器失效 1. list的介绍及使用 1.1 list的介绍…

【Unity常用插件】Dotween插件API详解【一】

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;UI_…