ZYNQ的启动和配置

本文主要参考:UG585

一、简介

        PS_POR_B复位引脚取消置位后,硬件会对引导引脚进行采样,可选择启用PS时钟PLL。然后,PS开始执行存储在芯片内ROM中的BootROM代码以引导系统。POR会将整个设备重置,不保存先前的状态。非POR类型的复位也会导致执行BootROM,但不会对引导引脚进行采样。在非POR复位后,一些寄存器值会被保留,并且设备会知道其先前的安全模式。非POR复位包括PS_SRST_B引脚和多个内部复位源。

        BootROM是在APU中首次运行的软件。BootROM在CPU 0上执行,CPU 1执行等待事件(WFE)指令。BootROM的主要任务包括配置系统,将引导设备中的Boot Image FSBL/User代码复制到OCM,然后分支代码执行到OCM。可选地,FSBL/User代码可以直接从Quad-SPI或NOR设备中在非安全环境下执行。

        PS主引导设备保存一个或多个引导映像。引导映像由BootROM头部(也称为引导映像头部)和第一阶段引导加载程序(FSBL)组成。引导设备还可以保存用于配置PL的比特流和嵌入式操作系统,但BootROM代码不会访问它们。用于引导的闪存存储设备可以是Quad-SPI、NAND、NOR或SD卡。

        BootROM的执行流程受引脚配置、BootROM头部以及BootROM代码发现的系统信息的影响。BootROM可以在具有加密FSBL/User代码的安全环境中执行,也可以在非安全环境中执行。BootROM执行完毕后,FSBL/User代码负责系统,如《Zynq-7000 SoC软件开发指南》(UG821)中所述。

        为了开发,系统可以以JTAG模式启动。或者,在非安全的闪存设备引导后,可以启用JTAG。JTAG始终表示非安全环境,但允许访问CPU复杂(APU)中的Arm调试访问端口(DAP)控制器和PL中的AMD测试访问端口(TAP)控制器。

1.1、PS Master Boot Mode

        在主引导模式下,系统从闪存存储设备引导。在这种情况下,BootROM配置PS以访问引导设备,读取BootROM头部,验证头部,然后通常将FSBL/User代码复制到OCM存储器中。主模式可以是安全或非安全环境。

        在安全模式下,引导映像始终由CPU写入OCM存储器。然后,它通过DMA传输到AES/HMAC单元进行解密和身份验证。解密后的引导映像被写回到OCM存储器,并在BootROM完成后执行。安全硬件在本章和《设备安全引导》中有描述。

        在非安全模式下,BootROM头部可以指示PS直接从支持执行-in-place选项的Quad-SPI或NOR引导设备执行引导映像。在其他情况下,FSBL/User代码被复制到OCM存储器以供执行。

        如果闪存设备中的BootROM头部无效,BootROM代码将搜索另一个头部。头部搜索会持续进行,直到找到有效的头部或搜索整个范围为止。BootROM头部搜索支持Quad-SPI、NAND和NOR引导模式。对于SD卡引导模式,只会读取一个头部。

1.2、JTAG Slave Boot

        在JTAG引导模式下,BootROM代码执行最小的系统配置并启用JTAG接口。然后,系统进入空闲状态,等待DAP控制器重新启动CPU 0。级联JTAG引导模式循环连接DAP和TAP控制器,是最常见的JTAG引导模式。独立JTAG引导模式将TAP控制器连接到PL的JTAG引脚,并为用户配置PL提供时间,使用TAP控制器将DAP控制器连接到EMIO JTAG接口。这些路径在图6-6中显示。

1.3、Boot and Configuration Subsections

        
"Boot and Configuration" 被分为以下几个部分:
Figure6-1
        Overview of bring-up and configuration
Device Start-up
        Power-up, resets, clocks, Boot mode pins
BootROM Code
        Execution flow, BootROM header
        Boot modes, image search, multiboot
        Error codes, system state post-BootROM
Device Boot and PL Configuration
        PL initialization, configuration, and enable
        PS/PL bring-up examples
        PCAP bridge, JTAG (cascade/independent)
Reference Section
        PL bring-up time factors, register overview, and device IDs

1.4、Device Boot Flowchart

        POR复位会导致硬件对引脚绑带进行采样,禁用设备中的模块,并可选择启用PS时钟PLL。这些硬件操作在非POR复位后不执行。 第一个运行的软件是BootROM代码,然后是FSBL/User代码和系统代码。所有这些步骤都在图6-1中显示

BootROM and Header Parameters

PL Initialization and Configuration

Secure PS Images and PL Bitstreams

Software Developers Guide and Kit

PS Hardware Boot Stages

PS Software Boot Stages

Boot Device Content

Boot Modes

BootROM Execution

FSBL / User Code Execution

PL Boot Process

PL Configuration Paths

Device Configuration Interface

Starting Code on CPU 1

Development Environment

二、Device Start-up

三、BootROM Code

四、Device Boot and PL Configuration

五、Reference Section

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值