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

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

3天内不再提示

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

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:嵌入式Linux系统开 2023-09-11 16:54 次阅读

TF-A 不同启动阶段

FSBL:First stage boot loader,第一阶段启动文件

SSBL:Second stage boot loader,第二阶段启动文件

TF-A 分为不同的启动阶段,按照链式结构依次启动,ATF 代码启动流程如图所示:

图片

芯片复位以后首先运行 bl1 代码,bl1 一般是芯片内部的 ROM 代码,bl1 主要工作就是将外置 Flash 中的 bl2 固件加载到指定的RAM 中,然后跳转到 bl2 部分。

bl2 为安全启动固件,bl2 会将剩余的三个启动阶段 bl31、bl32 和 bl33 对应的镜像文件加载到指定的内存中。比如 bl32中的安全操作系统(OP-TEE),bl31 中的 EL3 运行时固件(Runtime Firware),bl33 中的 uboot。bl2将这些固件加载完成以后就会启动相应的固件,也就是进入到第三启动阶段。

TF-A 启动流程就是:bl1 -》 bl2 -》 (bl31/bl32/bl33)。注意,bl31、bl32 和 bl33
对应的镜像不需要全部都有,但是 bl33 一般是必须的,因为 bl33 一般是 uboot,这个是很重要的!

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

    关注

    455

    文章

    50816

    浏览量

    423663
  • 嵌入式
    +关注

    关注

    5082

    文章

    19126

    浏览量

    305241
  • ROM
    ROM
    +关注

    关注

    4

    文章

    572

    浏览量

    85772
  • Linux
    +关注

    关注

    87

    文章

    11304

    浏览量

    209518
收藏 人收藏

    评论

    相关推荐

    如何使用Yocto更新已更改的TF-A设备树来产生新的镜像文件?

    求助大佬, 我用Yocto构建了STM32MP157的镜像文件,但我需要更改和移植TF-A和U-BOOT来适配我的板子, 我按照它正点原子教程里更改了.bl2和创建了新的.dtsi设备树文件,但
    发表于 03-29 08:01

    关于TF-A(ATF)固件的基本知识详解

    1、什么是ATF首先什么是TF-A(ATF)?ATF就是一个固件, 一段代码,一个为armv7-A/armv8-A/armv9-A提供的参考实现代码。(注意,这只是参考实现,你也可以不
    发表于 06-15 16:57

    TF-A与U-boot的打印输出显示了不同的信息是为什么呢

    我已将 TF-A 放入详细打印中,导致打印出有关 BSEC 访问的信息。但是 TF-A 与 U-boot 的打印输出显示了不同的信息,或者至少是令人困惑的信息。是什么赋予了?(TF-A 2.6-r1
    发表于 12-01 07:30

    stm32mp157f启动时出现TF-A异常是为什么?如何解决?

    一个基于 stm32mp157f 的定制板。(因此,自定义设备树。)我目前在 TF-A 中看到一个我无法解释的异常。INFO: Reset reason (0x14):INFO:Pad
    发表于 12-07 06:34

    为157F-DK2设置TF-A sp_min总是报错的原因?

    使用没有 SDMMC 代码的 FIP 收到此错误,我收到错误can not erease FIP目标我需要为 157F-DK2 工作进行最基本的 sp_min 设置。ST 和 ARM TF-A 很多演练;我想要一个真正有效的。
    发表于 12-08 07:40

    怎样去更改默认的tf-a和u-boot串口linux控制台呢

    内核控制台。如果我在 tf-a 和 u-boot dts 中尝试相同的修改,在启动时我会看到从 uart4 开始的日志,但此时它会阻塞Preparing exit to normal worldNo serial driver found我也应该修改一些引导环境吗?
    发表于 12-19 06:23

    如何去调试U-Boot和TF-A中的USB以及OTG控制器呢

    能够通过 USB-OTG 加载 TF-A 图像并运行它,但之后 USB-OTG 连接停止工作。来自 TF-A 的最后一条消息是:“信息:DFU USB 启动……”在 U-Boot 中手动运行
    发表于 12-20 07:00

    怎样配置TF-A模块来管理时间戳篡改呢

    我正在开发一个基于 STM32mp153 MPU 和 Linux 操作系统的项目。我已经配置了 TF-A 模块来管理时间戳篡改。当篡改事件发生时,它会在标准输出中报告。我想将 TF-A 检测
    发表于 12-23 08:56

    请问如何使用TF-A中的I2C1来控制STPMIC1?

    在我们的定制板中,我们使用 I2C1 来控制和配置 STPMIC1。我想在 TF-A 中使用 I2C1,这样 PMIC 就可以配置为在引导期间为 DDR 供电。TF-A 默认不支持 I2C1,但
    发表于 01-16 08:19

    什么会导致fsbl tf-a引导加载程序在闪烁后崩溃?

    好,并以 100% 完成,但稍等片刻,我就遇到了错误。似乎 TF-A 在加载后崩溃或无法启动。我正在寻找原因以及如何解决。附件是我在编程器中使用的 TSV 文件。我正在使用 EcoSystem 4.1.0。
    发表于 02-01 07:31

    如何使用STM32CubeProgrammer在没有USB的情况下将TF-A、u-boot、根文件系统刷入SD卡?

    、 u-boot 、根文件系统刷入 SD 卡。现在,我想在不使用 USB(直接从 Host Linux PC)的情况下将图像闪存到 SD 卡。什么方法可以在不使用 USB和 STM32CubeProgrammer 的情况下将 TF-A 、 u-boot 、根文件系统闪
    发表于 02-03 10:40

    如何从TF-A或uboot加载/启动Cortex-M4?

    是否可以从 TF-A 或 uboot 加载/启动 Cortex-M4?对于我们的用例,我们希望 Cortex-M4 中的 RTOS 尽快运行。在 linux 完成启动之前。
    发表于 02-07 06:51

    TF-A主要保护的是什么

    大量的嵌入式设备使用 ARM 为核心的芯片,为了保证安全 ARM 推出了 Arm Trusted Firmware 的可信固件,简称 TF-A。它是一个开源的软件,最早是用在 Armv8-A。它
    的头像 发表于 09-11 16:25 736次阅读

    TF-A启动流程详解

    bl 1 bl 1 是 TF-A 的第一个启动阶段,芯片复位以后就会运行 bl1 镜像,TF-A 提供了 bl1 源码。但是,实际上 bl1一般是半导体厂商自己编写的内部 Boot R
    的头像 发表于 09-11 16:59 1380次阅读
    <b class='flag-5'>TF-A</b><b class='flag-5'>启动</b>流程详解

    TF-A移植是什么意思

    TF-A 移植 当我们实际做产品的时候我们的硬件平台肯定会和芯片原厂的区别,比如 DDR 容量会改变,自己的硬件没有使用到官方开发板所使用的 PMIC芯片等等。因此这里就涉及到将半导体原厂提供
    的头像 发表于 09-11 17:04 781次阅读
    <b class='flag-5'>TF-A</b>移植是什么意思