首页 > 代码库 > s5pv210的启动方式详解(三)

s5pv210的启动方式详解(三)

iROM中的BL0中具体是做了什么事?

根据Samsung的文档,BL0主要做了以下几件事:
技术分享
技术分享
注:
  • iROM中的BL0是Samsung公司在出厂前已经烧写好了的代码,是不能改变的。
  • BL0在将BL1复制到iRAM中后会根据BL1的内容计算出校验和并和BL1头部的校验和进行比较,如果正确则跳转到BL1中执行第一启动,否则会尝试去SD/MMC的通道2进行启动。(第一启动是可以根据OM pin来选择的,但是第二启动方式固定是SD/MMC的通道2,是不可选择的)。
  • iROM中关于初始化Block Devices Copy Function的问题,在iROM中实现了9种从不同的boot device中复制数据到SDRAM的函数(有个疑问,应该是复制到iRAM中,而文档中说复制到SDRAM中),根据文档iROM就是靠这些函数可以实现将BL1从boot device复制到iRAM。
疑问解决:
    其实这些块设备复制函数不仅可以将boot device中的数据复制到iRAM中去,也可以将数据复制到DRAM中去。只不过如果是复制到DRAM中去,必须要先初始化DRAM controller。iRAM和DRAM是统一编址的,都是在汇编指令中直接给出地址就可以访问,区别是DRAM是由controller控制访问的。
 
我猜测初始化这些Function是指将这些函数的地址写进到iRAM中去,方便以后继续使用。见下面两张图。
技术分享
技术分享
 在iRAM中存放Function的地址,怎么看出存放的是这些Function的首地址呢?是通过文档中写出的宏定义可以看出。宏定义如下:
技术分享
 技术分享

s5pv210的启动方式详解(三)