S5PV210的SD卡启动详解1

1、SoC为何要支持SD卡启动

(1)一个普遍性原则就是:SoC支持的启动方式越多,将来使用时越方便,用户的可选择性就越大,SoC的适用面就越广。

(2)SD卡有一些好处:譬如可以在不借用专用的烧录工具(类似Jlink)的情况下对SD卡进行刷机,然后刷机后的SD卡插入卡槽,SoC既可以启动;譬如可以用SD卡启动进行量产刷机(量产卡)。像我们X210开发板,板子贴片好的时候,内部iNand是空的,此时无法启动;板子出厂前官方刷机时把事先做好的量产卡插入SD卡卡槽,然后打到iNand方式启动;因为此时iNand是空的所以第一启动失败,会转而第二启动,就从外部SD2通道的SD卡启动了。启动后执行刷机操作对iNand进行刷机,刷机完成后自动重启(这回重启时iNand中已经有image了,所以可以启动)。刷机完成后SD量产卡拔掉,烧机48小时,无死机即可装箱发货。

2、SD卡启动的难点在哪(SRAM、DDR、SDCard)

(1)SRAM、DDR都是总线式访问的,SRAM不需要初始化即可使用而DDR需要初始化后才能使用,但是总之CPU可以直接和SRAM/DRAM打交道;而SD卡需要时序访问,CPU不能直接和SD/NandFlash不行。

(2)以前只有NorFlash可以作为启动介质,台式笔记本的BIOS就是NorFlash做的。后来三星在2440中使用了SteppingStone的技术,让NandFlash也作为启动介质。SteppingStone(翻译为启动基石)技术就是在SoC内部内置的4KB的SRAM,然后开机时SoC根据OMpin判断用户设置的启动方式,如果是NandFlash启动,则SoC的启动部分的硬件直接从外部NandFlash中读取开头的4KB到内部SRAM作为启动内容。

(3)启动基石技术进一步发展,在6410芯片中得以完善,在210芯片时已经完全成熟。210中有96KB的SRAM,并且有一段iROM代码作为BL0,BL0再去启动BL1(210中的BL0做的事情在2440中也有,只不过那时候是硬件自动完成的,而且体系没有2210那么详细)。

猜你喜欢

转载自blog.csdn.net/weixin_40405692/article/details/81572313