启动流程
REVISION HISTORY¶
Revision No. | Description |
Date |
---|---|---|
1.0 | 03/31/2024 | |
1.1 | 07/17/2024 |
关键字说明¶
WFE:wait for event,等待外部事件
cx:core x
1. 概述¶
Sigmastar ifado 系列芯片搭载单核ARM Cortex-A7内核,软件设计上提供secure boot支持,能够在系统启动过程中验证和加载经过认证的软件,从而有效地防止篡改flash软件和抄袭flash软件。
Sigmastar提供的SDK开发包里包含多image defconfig,用户根据产品形态和方案需求选择一种合适的image配置即可。不同的image defconfig打包不同的功能镜像,对应的软件boot flow也不同,本文对常见的几种boot flow进行说明。
如果需要了解nor/nand/emmc等存储分区的划分,以及nand启动过程跳bad block逻辑和跳备份分区逻辑。请参考文档《系统分区》。
不同应用场景的image配置defconfig和编译命令,请参考文档《环境搭建》。
2. image defconfig说明¶
SDK的image defconfig位于project/configs/defconfigs/目录下,以ipc_ifado.spinand.uclibc-9.1.0-ubifs.ssc032a.128.qfn128_dualsnr_defconfig为例:
defconfig字段 | 说明 |
---|---|
product(产品) | ipc、ipc-rtos、usbcam |
boot medium(启动介质) | nor、spinand、emmc |
rootfs type(根文件系统类型) | ramfs、ramdisk、squashfs、ext4fs |
DDR size(DDR 大小) | |
package(芯片封装类型) | QFN88、QFN128、QFN68 |
software feature(软件特征) |
3. 典型场景boot flow¶
Ifado系列32位处理器模式分成三种特权等级,分别为:PL0,PL1,PL2。
3.1. 场景一¶
该场景是ipc/usbcam product的boot flow:只运行linux一个os。
SMF(secure monitor firmware):在系统启动流程中负责完成对CPU monitor mode的初始化设定以及GIC的初始化设定。SMF并没有独立的分区,而是内嵌在IPL binary image里。
3.2. 场景二¶
该场景是dualos product的boot flow:只运行rtos与linux。rtos可以支持快速初始化sensor并创建pipeline,linux启动后可以直接进行取流等业务。
ifado系列等芯片仅有单个core,RTOS首先运行在core0 Secure world并在preload app完成flash操作后,进行load linux并run linux on core0 non-secure world。