首页 > 技术文章 > S5PV210启动过程分析

zou107 2015-12-17 15:49 原文

一、三星官方推荐方式
1、数据手册《S5PV210_iROM_Application_note》中截取:
(1)第一步:执行BL0。执行完成后调用BL1
(2)第二步:执行BL1。加载BL2到SRAM中
(3)第三步:执行BL2。初始化DDR。
(4)第四步:将OS加载到DDR中
(5)第五步:操作系统在DDR中启动运行
 
2、详细分析
(1)BL0:这一段代码是三星官方出厂时烧录的一段代码,存在SoC内部的iROM(就是SROM,容量64KB)中。
 
(2)BL1:启动代码的前16KB,负责初始化NandFlash和读取启动代码的后面80KB代码到SRAM中运行。
(3)BL2:初始化DRAM,将OS读取到DRAM中,最终启动OS,系统运行起来。
注意:三星推荐的这种方式限制了bootloader的大小不能超过96KB。
 
二、uboot的启动方式
      uboot是一种通用的启动方式,对启动代码的大小没有限制。
      启动过程和三星的前两步是一样的,不同之处在uboot中的BL1会初始化DDR,将uboot的剩余代码全部复制到DRR中,然后,用汇编代码的一句长转移指令跳转到DRR中去执行刚刚copy的一份BL2代码,在BL2中加载操作系统,完成启动。
注意:
(1)uboot的大小没有限制
(2)跳转之前,需要代码的重定位
(3)在实际的工程项目中可能不会使用这种uboot,而是自己写一个uboot,更加适合项目
 
 
 
 
----------------------------------------------------------------------------------
  声明:部分内容摘录至《朱老师物联网视频教程》http://www.zhulaoshi.org/
----------------------------------------------------------------------------------

推荐阅读