有Bootloader,为什么还要BROM?

devtools/2024/11/7 14:42:45/

有Bootloader,为什么还要BROM?

不少硬件平台都提供类似Boot ROM或者PBL(高通平台)固化的一段程序,出厂后用户一定不能修改。BROM可以引导Bootloader程序。大家知道,每个可启动的平台都会在存储设备,例如EMMC/NAND/UFS保存Bootloader程序,它负责初始化硬件并引导操作系统,既然有它了,为什么还需要BROM呢? 设想一种情况,当EMMC/UFS保存的Bootloader内容被意外改变了,无法启动了,还有没有机会救平台了? 这个时候只有BROM或PBL提供的紧急下载功能可以恢复Bootloader.

高通/MTK/苹果平台启动简图

高通/MTK/苹果平台启动简图

以Android和IOS系统为例,按照BootROM -> Bootloader stage 1 -> Bootloader -> OS的顺序:

高通

  • PBL -> SBL1 -> APPSBL(lk) -> HLOS(Linux) -> Android
    PBL就是高通的Boot ROM.

MTK

  • BROM -> Preloader -> lk -> Kernel(Linux) -> Android

苹果

  • IOS
    Boot ROM -> LLB(A9系列及以前) -> iBoot -> Kernel(XNU)
  • Intel Mac
    Boot ROM -> iBoot -> UEFI -> Kernel(XNU)
  • Apple Mac
    Boot ROM -> LLB -> iBoot -> Kernel(XNU)
    Note: LLB: Low Level Bootloader, 用于定位加载iBoot


若文章对您有帮助,欢迎关注。助您在编程路上越走越好!

微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。


http://www.ppmy.cn/devtools/132029.html

相关文章

工作管理实战指南:利用Jira、Confluence等Atlassian工具打破信息孤岛,增强团队协作【含免费指南】

如果工作场所存在超级反派,其中之一可能会被命名为“信息孤岛”,因为它们能够对公司的生产力和协作造成严重破坏。当公司决定使用太多互不关联的工具来完成工作时,“信息孤岛”就会出现,导致团队需要耗费大量时间才能就某件事情达…

LLMs之Calculate:利用大语言模型技术基于文本内容实现数字计算能力的简介、常用方法、代码实现之详细攻略

LLMs之Calculate:利用大语言模型技术基于文本内容实现数字计算能力的简介、常用方法、代码实现之详细攻略 导读:在基于大语言模型(LLM)技术实现数字计算能力的背景下,文本内容的理解和计算过程涉及多个领域的交叉技术,包括自然语言处理(NLP)、机器学习、以及数值计算。…

Caché/IRIS file2Xml 一个将文件转换成Studio导出的xml格式的工具

file2Xml 一个将文件转换成Studio导出的xml格式的工具 通过此工具可以将本地文件转换成xml格式文件,然后通过Studio导入到服务器中,而不再需要其他工具将文件传至服务器。 下面以为ensemble2016自带的一个示例界面增加背景图为例。 http://localhos…

使用C++和QT开发应用程序入门以及开发实例分享

目录 1、搭建开发环境(VS2010和QT4.8.2) 2、创建一个QT窗口 3、在QT窗口中添加子窗口 4、QT界面布局 5、QT信号(SIGNAL)和槽(SLOT) 6、最后 C软件异常排查从入门到精通系列教程(专栏文章列…

力姆泰克电动缸助力农业机械装备,提高农机的自动化水平

力姆泰克电动缸作为一种先进的驱动装置,凭借其高精度、高效率、高可靠性等特点,在农业机械装备中得到了广泛应用,显著提高了农机的自动化水平。以下是对力姆泰克电动缸如何助力农业机械装备,提高农机自动化水平的详细分析&#xf…

TQZC706开发板教程:ADRV9009观测双通道接收波形

本例程使用ZC706加ADRV9009修改HDL项目,在vivaod中使用ila实时抓取两路接收波形。 将网盘链接中的BOO.BIN文件复制到SD卡中,插入开发板,并将开发板的启动模式设置为SD卡启动。插入电源,JTAG和串口。 在NO-OS的ADRV9009的项目中&am…

C# 一个工具类让winform自动根据窗体大小缩放所有控件

AutoControlSize.cs工具类,功能是使控件尺寸随着主对话框尺寸按比例调整。并且使用方式十分简单,只需要调用两个函数即可实现整个页面的控件根据窗体的大小改变而跟着缩放。 1、使用效果如下: 未缩放前的原始窗体页面 缩放后的窗体页面&…

【go从零单排】go中的nil到底是啥意思?

Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 nil 在Go语言中,nil 是一个预定义的标识符,用于表示指针、切片、映射、通道、接口和函数的…