新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于S3C2440的WinCE Bootloader的分析與設計

基于S3C2440的WinCE Bootloader的分析與設計

作者: 時間:2011-03-08 來源:網絡 收藏

摘要:針對BootLoader嚴格依賴于具體的硬件系統(tǒng),并且從頭開發(fā)一套適合特定硬件系統(tǒng)的BootLoader又相當復雜這一問題,分析設計了基于S3C2440的WinCE操作系統(tǒng)的引導程序的實現方法。結合飛凌公司的產品TE2440的硬件特性,對BootLoader啟動的兩個階段和配置文件進行了詳細的分析和設計,最終實現了系統(tǒng)引導加載程序的構建。為項目后續(xù)的開發(fā)奠定了良好的基礎。
關鍵詞:系統(tǒng);引導程序;WinCE;EBoot

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

Bootloader的開發(fā)是嵌入式系統(tǒng)開發(fā)必不可少的環(huán)節(jié),一個好的Bootloader不僅可以給項目的后續(xù)開發(fā)工作帶來很大便利,而且在項目開發(fā)結束后對用戶使用產品也提供了很多方便。但是,由于嵌入式的硬件是無標準、非規(guī)范的,Bootloader的功能又是直接與微處理系統(tǒng)相關的,所以給開發(fā)人員的工作帶來了許多不便。在實際的項目開發(fā)中,一般都需要對特定的硬件系統(tǒng)進行Bootloader的設計,可是從頭開發(fā)一套系統(tǒng)的Bootloader是非常復雜并且耗時的,針對這一難點,微軟公司推出的面向嵌入式應用領域的操作系統(tǒng)Windows CE體現了非常大的優(yōu)勢,Windows CE具有強大的操作系統(tǒng)功能、穩(wěn)定可靠的性能、高度的模塊化、可定制性、與桌面Windows平臺一致的開發(fā)特性。它最大的優(yōu)勢是具有高度的模塊化,可以提供與硬件無關的軟件框架,把與硬件無關但是又代表普遍通用性的內容抽取出來,形成標準函數庫。而與硬件相關的不具有通用意義的BootLoader代碼則由開發(fā)人員具體負債開發(fā),這樣就給開發(fā)人員帶來了相當大便利。并且開發(fā)出的Bootloader因是嚴格按照微軟提供的模板開發(fā),所以又有很好兼容性且效率高。
由于Bootloader的實現依賴于CPU的體系結構,因此從固態(tài)存儲設備上啟動的BootLoader大多都是兩個階段的啟動過程。本文以飛凌嵌入式公司的產品TE2440為例,詳細分析Windows CE BootLoader開發(fā)的兩個階段過程。TE2440的微處理器采用三星公司的S3C2440A,主頻400MH-z,內置64 MB SDRAM和64 MB NANDFLASH,10 M網口,采用CS8900Q3。S3C2440支持2種啟動模式:一種是從NandFlash啟動;另一種是從NorF-lash啟動,TE2440支持從NandFlash啟動。

1 Bootloader的第一階段分析
為了防止給后來的調試工作帶來更多的麻煩,要盡量使第一階段做盡可能少的工作,只要使CPU正常工作起來即可,然后把大量復雜的初始化工作留給第二階段來做。第一階段是在ADS(ARM Developer Suite)環(huán)境下開發(fā)的。S3C2440系統(tǒng)引導加載程序包括2440init,s、2440-lib.s函數庫、2440lib.c函數庫、mmu,c、dma,c函數庫等幾個主要的文件。因為與硬件密切相關。所以通常采用匯編語言編寫,本文主要分析s3c2440系統(tǒng)在加電后的硬件設置處理過程,即2440init.s文件中的程序執(zhí)行過程。
第一階段主要包括如下步驟:
(1)進入啟動程序的入口地址,禁止看門狗、屏蔽所有中斷。因為為中斷提供服務通常是操作系統(tǒng)設備驅動程序的責任,所以在Bootlo-ader的執(zhí)行全過程中可以不必響應任何中斷。中斷屏蔽可以通過寫CPU的中斷屏蔽寄存器或狀態(tài)寄存器來完成。
a.JPG

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 4 下一頁

關鍵詞: 嵌入式

評論


相關推薦

技術專區(qū)

關閉