0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

冷启动(Cold boot)流程及阶段划分

麦辣鸡腿堡 来源:TrustZone 作者:TrustZone 2023-11-07 15:17 次阅读

restart--冷启动

reset--热启动

ATF冷启动实现分为5个步骤:

• BL1 - AP Trusted ROM,一般为BootRom。

• BL2 - Trusted Boot Firmware,一般为Trusted Bootloader。

• BL31 - EL3 Runtime Firmware,一般为SML,管理SMC执行处理和中断,运行在secure monitor中。

• BL32 - Secure-EL1 Payload,一般为TEE OS Image。

• BL33 - Non-Trusted Firmware,一般为uboot、linux kernel。

ATF输出BL1、BL2、BL31,提供BL32和BL33接口

(我想提供的接口就是BL32和BL33的镜像可以是指定的,atf其实是一个启动框架,这其中包含的五个步骤,每个步骤你想要的内容,可以由厂商自己定义。)

启动流程如下:

图片

BL1位于ROM中,在EL3下从reset vector处开始运行。(bootrom就是芯片上电运行的(chip-rom的作用就是跳转到bootrom))

BL1做的工作主要有:

• 决定启动路径:冷启动还是热启动。

• 架构初始化:异常向量、CPU复位处理函数配置、控制寄存器设置(SCRLR_EL3/SCR_EL3/CPTR_EL3/DAIF)

• 平台初始化:使能Trusted Watchdog、初始化控制台、配置硬件一致性互联、配置MMU、初始化相关存储设备。

• 固件更新处理

• BL2镜像加载和执行:

• BL1输出“Booting Trusted Firmware“。

• BL1加载BL2到SRAM;如果SRAM不够或者BL2镜像错误,输出“Failed to load BL2 firmware.”。

• BL1切换到Secure EL1并将执行权交给BL2.

1.2 BL2

BL2位于SRAM中,运行在Secure EL1主要工作有:

• 架构初始化:EL1/EL0使能浮点单元和ASMID。

• 平台初始化:控制台初始化、相关存储设备初始化、MMU、相关设备安全配置、

• SCP_BL2:系统控制核镜像加载,单独核处理系统功耗、时钟、复位等控制。

• 加载BL31镜像:BL2将控制权交给BL1;BL1关闭MMU并关cache;BL1将控制权交给BL31。

• 加载BL32镜像:BL32运行在安全世界,BL2依赖BL31将控制权交给BL32。SPSR通过Secure-EL1 PayloadDispatcher进行初始化。

• 加载BL33镜像:BL2依赖BL31将控制权交给BL33。

1.3 BL31

BL31位于SRAM中,EL3模式。除了做架构初始化和平台初始化外,还做了如下工作:

• PSCI服务初始化,后续提供CPU功耗管理操作。

• BL32镜像运行初始化,处于Secure EL1模式。

• 初始化非安全EL2或EL1,跳转到BL33执行。

• 负责安全非安全世界切换。

• 进行安全服务请求的分发。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    8580

    浏览量

    151046
  • ROM
    ROM
    +关注

    关注

    4

    文章

    572

    浏览量

    85737
  • 冷启动
    +关注

    关注

    0

    文章

    9

    浏览量

    7499
收藏 人收藏

    评论

    相关推荐

    u-boot启动流程分析

    今天给大家全面的分析一下u-boot启动流程。整理这篇文章花费时间较长,中间很长时间未更新,希望这篇文章对大家有所帮助。
    发表于 07-12 15:16 801次阅读
    u-<b class='flag-5'>boot</b><b class='flag-5'>启动</b><b class='flag-5'>流程</b>分析

    请问是否有可能在冷启动引导时提供对SPI ROM的访问?

    你好,我有一个关于FX3的I/O配置的问题。是否有可能在冷启动引导时提供对SPI ROM的访问,并在完成后使用它切换到UART I/O设置引导?谢谢 以上来自于百度翻译 以下为原文 Hi
    发表于 06-25 06:03

    U-BOOT启动流程分享

    Bootloader移植(下)U-BOOT 启动流程u-boot启动三个2启动步骤(重点)U-
    发表于 01-18 10:17

    SOC的多核启动流程详解

    启动的时候启动多个core, COLD_BOOT_SINGLE_CPU=0, _secondary_cold_boot=1, 则下面代码会被编译,则主核走 do_primary_
    发表于 02-21 15:11

    TJA1043冷启动阶段ERR_N脚电压异常的原因?

    我们使用 TJA1043 作为 CAN 收发器。在冷启动阶段,我们发现 ERR_N 引脚电压异常。ERR_N 引脚不能拉高 35.5ms。您可以从所附图片中获取更多信息。我们想知道 ERR_N 是如何工作的以及它的内部框图。
    发表于 03-22 06:14

    冷启动电子镇流器电路图

    冷启动电子镇流器电路图
    发表于 06-11 11:06 1462次阅读
    <b class='flag-5'>冷启动</b>电子镇流器电路图

    嵌入式U-BOOT启动流程及移植

    摘要:嵌入式系统一般没有通用的bootloader,u-boot是功能强大的bootloader开发软件,但相对也比较复杂。文中对u-boot启动流程作了介绍,详细给出了u-
    发表于 02-25 16:00 59次下载

    DOS的冷启动和热启动有什么区别和方法说明

    DOS的启动又可分为冷启动和热启动冷启动是指切断电脑电源后重新开启电源启动的过程。热启动是指在
    发表于 08-14 17:32 0次下载
    DOS的<b class='flag-5'>冷启动</b>和热<b class='flag-5'>启动</b>有什么区别和方法说明

    STM32冷启动下载

    冷启动和热启动都是复位
    发表于 12-20 19:38 8次下载
    STM32<b class='flag-5'>冷启动</b>下载

    HAB boot启动流程与实现步骤

    在《深扒HAB boot 启动安全性》中,小编介绍了HAB boot启动流程(如图1所示),其中的1、2、3验证步骤本质上就是验签过程。
    的头像 发表于 08-12 09:39 1546次阅读

    华为云发布冷启动加速解决方案:助力Serverless计算速度提升90%+

    子游: 华为元戎高级工程师 平山:华为云中间件 Serverless 负责人 琪君:华为元戎负责人 |  Key Takeaways 冷启动 (Cold Start) 一直是 Serverless
    的头像 发表于 01-19 16:15 932次阅读

    Spring Boot启动 Eureka流程

    在上篇中已经说过了 Eureka-Server 本质上是一个 web 应用的项目,今天就来看看 Spring Boot 是怎么启动 Eureka 的。 Spring Boot 启动 E
    的头像 发表于 10-10 11:40 891次阅读
    Spring <b class='flag-5'>Boot</b><b class='flag-5'>启动</b> Eureka<b class='flag-5'>流程</b>

    汽车电子应用中的冷启动

    电子发烧友网站提供《汽车电子应用中的冷启动.pdf》资料免费下载
    发表于 10-20 11:13 0次下载
    汽车电子应用中的<b class='flag-5'>冷启动</b>

    安全启动Secure Boot流程

    安全启动-Secure Boot 除了NSPE和SPE两个环境的沟通流程之外,secure boot也是Trusted Firmware很重要的设计环节。 Secure
    的头像 发表于 11-02 16:45 1371次阅读
    安全<b class='flag-5'>启动</b>Secure <b class='flag-5'>Boot</b><b class='flag-5'>流程</b>

    u-boot在汇编启动阶段的相关操作介绍

    u-boot在汇编启动阶段对系统的一些初始化 当cpu交由u-boot接管进入u-boot后, 首先会到_start符号处开始执行初始化,
    的头像 发表于 12-07 11:22 631次阅读