S3C2440
支持從norflash和nandflash啟動。
Nandflash不參與統(tǒng)一編址,CPU總是從編址的0地址處取指令執(zhí)行,為了實現(xiàn)從nandflash啟動,S3C2440芯片從在CPU啟動的時候,首先將nandflash前面4kB的內(nèi)容復(fù)制到芯片中的叫做stepping stone的sram中,steppping stone只有4KB大小,4KB的代碼會完成一些硬件初始化的工作,并且將nandflash中剩余部分的代碼復(fù)制到SDRAM中去,這部分代碼包括bootload的剩余代碼或者還有內(nèi)核代碼,并在內(nèi)存中執(zhí)行。S3C2440內(nèi)存是從0x30000000地址開始的,也就是BANK6.
S3C6410
啟動方式:norflash啟動(但6410開發(fā)板并沒有norflash)、oneNAND啟動、MODEM啟動、IROM(Internal ROM)啟動(包括SD卡啟動和NANDFLASH啟動)。在0地址處是一個映射區(qū)域,當(dāng)從IROM啟動的時候,IROM的內(nèi)容會映射到這一區(qū)域,CPU從這里開始取映射到此處的指令。
地址布局:
InternalROM從0x08000000-0x0BFFFFFF、stepping stone從0x0C000000-0x0FFFFFFF、內(nèi)存從0x50000000開始。
啟動流程:
選擇從IROM啟動,開發(fā)板上電之后,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地址處采用映射模式,通過跳線選擇映射設(shè)備。
內(nèi)存從0x2000000-0x3FFFFFFF,512MB內(nèi)存空間。
啟動流程:
處理器上電之后,IROM會被映射到0地址處,CPU從IROM中取第一條指令。固化在IROM中的BL0會進行硬件的初始化工作,之后BL0會將NANDFLASH中BL1拷貝InternalRAM(墊腳石,96KB),之后BL1拷貝剩余的BL2到墊腳石中。BL1和BL2都有最大空間容量,BL1最大不超過16KB,BL2最大不超過80KB,一般BL1只會進行代碼復(fù)制工作,16KB空間足夠,如果BL2超過了80KB,可以將超過80KB的部分拷貝到內(nèi)存中。