S3C2440 支持从norflash和nandflash启动。 Nandflash不参与统一编址,CPU总是从编址的0地址处取指令执行,为了实现从nandflash启动,S3C2440芯片从在CPU启动的时候,首先将nandflash前面4kB的内容复制到芯片中的叫做stepping stone的sram中,steppping stone只有4KB大小,4KB的代码会完成一些硬件初始化的工作,并且将nandflash中剩余部分的代码复制到SDRAM中去,这部分代码包括bootload的剩余代码或者还有内核代码,并在内存中执行。S3C2440内存是从0x30000000地址开始的,也就是BANK6. S3C6410 启动方式:norflash启动(但6410开发板并没有norflash)、oneNAND启动、MODEM启动、IROM(Internal ROM)启动(包括SD卡启动和NANDFLASH启动)。在0地址处是一个映射区域,当从IROM启动的时候,IROM的内容会映射到这一区域,CPU从这里开始取映射到此处的指令。 地址布局: InternalROM从0x08000000-0x0BFFFFFF、stepping stone从0x0C000000-0x0FFFFFFF、内存从0x50000000开始。 启动流程: 选择从IROM启动,开发板上电之后,IROM被映射到0地址处,CPU取IROM中第一条指令。在IROM中有芯片厂商固化好的软件BL0,BL0会进行一些硬件的初始化,还会将放在nandflash中的BL1(8K)拷贝到stepping stone运行,BL1会将NANDFLASH中剩余的BL2拷贝到SDRAM中运行,从而完成整个bootload的运行。
S5PV210 启动方式:I-ROM启动,其中包括SD卡启动、NANDFLASH启动、USB启动、串口启动。 地址分布: IROM从0xD0000000-0xD000FFFF的64KB的空间 IRAM(steppingstone)0xD0020000-0xD0037FFF的96KB空间。 0地址处采用映射模式,通过跳线选择映射设备。 内存从0x2000000-0x3FFFFFFF,512MB内存空间。 启动流程:
处理器上电之后,IROM会被映射到0地址处,CPU从IROM中取第一条指令。固化在IROM中的BL0会进行硬件的初始化工作,之后BL0会将NANDFLASH中BL1拷贝InternalRAM(垫脚石,96KB),之后BL1拷贝剩余的BL2到垫脚石中。BL1和BL2都有最大空间容量,BL1最大不超过16KB,BL2最大不超过80KB,一般BL1只会进行代码复制工作,16KB空间足够,如果BL2超过了80KB,可以将超过80KB的部分拷贝到内存中。
|