Exynos4412 的启动过程详解(二)

目录

Exynos4412 启动框架图

Exynos4412 一般启动过程

Exynos4412 安全启动过程

Exynos4412 几种启动模式


Exynos4412 启动框架图

Exynos4412 的启动过程详解(二)_第1张图片

Exynos4412 一般启动过程

1. Exynos4412 有 64 KB ROM (iROM) 和 256 KB SRAM (iRAM) 作为 SoC内部存储

2. SoC上电时首选运行 iROM 中的程序,这段程序由三星出厂时烧录。这段程序会初始化系统时钟和栈空间,并根据 OM(Operating Mode,工作模式)从不同的启动介质中(NAND、SD/MMC、eMMC、USB)中加载镜像到 SRAM 中。这个阶段为 启动阶段 的 BL0 (BootLoader 0)阶段

3. 上述被加载到 iRAM 中运行的镜像中,需要有一段代码为按照官方要求实现的代码,这段代码在 iRAM 中首先被运行。用于初始化 DDR 和其所需的系统时钟,待初始化 DDR 完成后再将 OS 加载到 DDR 中运行。这段代码就是用于 BL1 阶段的代码。

Exynos4412 安全启动过程

除了上述的启动过程以外,Exynos4412 提供了一种安全启动的方式,也是更通用的启动方式。即将原有的 BL1 拆分为 BL1 和 BL2。 BL1 由三星提供,而 BL2 由用户提供。这样的好处是将芯片部分和平台部分分开,不管外设如何,BL1 只需提供将 BL2 程序加载到 iRAM 中的函数即可。BL1 同时提供了安全校验的方式保证 BL2 的完整性。

Exynos4412 几种启动模式

Exynos4412 的启动过程详解(二)_第2张图片

1. Exynos4412 提供了如上 9 中启动模式,启动模式决定在 BL0 阶段读取哪种介质中的程序。值得一提的是 USB 这种方式不作为常规启动模式,一帮用于 Debug 模式。

2. SD、 NAND、eMMC 这些是什么我在《存储器这个小话题 -- 闪存(3)》一文中简单介绍过,此处不再赘述。

3. 2nd Device 是一种冗余设计,旨在 1st Device 无法正常启动过程时使用 2nd Device 方式进行启动。上述的 2nd Device 提供了 USB 和 SDMMC 两种方式,如果你的设备支持,可以尝试破坏 1st Device 中的镜像, 让设备从 2nd Device 启动。

2021年8月8日

Kilento

 

 

 

 

你可能感兴趣的:(Exynos4412,嵌入式)