新聞中心

S3C6410 IROM啟動(dòng)

作者: 時(shí)間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
IROM啟動(dòng)(internal ROM Booting),IROM啟動(dòng)是指從OneNAND、SD/MMC卡和NANDFlash存儲(chǔ)設(shè)備啟動(dòng)的方式,見下圖,描述了6410支持的啟動(dòng)模式。


本文引用地址:http://butianyuan.cn/article/201611/317611.htm

圖1

1.IROM啟動(dòng)方式的圖解


圖2

上圖的啟動(dòng)流程根據(jù)進(jìn)一步細(xì)化為下面的流程,結(jié)合圖1和圖2理解:

1)處理器上電后,當(dāng)OM[4:1]=1111時(shí),執(zhí)行6410芯片中IROM的啟動(dòng)代碼(bootcodes),這個(gè)啟動(dòng)代碼稱為BL0,它具體會(huì)做一些初始化的工作,初始化system clock, D-TCM, devicespecific controller and booting device。

2)根據(jù)GPN[15:13]管腳的設(shè)置,假如是圖1中標(biāo)識(shí)的NAND啟動(dòng)介質(zhì),則GPN[15:13]=101,這樣BL0就會(huì)從BL1中讀取前4KB的程序,也就是從NAND的第0個(gè)block中讀取第0和第1頁這4KB的程序到SteppingStone的(0x0C000000)地址內(nèi)存處運(yùn)行,這4KB的程序(在Real6410開發(fā)板中式nbl.nb1,大小為4KB)是去掉.rdata部分的鏡像文件。

3)BL1的這4K程序,可以初始化系統(tǒng)時(shí)鐘,UART,SDRAM等設(shè)備,然后拷貝Bootloader2(BL2)到SDRAM的(0x800000000)地址內(nèi)存處。

4)然后跳轉(zhuǎn)到SDRAM中的BL2繼續(xù)運(yùn)行,BL2支持更強(qiáng)大的功能,在此開發(fā)板設(shè)計(jì)中,BL2拷貝eboot到SDRAM的(0x8003000)地址內(nèi)存處。

5)接著跳轉(zhuǎn)到SDRAM中的eboot中繼續(xù)運(yùn)行,其中eboot進(jìn)一步初始化硬件和把WINCE內(nèi)核鏡像拷貝到SDRAM的(0x80100000)地址內(nèi)存處

6)最好在SDRAM中開始執(zhí)行NK。

在上面整個(gè)啟動(dòng)的過程中,IROM是最先被運(yùn)行的,它會(huì)首先做一些初始化,具體IROM的流程如下:
1) 禁用Watch-dog
2) 初始化TCM
3) 初始化設(shè)備拷貝函數(shù),用于拷貝BL1到SteppingStone中
4)初始化棧區(qū)域
5) 初始化PLL
6) 初始化指令Cache
7) 初始化堆區(qū)域
8) 拷貝BL1到SteppingStone中
9) 驗(yàn)證BL1
10) 跳轉(zhuǎn)到SteppingStone中運(yùn)行

2. IROM啟動(dòng)方式的流程圖

為了更好理解IROM啟動(dòng)方式的流程,看下面的流程圖:


圖3

3.基于NAND Flash的 IROM啟動(dòng)方式的啟動(dòng)塊分配(Boot Block Assignment)


圖4



關(guān)鍵詞: S3C6410IROM啟

評(píng)論


技術(shù)專區(qū)

關(guān)閉