cortex A8处理器启动分析一引导代码BL0

crotex A8是基于ARMv7架构的处理器,主频可以达到1GHz。基于crotex A8的处理器有三星的S5PC100、S5PV210,TI的OMAP3530,全志的A10等。我有个想法就是把u-boot的2个阶段的代码独立。第一阶段代码称为硬件相关BL1,第二阶段代码称为硬件无关BL2。手上刚好有块s5pc100的板子,就介绍s5pc100的启动过程并验证。我把启动过程分为3个阶段BL0、B
摘要由CSDN通过智能技术生成

cortex A8是基于ARMv7架构的处理器,主频可以达到1GHz。基于cortexA8的处理器有三星的S5PC100、S5PV210,TI的OMAP3530,全志的A10等。我有个想法就是把u-boot的2个阶段的代码独立。第一阶段代码称为硬件相关BL1,第二阶段代码称为硬件无关BL2。手上刚好有块s5pc100的板子,就介绍s5pc100的启动过程并验证。我把启动过程分为3个阶段BL0、BL1、BL2。BL0是固化在内部ROM上电就执行的一小段程序,我把自己写的boot代码,用于引导u-boot称为BL2,把u-boot的第二阶段代码用于引导内核称为BL2。这是我的理解,在接下来我将依次分析BL0、BL1、BL2,并实现BL1代码引导u-boot,BL2移到内核。

一、什么是BL0

BL0(1st boot loader)是固化在内部ROM上电就执行的一小段程序。BL0从系统指定的外部存储器件(NAND、SD/MMC、OneNAND与USB)中加载第二个引导程序BL1到内部RAM,同时对BL1进行安全检验。启动过程如下:


二、BL0做了些什么

s5pc100芯片手册见2.2FUNCTIONAL SEQUENCE,翻译成中文如下

1.初始化PLL和时钟,将其设定为固定值;
2.初始化栈和堆区域;
3.初始化指令Cache 控制器;
4.从外部起动设备中加载BL1ÿ

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值