X210(三星S5PV210)开发板启动过程小结

    最近在学习朱有鹏老师的linux嵌入式核心课程中的第一部分《ARM裸机部分》,学到了S5PV210的启动过程,在这里做个小结以加深理解。我使用的开发板是深圳九鼎创展的X210V3S版本的开发板。

1. CPU上电后先从内部ROM(三星文档中称作iROM)读取预先烧录好的代码BL0(BootLoader 0)执行。这个内部ROM是一块NorFlash,所以不需要初始化工作,可以直接读取其中的程序。BL0这段代码做了一些基本的初始化工作:

1.1 关闭看门狗

1.2 初始化指令Cache

1.3 初始化栈和堆(为了能使用C语言,之前的代码都要用汇编写)

1.4 初始化块设备的复制函数(后面读取外部寄存器需要用到)

1.5 初始化PLL和设置系统时钟

1.6 复制BL1(BootLoader 1)程序到内部SRAM存储器

1.7 检查校验和,若校验和错误,尝试第二启动方案

1.8 查看是否安全启动模式并做相应的检查(我暂时不知道啥是安全模式,不影响后面的学习)

1.9 跳转到BL1程序去执行

注意:由于S5PV210这颗CPU支持休眠模式,事实上在执行步骤1.3之前会判断当前是否是从休眠模式中唤醒的,如果是从休眠模式唤醒的话就直接跳到步骤1.9去执行BL1程序了;不是休眠模式唤醒的话才按顺序执行上面的步骤。为了简化学习过程,我们假定CPU是从上电开始复位的。

在执行步骤1.6的时候,会根据OM引脚来判断当前从哪个外设去读取BL1程序。按照三星给出的官方文档,支持的外设有SSD/NAND/ONENAND/NORFLASH/SD/USB。我手上这块开发板只支持两种方式,SD启

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值