通常开发板支持多种启动方式或模式,PanGu开发板使用的STM32MP1芯片平台的中引入了一个新的术语,Boot chains。Boot chains字面意思为启动链,但不够准确描述,所以我们不做翻译,后文依然保持使用Boot chains的写法和称呼。
Boot chains的引入是为了区分两类启动流程中用的的各个软件组件或程序,STM32MP1平台的Boot chains有两种方式

  • Basic boot chain:使用U-Boot SPL作为FSBL,U-Boot作为SSBL

  • Trusted boot chain:使用 Trusted Firmware-A (TF-A) 作为FSBL,使用 U-Boot 作为SSBL

 

Boot chains组件

ROM code

The ROM code is a piece of software that takes its name from the read only memory (ROM) where it is stored. It fits in a few tens of Kbytes and maps its data in embedded RAM. It is the first code executed by the processor, and it embeds all the logic needed to select the boot device (serial link or Flash) from where the first-stage boot loader (FSBL) is loaded to the embedded RAM.
ROM代码是一款软件,其名称来自存储它的只读存储器(ROM)。 它可以容纳数十KB,并将其数据映射到嵌入式RAM中。 它是处理器执行的第一条代码,并且嵌入了选择引导设备(串行链路或Flash)所需的所有逻辑代码,第一级引导加载程序(FSBL)从该位置加载到内部RAM。

FSBL(First Stage Boot Loader)

第一阶段引导加载程序(FSBL)初始化时钟(部分)和外部RAM控制器。 最后,FSBL将第二阶段引导加载程序(SSBL)加载到外部RAM中并跳转到该RAM 地址处。
Trusted Firmware-A(TF-A)和U-Boot secondary program loader(U-Boot SPL)是两种FSBL。

SSBL(Second-Stage Boot Loader)

SSBL运行在更大范围的内存中,因此它可以实现复杂的功能(USB,以太网,显示等),这对于使Linux内核加载更为灵活(从Flash设备, 网络等),并且易于使用(向用户显示初始屏幕)。 U-Boot通常用作嵌入式系统中的Linux引导程序。

Boot chains的启动流程

 

  • Arm Cortex-A secure ,粉色的区域是Secure部分

  • Arm Cortex-A non-secure , 深蓝色的区域是Non-secure部分

  • Arm Cortex-M , 浅蓝色的区域是CM4部分

Trusted boot chain

image

Basic boot chain

image

Basic boot chain和Trusted boot chain特性对比

FeaturesTrusted boot chainBasic boot chain
Boot device support
eMMCSupportedSupported
SDCardSupportedSupported
NORSupportedSupported
NANDSupportedNot supported
Flash programming via UARTSupportedNot supported
Flash programming via USBSupportedNot supported
Device control
DDR initializationSupportedSupported
PMIC managementSupportedSupported
System shutdownSupportedNot supported
SMP CPU boot and resetSupportedsupported
Low power managementSupportedNot supported
Security features
Authentication ECDSA BasedSupportedNot supported
Secure boot TZEN=1 - SMC FirewallingSupportedNot supported
Cortex-M4 isolation controlSupportedNot supported
Non secure boot - Unlimited access to RCC and PWRSupportedSupported
HSI/CSI CalibrationSupportedNot supported
Security TamperSupportedNot supported
Security OTPSupportedNot supported
Security IWDG1SupportedNot supported
作者:SteveChen  创建时间:2024-09-18 11:47
最后编辑:SteveChen  更新时间:2024-09-18 11:47
上一篇:
下一篇: