篇首
最近突发奇想,Xilinx 的集成开发环境已经很好了,很多必要的代码都直接生成了,这给开发者带来了巨大便利的同时,也让人错过了很多代码的精彩,可能有很多人用了很多年了,都还无法清楚的理解其中过程。博主准备以FSBL为例,与大家深入探讨一番,从而加深对ZYNQ的加载过程的理解,以便大家作出更精彩的设计!
Zynq 7000启动流程详解
Zynq 7000的启动流程是一个多阶段协作过程,从硬件上电到操作系统运行,涉及BootROM、FSBL、SSBL(如U-Boot)和最终应用。以下是各阶段的核心逻辑与关键操作:
一、BootROM阶段:硬件初始化的起点
-
触发条件
- Zynq芯片上电或复位后,BootROM(固化在芯片内部的只读代码)自动执行。
-
关键操作
- 硬件初始化:
- 配置PS(处理器系统)基础时钟、MIO引脚、安全模块(如AES和SHA引擎)。
- 启动模式检测:
- 根据MIO引脚电平(Boot Mode Pins)确定启动设备(QSPI、SD卡、NAND等)。
- 支持的启动模式通过
SLCR.BOOT_MODE寄存器配置。
- 加载FSBL:
- 从选定的启动设备读取FSBL镜像到OCM(On-Chip Memory,默认地址
0x0)。
- 从选定的启动设备读取FSBL镜像到OCM(On-Chip Memory,默认地址
- 硬件初始化:
Xilinx ZYNQ 7000启动流程详解

最低0.47元/天 解锁文章
1930

被折叠的 条评论
为什么被折叠?



