ZYNQ_MP启动过程分析
网上看了很多关于zynq的相关文章,大多基于zynq-7000系列写的。本文参考相关文档尽量清楚的阐述zynq_mp的启动过程。
zynq_mp是由多核组成,与7000系列有所不同的是,增加了RPU(APU核数根据不同系列也有所不同,笔者使用2个APU和2个RPU)。
根据文档,启动过程分为前置配置,配置以及后置配置(Pre-configuration Stage,Configuration Stage,Post-Configuration):
Pre-configuration Stage:由PUM_ROM完成。ROM为只读存储区,故该部分开发者不能修改。主要工作为:1.锁定JTAG接口。2.清零PMU寄存器。(不只是写入0至寄存器,同时读回,以确保写入成功)。3.可选执行自检(默认不启动)。4.检测PMU ROM完整性。5.释放PMU复位并开始执行。接下来硬件状态机将控制权交给PMU ROM,将执行以下操作:1.可选地对LPD和/或FPD中的寄存器进行清零。2.清空PUM RAM。3.验证PLL。4.验证供电范围。5.清空CSU,LPD,FPD的内存。5.对CSU ROM完整性检测。6。释放CSU复位并执行
Configuration Stage:在配置阶段,CSU的目标是定位用户提供的引导映像,并将FSBL加载到指定的位置。如果在引导映像中指定,还可以加载可选的PMU固件。1.初始化OCM。2.决定启动方式。3.查找正确的boot image。4.加载FSBL分区,如果有PUM固件,同时加载。5.目标CPU执行。
Post-Configuration:执行FSBL(非必要,无需修改FSBL)。1.进一步初始化:启动PL并初始化DDR控制器。初始化了Cortex-A53s的缓存、MMU和栈指针,以及Cortex-R5s的缓存、MPU、栈指针和TCM。还执行板级初始化-包括I2C、USB和PCIe接口。2.分区加载。可能存在多个分区需要加载(包括PMU FW,FSBL,bitstream,app)。3.移交。image可由用户控制放在那个位置,程序计数器将到该位置执行。
FSBL是用户可以修改的部分,其可以加载裸核程序,U-BOOT(linux),PL部分。也就是说无论加载什么系统或程序,Pre-configuration Stage和Configuration Stage是完全相同的。用户仅仅需要(甚至不需要)修改FSBL。
ZYNQ_MP启动过程分析相关推荐
- 嵌入式linux启动过程分析,嵌入式Linux裸机开发(二)——S5PV210启动过程分析
嵌入式Linux裸机开发(二)--S5PV210启动过程分析 一.iROM启动方式简介 友善之臂Smart210开发板的SoC为三星S5PV210,S5PV210采用iROM启动方式进行启动,通过查阅 ...
- OpenWrt启动过程分析+添加自启动脚本【转】
一.OpenWrt启动过程分析 转自: http://www.eehello.com/?post=107 总结一下OpenWrt的启动流程:1.CFE->2.linux->3./etc/p ...
- pixhawk PX4FMU和PX4IO最底层启动过程分析
摘要: pixhawk PX4FMU和PX4IO最底层启动过程分析1.1 主处理器和协处理器的固件烧写和运行流程首先,大体了解PX4IO 与PX4FMU各自的任务.PX4IO(STM32F100)为P ...
- linux 重定位arm,Arm linxu启动过程分析(一)
本文着重分析 FS2410 平台 linux-2.6.14 内核启动的详细过程,主要包括: zImage 解压缩阶段. vmlinux 启动汇编阶段. startkernel 到创建第一个进程阶段三个 ...
- linxu 启动过程分析
linxu 启动过程分析 Linux启动过程如下:当用户打开PC的电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,接着启动设备上安装的引导程序lilo或grub开始引导Linux ...
- 开机SystemServer到ActivityManagerService启动过程分析
开机SystemServer到ActivityManagerService启动过程 一 从Systemserver到AMS zygote-> systemserver:java入层口: /*** ...
- AliOS Things的启动过程分析(一)
AliOS Things的启动过程分析(一) 在本篇文章中,我们以developerkit开发板为例,介绍AliOS Things的启动过程.AliOS Things支持多种工具链进行编译链接的方式生 ...
- Chromium的GPU进程启动过程分析
Chromium除了有Browser进程和Render进程,还有GPU进程.GPU进程负责Chromium的GPU操作,例如Render进程通过GPU进程离屏渲染网页,Browser进程也是通过GPU ...
- Android开发入门教程2-Android init 启动过程分析
Android init 启动过程分析 分析android的启动过程,从内核之上,我们首先应该从文件系统的init开始,因为 init 是内核进入文件系统后第一个运行的程序,通常我们可以在linu ...
最新文章
- 傅里叶帮我看看,谁在照射我?
- 使用eBPFBCC提取内核网络流量信息
- python22起作业答案_python第22天作业
- 是Excel的图,不!是R的图
- md5加密+盐方式一
- python gmm em算法 2维数据_AI大语音(六)——混合高斯模型(GMM)(深度解析)...
- 虚拟机连不上网 Xshell连不上虚拟机
- 科研狗的英语翻译小众软件
- JS实现鼠标点击爱心绘制多边形每日一言功能
- 单片机---1.仿真实现跑马灯(从左往右,在从右往左)
- 《二代征信》与你的生活息息相关 (1)
- 《编程之美》背后的作者之美
- [日推荐]『质安查』买到放心的产品就靠它了
- 使用ngrok进行域名映射
- Java 17新特性,快到起飞?惊呆了!
- 大学生用Python兼职五天狂赚1200,方法经验分享,让你早日实现财富自由
- 【日常篇】003_利用b站数据看《博人传》口碑变化
- Java------Thread线程
- office多级列表编号设置
- 关于那些我们都听过的营销工具—优惠券
热门文章
- Ubuntu 20.04 阿里云镜像、国内源
- 一文看懂BP神经网络的基础数学知识
- 域名贵吗?域名值不值钱?
- zabbix自定义监控模板+grafana图形展示
- linux 深度音乐,网易云音乐Linux V1.1正式发布
- 为Linux安置红旗紫光输入法
- ueditor百度富文本编辑器隐藏一下不需要的工具按钮
- [附源码]Node.js计算机毕业设计道路桥梁工程知识文库系统Express
- PM_21 项目组合管理(了解)、25 量化的项目管理(了解)
- 阿里云服务器如何开放端口