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

    文章

    7640

    浏览量

    148496
  • ROM
    ROM
    +关注

    关注

    4

    文章

    525

    浏览量

    84817
  • 冷启动
    +关注

    关注

    0

    文章

    9

    浏览量

    7474
收藏 人收藏

    评论

    相关推荐

    单片机复位和冷启动详细介绍

    单片机冷启动很简单,关电,再上电,正常复位后,就冷启动成功。单片机冷启动其实是一个技术术语,是指单片机从最原始状态启动运行。实现这一目标视不同的单片机内部结构而有所不同。
    的头像 发表于 02-12 13:38 1.9w次阅读
    单片机复位和<b class='flag-5'>冷启动</b>详细介绍

    u-boot启动流程分析

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

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

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

    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 1175次阅读

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

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

    TF-A的不同启动阶段有哪些

    TF-A 不同启动阶段 FSBL:First stage boot loader,第一阶段启动文件 SSBL:Second stage
    的头像 发表于 09-11 16:54 482次阅读
    TF-A的不同<b class='flag-5'>启动</b><b class='flag-5'>阶段</b>有哪些

    Spring Boot启动 Eureka流程

    在上篇中已经说过了 Eureka-Server 本质上是一个 web 应用的项目,今天就来看看 Spring Boot 是怎么启动 Eureka 的。 Spring Boot 启动 E
    的头像 发表于 10-10 11:40 419次阅读
    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 614次阅读
    安全<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 254次阅读