现在的ARM处理器都支撑多种发动形式,S3C6410和曾经的Samsung的ARM处理器相同,经过外部管脚OM[4:0]的拉高拉低来决议是从哪个存储设备上发动。我以为S3C6410的User Manual并没有说的很清楚,所以我在最开始运用的时分,也对其发动形式有一些误解,下面就我个人的了解,介绍一下S3C6410的发动。
先读一下S3C6410 User Manual的第3章System Controller,在123页列了一张表,如图:
这章表列出了S3C6410所支撑的几种发动形式。首要介绍一下和发动形式相关的硬件管脚:
OM[4:0]:挑选发动设备及时钟源。OM[0]为0挑选XXTlpll,为1挑选XEXTCLK。
从表中能够看出,S3C6410如同并不支撑Nandflash发动,由于Boot Device中没有Nandflash设备。当OM[4:0]为0000x/0001x/0010x/0011x的时分,Boot Device是Reserved,我想这儿是Samsung在6410中有意要隐秘什么。假如你用过S3C6400,你应该知道在S3C6400 User Manual中也有这么一张表,描绘了s3c6400的发动形式,详细S3C6400的发动形式也是在第3章System Controller,在第107页的表,如图:
我想和S3C6410的表对照一下就会发现,两个处理器的发动形式是兼容的,我以为S3C6410应该兼容S3C6400的发动形式,只不过Samsung在S3C6410 User Manual中躲藏了S3C6400中所支撑Nandflash发动形式,意图可能是Samsung不期望在S3C6410中运用Nandflash发动,而要推重IROM的发动形式。个人了解啊!
下面来总结一下S3C6410所支撑的发动形式:
1. NORFlash发动
经过Nor Flash发动,此刻OM[4:1]为0100或0101,对应8bit和16bit。
2. NandFlash发动
虽然在S3C6410 User Manual中没有说到,可是也是支撑的,从S3C6400 User Manual能够找到。OM[4:1]四个硬件管脚决议了Nandflash发动,以及支撑的Nandflash的类型,包含大Page和小Page,地址周期为3,4,5。当然,XSELNAND管脚也要为1。
3. OneNAND发动
首要XSELNAND管脚为0,其次OM[4:1]为0110,为OneNand发动形式。
4. MODEM发动
当OM[4:1]为0111的时分,为MODEM发动。S3C6410经过MODEM接口下载boot代码到内部RAM中,然后进行引导。
5. IROM发动
当OM[4:1]为1111的时分,从Internal ROM中发动,此刻GPN[15:13]用于辨认设备的类型。这种形式曾经没见过,这儿详细介绍一下。