samsung 4412 启动流程笔记
这个笔记用来记录Samsung 4412芯片启动流程。
- Samsung 4412启动流程分析
- BL1分析
- BL2分析
- uboot结构分析
——————-
这个是4412芯片的启动步骤:
上电之后程序先运行irom之内的程序,这个是固化在芯片内部的程序,没有必要更改,不开源;irom将程序BL1代码拷贝到iram内部运行,BL1的代码主要是用作安全性校验,其结构如下:
头部包含BL1大小,校验和的值;
主体就是BL1加密之后的程序;
结尾是三星提供的公钥以及签名。
irom加载BL1的时候会对BL1进行校验。BL1本身不用去关心,Samsung只是为了安全处理做的BL1。
BL2的代码其实是和uboot结合在一块的,占用整个文件的前14K
这是BL1、BL2和uboot在emmc中的分布。
这个值BL2的结构,最上面那个就是14K,下面是校验签名以及填充区。BL2主体没有加密,但是下面有签名!
uboot固定大小是328K! 不足328K可以必须补充0填充!
在uboot的makefile里面,有这么几句:
@./sdfuse_q/chksum
@./sdfuse_q/add_padding
@rm bl2a*
内存映射布局