《Zedboard》启动分析

1.概述

在这里插入图片描述

  • POR/non-POR发生之后,PS的时钟PLLS使能,PS将开始运行片上ROM中的 BOOTROM来引导系统。
  • BOOTROM的主要任务就是将第一阶段引导加载程序(first stage boot loader 简称FSBL)加载到片上内存(OCM)中,之后程序转到OCM中运行。
  • FSBL接过接力棒,主要完成两个任务,其一便是为PL部分加载bitstream,其二便是为PS部分加载应用程序并运行。
    • 如果是没有操作系统,那么该应用程序便是裸机程序。
    • 如果要继续引导操作系统,那么该程序便是boot程序,之后再由boot程序引导操作系统。
      下面这张图是官方手册中的流程。
      在这里插入图片描述
2.BOOTROM
2.1 PS主引导模式

在主引导模式中,BOOTROM会配置PS去访问引导程序所在的设备(flash memory),读取BOOTROM的头并且验证头部,之后通常会拷贝FSBL/User Code 到OCM中。主引导模式还分为安全模式和非安全模式。

  • 安全模式:安全模式中 boot镜像在写到OCM中之前,需要经过(通过DMA)AES/HMAC单元的解密和检查。并在BOOTROM结束之后,执行。
  • 非安全模式:BOOTROM头可以直接命令PS执行boot镜像。执行又分为两种,一种是从 Quad-SPI 或者NOR 中就地执行(execute-in-place简称XIP)。另一种试将其拷贝到OCM中执行。

BOOTROM头如果是无效的话,会继续寻找另一个头部。Quad-SPI、NAND、NOR都是支持这种方式的。如果是SD卡的话,就只会读取一个头,而不会继续寻找。

2.2 JTAG从引导模式

再从引导模式中,BootROM代码只做很少的系统配置,并使能JTAG接口。然后系统进入空闲状态,等待DAP控制器重启CPU 0。级联JTAG引导模式循环DAP和TAP控制器是最常见的JTAG引导模式。独立的JTAG引导模式将TAP控制器连接到PL JTAG引脚,并为用户提供时间来配置PL,使用TAP控制器将DAP控制器连接到EMIO JTAG接口。

2.3 BOOTROM流程

流程图很复杂,但是简单来讲无非就是下面两点。
在这里插入图片描述

  1. 读取BOOTROM头,并进行检验。
  2. 根据BOOTROM头中的参数,来决定是JATG启动还是主引导模式启动,是安全还是非安全,是XIP还是搬移到OCM执行等等。

下图所示的是官方文档中所给的BOOTROM头中的参数。
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值