【AXU3EG】Zynq UltraScale平台启动引导过程

news2024/12/25 0:33:03

Zynq UltraScale+ MPSoC(16nm) 的核心是两个 CPU 模块:

  • 应用处理单元(APU):四核 ARM Cortex-A53,适合于 Linux 和裸机应用程序。
  • 实时处理单元(RPU):双核 ARM Cortex-R5,适合于低时延确定性应用,注入安全模块和 APU 任务分担。

此外,该平台还具有:图形处理单元(GPU)、安全单元(CSU,负责系统安全相关工作)、平台管理单元(PMU,负责处理主要的预引导任务和 PS 硬件的管理,以实现系统的可靠通/断电和系统错误管理)。
在这里插入图片描述
Zynq UltraScale+ MPSoC 系统架构

Zynq ultraScale 启动模式与启动过程

启动模式

核心板:

  • QSPI Flash: 256Mbit
  • eMMC Flash: 8GB

从安全角度,启动模式分为安全型和非安全型:

  • 安全型:可以使用三种静态存储器(Quad-SPI、eMMC Flash、SD)。引导过程主要通过 PS 部分来完成。
  • 非安全型:可以使用 JTAG 或上面提到四种静态存储器启动,在非安全型下,PL 部分无需必须启动。

从外部启动源角度(QSPI Flash、eMMC Flash、SD),启动模式分为主模式和从模式:

  • 主模式:Zynq 的 PS 部分负责将启动镜像文件从外部非遗失性存储器加载到 OCM 中。
  • 从模式:JTAG 只支持非安全启动,外部电脑作为主设备,通过 JTAG 连接,将启动镜像加载到 OCM,PS 部分保持空闲模式,主要用来调试系统。

综上,Zynq 的启动模式包括:安全主模式、非安全主模式、非安全从模式(JTAG)。

启动过程

在这里插入图片描述

在系统复位后,系统将会检测模式引脚上的电平状态,以此来决定从哪个设备(eMMC Flash、Quad-SPI、SD、JTAG)来引导系统。

  1. 预配置阶段

系统复位后,系统将会检测模式引脚上的电平状态,从此来决定从哪个设备来引导系统。

预配置阶段由平台管理单元(PMU)控制执行 PMU ROM 中的代码来配置系统。主要负责配置设备的默认电源状态、初始化 RAM 以及测试存储器和寄存器。在 PMU 执行这些任务并将系统控制权交给配置安全单元 (CSU)后,进入服务模式。

  1. 配置阶段

第 0 阶段的代码固化在 BootROM 设备中,不可写。首先,BootROM 配置一个 ARM 处理器以及必要的外围设备,然后,从启动设备中将 FSBL 加载到 OCM,并跳转到 OCM 执行 FSBL 代码。

在配置阶段,BootROM(CSU ROM 代码的一部分)解释 boot header 以配置系统并将处理系统(PS)的第 1 阶段引导加载程序(FSBL)代码加载到片上 RAM(OCM)中。FSBL 可以由 APU 或 RPU 执行,在启动过程中,CSU 还将 PMU user firmware(PMU FW)加载到 PMU RAM 中,以与 PMU ROM 一起提供平台管理服务。

  1. 后配置阶段

FSBL 执行开始后,CSU ROM 代码进入后配置阶段。片上存储器(OCM)模块包含 256KB 的 RAM,从 0xFFFC0000 开始,OCM 主要由 FSBL 和 ATF 组件使用。FSBL 使用从 0xFFFC0000 到 0xFFFE9FFF 的 OCM 区域。该区域的最后的最后 512B 由 FSBL 用于共享与 ATF 移交的应用程序对应的移交参数。ATF 将执行移交给 ATF 后,由 ATF 负责加载 U-boot。

Arm Trusted Firmware(ATF)是一个裸机应用程序,在 APU 上的异常级别 3 (EL3)中执行。ATF 包括一个安全监视器层,用于在安全和非安全环境之间切换。ATF 是在 Zynq UltraScale+ 上的 APU 上加载 Linux 的强制性要求。ATF(bl31.bin)默认在 PetaLinux 中构建,可以在 PetaLinux 项目映像目录中找到。

总的来说,Zynq UltraScale 系列与 7000 系列相比,就是在 7000 系列的第 0 阶段之前增加了预配置阶段,上电后由 PMU 先执行 PMU ROM 中的代码对系统进行预配置。之后的过程与 7000 系列大体相同,只是在启动过程中 UltraScale 系列除 APU 单元外,CSU 单元和 PMU 单元全程参与。

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

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

相关文章

Unity 高级程序员应该具备怎样的能力?要怎样成长为 Unity 高级程序员?

如何从零基础小白成长为 Unity 高级程序员?【全篇学习内容免费!快来白嫖】 高能预警,下文包含从零基础新手到高级程序员一站式技术学习、学习方法、心态等内容,供各个阶段的同学进行参考。 从零基础到高级程序员 上干货 话不多说…

MySQL——存储过程和函数从零基础到入门必学教程(涵盖基础实战)

文章目录 目录 文章目录 前言 一、创建存储过程 二、在存储过程中使用变量 1.定义变量 2.为变量赋值 三、光标的使用 1.打开光标 2.打开光标 3.使用光标 4.关闭光标 四、流程控制的作用 1.IF语句 2.CASE语句 3.LOOP语句 4.LEAVE语句 5.ITERATE语句 6.REPEAT语…

碳酸氢锂硫酸锂溶液除钙镁

#碳酸氢锂硫酸锂溶液除钙镁 随着新能源汽车快速发展,以粗Li2CO3(85-98%)和工业级Li2CO3(98.5-99.0%)为原料制备高纯电池级Li2CO3(99.5-99.9%)的工艺的突破,显得尤为重要,正越来越受到人们的关注。 粗Li2CO3…

智能排班系统

大家好,我是csdn的博主:lqj_本人 担任本次比赛的队长,这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011…

安全技术交底大全

交底内容得过大,过宽,不要造成土建结构缺陷。02)管路敷设完后应立即进行保护其他工种在操作时应注意不要将管子砸扁和踩坏。(3)在碎板,加气板上别洞时,注意不要剔断钢筋,剔洞时应先用钻打孔,再护孔&#xf…

visual stdio c++调用python混合编程

visual stdio2019 c调用python混合编程 1.Python环境的搭建 关于环境创建可以参考https://blog.csdn.net/qq_36559788/article/details/123174309 这里python我用的是anaconda里的python38,并且没有debug库,所以我只用了release库 在vs中设置项目属性…

谈谈JVM的垃圾回收机制

目录 1. 死亡对象的判断算法 1.1 引用计数算法 1.2 可达性分析算法 2. 垃圾回收算法 2.1 标记——清除算法 2.2 复制算法 2.3 标记——整理算法 2.4 分代算法 1. 死亡对象的判断算法 对于支持垃圾回收机制的编程语言来说,常见的死亡对象的判断方法有引用计数…

成功上岸北大!总分418分,数学150分,经验贴+方法论

Datawhale干货 作者:葛云阳,杭州电子科技大学,Datawhale成员 前 言 大家好,我是北海。2023年以总分418分的成绩上岸北京大学信息工程学院计算机应用技术专业,其中初试第三,复试第五,总成绩第三…

《编程思维与实践》1038.排版

《编程思维与实践》1038.排版 题目 思路 分两个步骤进行解决: 1.在给定长度下找到每一行可以容纳的最多单词数(单词长度<M/2保证每行至少有两个单词); 2.输出时补充额外的空格. 其中,第一个步骤可以通过分割字符串将每个字符串存起来,再找到第一个超过给定长度M的单…

Java项目上线之云服务器环境篇(二)——Tomcat的安装与配置

Java项目上线之云服务器环境篇(二)——Tomcat的安装与配置 Tomcat的选择: 云服务器tomcat的选择最好与本机项目运行的tomcat版本号一致,避免一些不必要的问题。 配置步骤: 1、首先进入云服务器创建好放置tomcat的文件…

UE5实现Runtime环境下绘制线功能

文章目录 1.实现目标2.实现过程2.1 C++实现2.2 蓝图调用3.参考资料1.实现目标 UE5在Runtime环境下基于PDI绘制线,GIF动图如下: 2.实现过程 在UE5 Runtime环境下常用的绘制线方法有使用以下几种方式。一是基于SplineMeshComponent,即使用已有的点位去初始化样条线,然后在挂…

Ae:合成查看器 - 视图选项

合成查看器、素材查看器、图层查看器等面板底部的视图选项大同小异。 放大率弹出式菜单 Magnification ratio popup 用于显示和控制当前的放大率。 默认为适应当前面板大小。 更改放大率时,只是改变了面板中预览的外观,而不是合成的实际分辨率和像素。 适…

数据挖掘实验-week8-关联规则挖掘(Association Rule Mining)

Contents 0. 引言0.1 关联规则挖掘0.2 Apriori算法 实验Step 1:Familiarize yourself with the arules package in R.1.1 Load the package.1.2 To load data into R enter.1.3 To get information about the total number of transactions in a file sample1.csv e…

【requests模块上】——02爬虫基础——如桃花来

目录索引 requests请求:1. 基于get请求:*基础写法:**带参数的get请求:* 2. 基于post请求: 获取数据:1. 获取json数据:2. 获取二进制数据: 引入: requests是python的第…

不得不说的结构型模式-享元模式

目录 享元模式(Flyweight Pattern): 下面是一个简单的C代码案例 下面是面试中可能遇到的问题: 享元模式(Flyweight Pattern): 是一种结构型模式,它通过共享对象来减少系统中对象…

第四范式发布「式说」大模型,以生成式AI重构企业软件(AIGS)

4月26日,第四范式首次向公众展示其大模型产品「式说3.0」,并首次提出AIGS战略(AI-Generated Software):以生成式AI重构企业软件。式说将定位为基于多模态大模型的新型开发平台,提升企业软件的体验和开发效率…

湿法冶金铼提取工艺

湿法冶金 通过溶液分离金属的技术 湿法冶金是利用浸出剂在一定温度压力下与矿石接触,把矿石中有用的金属溶解后再从溶液中回收有价金属的一种工艺,因为其过程大都是在水溶液中进行,所以又被称为“水法冶金”。 01 湿法冶金工艺特点及工艺流…

AI智能课程:第五讲chatGPT搞定APP小程序

内容总结 作业 目录 APP&小程序测试初识 ### APP&小程序测试的区别? 设计APP&小程序功能测试用例 设计APP&小程序功能测试用例–继续优化 设计APP&小程序测试用例-中断场景 设计小程序测试用例–补充小程序功能专项 APP&小程序兼容性测试…

Raft 共识算法4-选举限制

Raft 共识算法4-选举限制 Raft算法中译版地址:https://object.redisant.com/doc/raft%E4%B8%AD%E8%AF%91%E7%89%88-2023%E5%B9%B44%E6%9C%8823%E6%97%A5.pdf 英原论文地址:https://raft.github.io/raft.pdf Etcd Assistant 是一款 etcd 可视化管理软件&a…

大数据Doris(四):FE部署及启动

文章目录 FE部署及启动 一、创建doris 部署目录 二、上传安装包并解压