[U-boot][itop4412]4412启动的步骤

接上一节
README分析

4412启动的步骤:

iROM
BL1
BL2
u-boot
Linux

以下都是在三星Exynos4412情况(有误请指正,谢谢),其他芯片仅供参考

1. iROM

称为:BL0,内部程序由芯片厂商提供,固化启动代码
a.iROM提供了执行arm代码的基本环境:关闭IRQ和MMU,初始化系统时钟,设置看门狗,初始化堆和栈
b.加载BL1,从引导设备中:SD/MMC、eMMC4.3、eMMC4.4和NAND。
c.iROM检查下载的BL1的完整性。
详细需要看流程图

2. BL1:(BootLoader1 = Header + Encrypted BL1 + Signature)

a.在iRAM中运行(IRAM上电就能用)
b.初始化IRQ和SVC堆栈
c.BL1代码将BL2映像复制到内部RAM,并检查BL2映像的完整性。
d.为了安全考虑,有秘钥,校验下一个文件 ()
注:8k或者15K(iROM写死了)

3. BL2:(BootLoader2 = BL2 + Checksum + Signature + Padding)

a.在iRAM中运行
b. BL2的前部分是u-boot的前14K
c.初始化IRQ和SVC堆栈,设置系统时钟,初始化DRAM,初始化某些设备
d.加载OS image(BL3)

4. u-boot

a. 最大的裸机程序(值得仔细研究)
b.初始化IRQ和SVC堆栈,设置系统时钟,初始化DRAM,
c.初始化各种设备驱动,个人认为串口最重要了,然后网络等等,
(其他的相对来说不是很重要,毕竟只是一个过渡)

u-boot-xxx.bin

这个应该是根据板子的需求,进行结合生成最后的u-boot.bin文件;
如下是:u-boot-xxx.bin=BL1+BL2+padding+u-boot+tzsw

cat  
E4412_N.bl1.SCP2G.bin  
bl2.bin 
all00_padding.bin  
u-boot.bin 
tzsw_SMDK4412_SCP_2GB.bin 
> u-boot-iTOP-4412.bin
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值