首页 > 技术 > 内容

可扩展处理平台Zynq的启动过程

时间:2026-01-12  作者:Diven  阅读:0

本文主要介绍zynq启动过程,主要包括BootROM和FSBL等的执行过程。

硬件启动过程

重新上电或POR复位后进行硬件启动过程

扫描“启动引脚”设置,并存入只读寄存器slcr.BOOT_MODE中

若使能pll,则等到pll输出时钟;若旁路pll,则直接使用ps_clk时钟

更详细硬件启动过程可以参考下图

BootROM

BootROM在POR复位后经过硬件启动后自动运行,也可在非POR复位后直接运行(不经过硬件启动),其内容固化在内部ROM中,不能修改,主要初始化MMU和一些系统资源(以使其满足BootROM执行的要求)以及加载FSBL程序段等。BootROM在CPU 0执行,而CPU 1执行WFE指令

主要过程如下:

硬件启动后BootROM将初始化MMU、NAND、NOR、QSPI、SD和PCAP等基本外设

判断启动设备(决定于硬件启动过程时扫描的“启动模式”引脚,即寄存器slcr.BOOT_MODE)并搜索boot镜像头信息,各启动模式搜索范围:

Quad-SPI,头16 MB空间搜索

NAND,头128MB空间搜索

NOR,头32MB

SD卡中只加载一次,不会搜索

BootROM会根据启动模式配置MIO,还会根据读取的boot镜像头信息的“寄存器初始化参数”部分配置时间优化寄存器

从指定启动设备中加载SFBL到OCM(加载时也会读取头部信息确定加密状态,文件长度等,若加密则还需解密后加载到OCM,BootROM头信息都不会加密),另外还支持直接在QSPI或NOR中执行(从头部信息中文件长度为0时,这时就不用加载到OCM了)

跳转到SFBL中执行,BootROM关闭

其说明:

如果已经为加密模式,经过非POR复位后,读取BootROM头信息检测到一个非加密的boot,系统将会被锁定

如果检测到BootROM中有错误,系统也会被锁定

如果为加密模式则需要等待PL上电才能继续加载,因为解密验证模块(AES and HMAC)在PL部分;而无论时加密模式还是非加密模式再配置.bit文件时都要等待PL部分准备好(通过检查寄存器devcfg.STATUS 
[PCFG_INIT])

FSBL

FSBL主要初始化更多的外设(如DDR)、初始化PL部分和加载SSBL或裸机程序等。

主要过程如下:

初始化MIO、PLL、CLK等,ps7_init()中所做

根据vivado(或XPS)中设置完成PS端初始化

判断启动设备(决定于寄存器slcr.BOOT_MODE)并从中扫描并加载.bit和SSBL或裸机程序

用.bit配置PL部分(FSBL通过PCAP控制器配置PL部分)

加载SSBL或裸机程序到DDR中

跳转到SSBL或裸机程序中执行

对于FSBL程序通常使用SDK中自带模板,但是不同于BootROM不可改变,FSBL可以手动修改实现一些自定义的内容。而且可以像裸机程序一样调试排错(在fsbl_debug.h中定义宏FSBL_DEBUG_INFO(#define FSBL_DEBUG_INFO)可以查看FSBL打印的调试信息)

注意:由于OCM大小为256KB,而在BootROM阶段OCM高64KB(OCM 从0x0000_0000开始192KB,从0xffff_0000开始64KB)用于存储BootROM头信息和变量,在BootROM执行完成后才可用于FSBL,所以FSBL大小要小于192KB。

其说明:

当从外部器件中启动为非加密模式时,才能使用JTAG进入调试模式

直接在NOR or Quad-SPI中运行的FSBL必须为非加密模式

FSBL大小要小于192KB,但是直接在flash器件(NOR or Quad-SPI)中直接运行的情况没有这个限制

AES一次只能解密1Byte,所以PCAP在4个时钟周期内只能发送一个32bit数据(加密配置时)

SSBL

通常SSBL就是裸机程序,对于linux启动来说就是u-boot之类的bootloader。

对于没有使用PL部分的设计,即只把zynq当做普通ARM来使用,则完全可以不用FSBL,而通过BootROM直接加载裸机程序并运行(使用方式和注意事项请看“zynq的三种启动方式(JTAG,SD,QSPI)”)。

猜您喜欢


电磁炉作为现代厨房中重要的电器,其安全性和稳定性直接关系到烹饪的效果和用户的使用体验。在电磁炉的设计与制造中,压敏电阻的应用显得尤为重要。压敏电阻用于保护电路,...
2025-03-17 22:00:02
SOT143-4是一种常见的表面贴装封装,广泛应用于各类电子设备中。它的设计旨在满足现代电子产品对小型化和高性能的要求。本文将深入探讨SOT143-4的特点、应...
2025-02-24 12:19:11
332贴片电阻的阻值是3300欧姆,也就是3.3kΩ。贴片电阻的阻值通常用三位数字来表示,遵循一定的规则。前两位数字代表有效数字,第三位数字代表10的n次方,其...
2024-11-26 11:29:32
在选购汽车用品时,了解其参数是非常重要的。汽车座垫的材料和厚度直接影响舒适度和耐用性。高品质座垫通常使用高密度泡沫或记忆棉,提供更好的支撑。汽车脚垫的防滑性能和...
2018-04-01 00:00:00
贴片电阻上的4302并不是直接表示阻值大小的千欧数值。是一种编码方式,表示电阻的阻值。 4302 代表的是 43 × 10² 欧姆,也就是 4300 欧姆,通常...
2024-11-29 10:25:55
NTC热敏电阻作为重要的温度传感器,应用于各种电子设备中。而提及NTC热敏电阻的品牌,Susumu无疑是一个受到瞩目的名字。本文将深入探讨Susumu品牌所属的...
2016-07-28 04:17:50
锂离子超级电容器是新型能量存储设备。结合了电池和电容器的优点。应用于现代科技中。本文将详细介绍工作原理。 基本结构锂离子超级电容器由电极、隔膜和电解液组成。电极...
2025-04-02 08:01:08
扎带作为常见的固定工具,因其独特的优势而应用于各个领域。扎带具有极强的耐用性,采用高强度塑料材料制成,能够承受较大的拉力,不易断裂,确保长期使用的稳定性。扎带的...
2009-02-14 00:00:00
在雕刻艺术的世界里,一套高品质的刻刀套装是每位艺术家不可少的工具。我们的刻刀套装专为雕刻爱好者和专业人士设计,涵盖了多种刀型,适用于木材、石材及其材料的精细雕刻...
2024-02-28 00:00:00
PTC热敏电阻作为重要的温度保护元件,受到了越来越多厂商和用户的关注。科达嘉(CODACA)作为国内知名的PTC热敏电阻制造商,其产品在市场上拥有良好的口碑和竞...
2018-06-01 15:42:03