一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

關(guān)于EBoot和NBoot的區(qū)別(轉(zhuǎn)):

 lhzstudio 2011-10-05

關(guān)于EBoot和NBoot的區(qū)別(轉(zhuǎn)):  

2010-07-18 21:30:27|  分類: WinCE |  標簽: |字號 訂閱

        S3C2410處理器支持將啟動代碼存儲在NAND Flash中。為了實現(xiàn)這一功能,2410配備了一個名為“Steppingstone”的內(nèi)部SRAM。在啟動時,NAND Flash中第一個4K字節(jié)的內(nèi)容將被加載到Steppingstone中并執(zhí)行。這個工作由MCU主動完成,而我們只需將NAND Flash配置為Auto Boot模式即可。

       一般來說,啟動代碼會拷貝存儲在NAND Flash中的內(nèi)容至SDRAM中。在使用ECC校驗時,NAND Flash中數(shù)據(jù)的有效性將被確認。在完成拷貝的工作后,啟動代碼將跳轉(zhuǎn)到已加載到SDRAM中的主程序中,這時啟動代碼的使命完成,MCU由主程序來控制。

       WinCE操作系統(tǒng)從文件的組成來看一般分為兩部分:BOOTLOADERNK.bin。在WinCE中,BOOTLOADER一般為EBOOT。它的主要功能是初始化硬件設(shè)備,主要包括CPU內(nèi)部的相關(guān)控制器、內(nèi)存、網(wǎng)絡(luò)、串口甚至USB口和LCD。在初始化完成后,它將通過網(wǎng)絡(luò)或USB從外部下載NK.bin,或從本地Flash中加載NK.bin并執(zhí)行,從而啟動WinCE操作系統(tǒng)??梢钥吹?/span>Eboot雖然是啟動代碼,但它得完成相當(dāng)多的工作,最終的映像文件也將超過4K。所以,我們不能直接將Eboot存放在NAND Flash的第一個4K字節(jié)中。我們需要一個更小的啟動代碼,這就是通常所說的NBOOT(NAND BOOT)

       通過上面的介紹,我們知道了NBOOT在整個系統(tǒng)中扮演的角色,它負責(zé)將EBOOT加載到內(nèi)存并運行。在EBOOT開始執(zhí)行后,NBOOT就退出了歷史的舞臺,事實上也不再有上場的機會。

       NBOOT的代碼實現(xiàn)中,我們必須完成以下幾個部分。

1.       初始化CPU內(nèi)部相關(guān)控制器,如設(shè)置GPIO,關(guān)閉Watch Dog,關(guān)閉中斷,設(shè)置系統(tǒng)時鐘。

2.       初始化內(nèi)存。

3.       初始化串口,主要用來輸出調(diào)試信息。

4.       初始化NAND Flash,因為在MCU啟動時默認是Auto Boot模式,為了從NAND Flash中讀取EBOOT,需要將其配置成 NAND Flash Mode。

5.       讀取NAND Flash中的EBOOT映像文件,并放在內(nèi)存指定的位置,這個地址是跟EBOOT有關(guān),介紹EBOOT時再詳細說明。

6.       完成讀取之后,跳轉(zhuǎn)到EBOOT的起始位置,執(zhí)行EBOOT代碼。

一般來說,前面兩個功能在startup.s中實現(xiàn),WinCE6.0下可以參考文件C:"WINCE600"PLATFORM"DEVICEEMULATOR"SRC"BOOTLOADER"EBOOT"startup.s的相關(guān)代碼。后面四個功能可在main.c中實現(xiàn)??傊?,在實現(xiàn)必備功能的情況下,盡可能減少代碼量,以將最后的NBOOT映像文件控制在4K以內(nèi)。

NBOOT的編譯環(huán)境一般有兩種,ADS1.2(或RVDS)、Platform Builder。用ADS1.2編譯NBOOT是比較方便的,需要注意的就是RO BaseRW Base的設(shè)置,RO Base必須設(shè)置為0x0。否則,系統(tǒng)啟動時NBOOT將不被運行。在Post-Linker中選擇ARM from ELF,在Linker——ARM fromELF——Output Format中選擇Plain Binary,這樣,編譯完成后最終生成NBoot.bin。該文件就可以固化在NAND Flash的第0BLOCK中。Platform Builder 6.0是作為VS2005的插件來用的,所以,我們現(xiàn)在也可以用VS2005來編譯NBOOT,這樣就免得再安裝ADSRVDS等軟件。用VS2005來編譯NBOOT也有兩種方法,第一種跟編譯EBOOT映像文件類似,第二種是自己寫makefile文件,然后用命令行的方式調(diào)用ARM編譯器來編譯。兩種方法各有優(yōu)點,第一種方法在編譯OS時,會自動編譯生成映像,而第二種方法可由ADS下的程序直接移植過來,不過,要寫好makefile文件是相當(dāng)困難的事情。一般還是少用為好。

----------------------------------------------------------

.bin文件和.nb0文件的差別

eboot.nb0
eboot.bin
nk.nb0
nk.bin

.bin文件和.nb0文件的差別:

.nb0是可以直接燒到FLASH/ROM中的,是代碼鏡像,可以直接跳轉(zhuǎn)到其入口執(zhí)行。
.bin是Microsoft binary image格式的文件,必須按其格式定義解開到其指定的地址空間的位置才能執(zhí)行。

兩個都是CE的鏡像,通過串口直接下載用nb0,pb下載用bin,nb0文件要大一些。

nb0是非壓縮的數(shù)據(jù),里面的數(shù)據(jù)是實際的NK展開以后在內(nèi)存里面的數(shù)
bin是有壓縮的數(shù)據(jù),里面的數(shù)據(jù)是壓縮以后類似于成塊形的數(shù)據(jù),被loader拷貝到內(nèi)存以后沒有區(qū)別。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产福利一区二区三区四区| 免费一级欧美大片免费看| 久久永久免费一区二区| 日韩和欧美的一区二区三区| 久草视频这里只是精品| 国自产拍偷拍福利精品图片| 中文字幕亚洲视频一区二区| 黄色三级日本在线观看| 一区中文字幕人妻少妇| 91人妻丝袜一区二区三区| 婷婷基地五月激情五月| 久久精品色妇熟妇丰满人妻91| 人人妻人人澡人人夜夜| 精品一区二区三区乱码中文| 亚洲国产av精品一区二区| 亚洲欧美视频欧美视频| 国产三级欧美三级日韩三级| 成人精品日韩专区在线观看| 欧美乱码精品一区二区三| 国产欧美日韩精品自拍| 香蕉网尹人综合在线观看| 国产美女精品人人做人人爽| 色欧美一区二区三区在线| 精品人妻一区二区三区四区久久| 国产精品欧美激情在线观看| 91精品国自产拍老熟女露脸| 日本免费熟女一区二区三区| 黄色片一区二区三区高清| 激情亚洲内射一区二区三区| 国产又粗又猛又爽又黄| 99久久免费看国产精品| 亚洲一区二区福利在线| 高清在线精品一区二区| 老司机精品视频在线免费| 久久碰国产一区二区三区| 日韩人妻精品免费一区二区三区| 日本一区二区三区久久娇喘| 国内精品伊人久久久av高清 | 日本中文在线不卡视频| 好吊妞视频免费在线观看| 激情内射日本一区二区三区|