基于Intel PXA270的嵌入式操作系統(tǒng)移植_第1頁
基于Intel PXA270的嵌入式操作系統(tǒng)移植_第2頁
基于Intel PXA270的嵌入式操作系統(tǒng)移植_第3頁
基于Intel PXA270的嵌入式操作系統(tǒng)移植_第4頁
基于Intel PXA270的嵌入式操作系統(tǒng)移植_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯基于IntelPXA270的嵌入式操作系統(tǒng)移植隨著微電子技術(shù)和計算機技術(shù)的發(fā)展,計算機不斷趨向于微型化和嵌入化,使它更廣泛地融入人們的工作、生活和娛樂等各個方面。人們已經(jīng)普遍使用手機、PDA、手持設(shè)備和掌上電腦等信息終端來儲存和處理各種信息,這正是嵌入式技術(shù)應(yīng)用迅速發(fā)展的一個證明。

進入21世紀(jì)以來,嵌入式技術(shù)逐漸成熟并全面展開,已經(jīng)成為通信和消費類產(chǎn)品的共同發(fā)展方向。在信息家電領(lǐng)域,如網(wǎng)絡(luò)冰箱、家庭網(wǎng)關(guān)、數(shù)字機頂盒、數(shù)字電視等的發(fā)展,使得嵌入式系統(tǒng)正扮演著越來越重要的角色。在個人計算機領(lǐng)域中,嵌入式產(chǎn)品使個人商用、娛樂和通信功能相結(jié)合,以自然的人機交互界面和豐富的多媒體處理能力迅速得以推廣,并取得了巨大成功,而所有上述產(chǎn)品都離不開嵌入式技術(shù)。所以,嵌入式系統(tǒng)的開發(fā),已被人們公認(rèn)為是一個具有良好發(fā)展?jié)摿Φ男袠I(yè)。然而,WindowsCE在不同CPU,不同硬件環(huán)境下的移植成為了限制其進一步發(fā)展的障礙。本文利用PlatformBuilder工具并以EEliodEvluation開發(fā)板為對象,介紹了基于IntelPXA270WindowsCE的移植方法和內(nèi)容。并給出了在此操作系統(tǒng)成功開發(fā)的應(yīng)用程序的運行結(jié)果。

1.系統(tǒng)硬件平臺

論文使用的開發(fā)平臺為深圳億道公司提供的EEliodEvluation開發(fā)板,該開發(fā)板采用的是基于IntelXScale微體系結(jié)構(gòu)的IntelPXA270處理器。IntelPXA270微處理器芯片就是一款集成了32位IntelXScale處理器核、多通信通道、LCD控制器、增強型存儲控制器和PCMCIA/CF控制器以及通用I/O口的高度集成的應(yīng)用處理器。

2.WindowsCE.net嵌入式操作系統(tǒng)

WindowsCE.net是為各種嵌入式系統(tǒng)和產(chǎn)品設(shè)計的一種壓縮的、高效的、可升級的操作系統(tǒng)。在WindowsCE.net產(chǎn)品的開發(fā)中,有兩個重要的方面,一個是內(nèi)核定制,一個是應(yīng)用程序的開發(fā),微軟在這兩個方面都提供了非常好的開發(fā)工具,這就是內(nèi)核定制工具PlatformBuilder和應(yīng)用程序開發(fā)工具EmbeddedVisualC++。PlatformBuilder是基于WindowsCE.net平臺下嵌入式操作系統(tǒng)定制的集成開發(fā)環(huán)境。它提供了所有進行設(shè)計、創(chuàng)建、編譯、測試和調(diào)試WindowsCE.net操作系統(tǒng)平臺的工具。同時,還可利用PlatformBuilder來進行驅(qū)動程序開發(fā)和應(yīng)用程序項目的開發(fā)等。由于嵌入式系統(tǒng)資源有限,C++編譯器效率高、性能好,EmbeddedVisualC++(EVC)便成了其應(yīng)用程序廣泛的開發(fā)工具。

對嵌入式WindowsCE.Net操作系統(tǒng)的主要體系結(jié)構(gòu)進行剖析。研究設(shè)計出了維吾爾文本地化環(huán)境,利用資源編譯器編譯和反編譯功能,構(gòu)建了基于WindowsCE.Net平臺的維吾爾文圖形用戶界面資源庫,實現(xiàn)WindowsCE.Net的界面維文化和基于WindowsCE.Net的應(yīng)用程序的維文支持;開發(fā)了輸入法程序,實現(xiàn)WindowsCE.Net的維吾爾文字鍵盤輸入和軟鍵盤輸入;通過編制維吾爾文字庫,為WindowsCE.Net平臺下維吾爾文字的顯示、打印提供了基礎(chǔ)。

3操作系統(tǒng)移植

WindowsCE.net并不是一個通用的安裝版操作系統(tǒng),在形形色色的嵌入式硬件設(shè)備世界里,一款CE系統(tǒng)通常只會針對某一種硬件平臺生成。所以,必須根據(jù)自己的硬件平臺和應(yīng)用場合定制CE。操作系統(tǒng)移植步驟為:

1)對操作系統(tǒng)進行裁減,配置各個組件并且修改相關(guān)的配置文件

2)開發(fā)目標(biāo)設(shè)備系統(tǒng)上的設(shè)備驅(qū)動程序,建立定制的CE操作系統(tǒng)映像文件;

3)將目標(biāo)文件到目標(biāo)設(shè)備上進行調(diào)試;4)定制操作系統(tǒng)內(nèi)核后,導(dǎo)出平臺SDK,供在EmbeddedVisualC++中開發(fā)上層應(yīng)用軟件。

開發(fā)工具PlatformBuilder自身就提供了多種目標(biāo)板的BSP.如果用戶的目標(biāo)板和PlatformBuilder提供的相同,那么只需要重新編譯生成相應(yīng)的系統(tǒng)鏡像到目標(biāo)板即可。但是實際情況更多的可能是處理器相同,而板上的外圍設(shè)備接口不同,這時候只有修改PlatformBuilder中相同或相近的處理器的BSP來生成一個新的BSP,這樣就可以大大減少BSP的研發(fā)周期。

3.1BootLoader的移植

BootLoader是一段單獨的程序代碼,它存放于目標(biāo)平臺的非易失性存儲介質(zhì)中,如ROM或Flash。在開發(fā)CE的過程中,它主要用于啟動硬件和nk.bin到目標(biāo)板上,并有一定的監(jiān)控作用

由于BootLoader涉及到基本的硬件操作,如CPU的結(jié)構(gòu)、指令等,同時又涉及到以太網(wǎng)協(xié)議(TFTP,當(dāng)然也可能通過串口)和映像文件格式。因此從零實現(xiàn)的話,會需要相當(dāng)長的過程。好在微軟為每種類型的CPU都提供了某種標(biāo)準(zhǔn)開發(fā)板的BootLoader例程,因此通常的做法是:從這些例程中尋找與硬件平臺接近的作為標(biāo)本程序,然后再從自己的硬件平臺上入手做相應(yīng)的改動。一些新的評估板可能會由第三方的廠商來提供Bootloader。如果硬件平臺是從這樣的基板設(shè)計而來的話,那么去尋求這些廠商獲取Bootloader來移植,以減少工作量。本文移植使用的就是PXA270Bootloader。

由于實現(xiàn)Bootloader依賴CPU的體系結(jié)構(gòu),因此大多數(shù)Bootloader分為stage1和stage2兩部分,并依賴于CPU體系結(jié)構(gòu)的代碼,例如:設(shè)備初始化代碼等,通常放在stage1中,一般采用匯編語言。而stage2則通常采用C語言實現(xiàn)復(fù)雜功能,而且代碼具有良好的可讀性和移植性。stage1步驟通常包括:硬件設(shè)備初始化;為加載Bootloader的stage2準(zhǔn)備RAM空間;拷貝Bootloader的stage2到RAM空間中;設(shè)置好堆棧;跳轉(zhuǎn)到stage2的C入口點。Bootloader的stage2步驟通常包括:初始化當(dāng)前階段使用的硬件設(shè)備;檢測系統(tǒng)內(nèi)存映射;將Kernel映像和根文件系統(tǒng)映像從Flash上讀到RAM空間中;為內(nèi)核設(shè)置啟動參數(shù);調(diào)用內(nèi)核。

3.2驅(qū)動程序的開發(fā)

與其他操作系統(tǒng)一樣,WindowsCE.net也提供了驅(qū)動軟件,這些軟件的目的是驅(qū)動內(nèi)部和外圍的硬件設(shè)備,或者為他們提供接口。驅(qū)動程序?qū)⒉僮飨到y(tǒng)和設(shè)備連接起來,使得操作系統(tǒng)能夠識別設(shè)備并為應(yīng)用程序提供設(shè)備服務(wù)。目前基于WindowsCE.net的兩種模型是本機設(shè)備驅(qū)動程序和流接口驅(qū)動程序。

本機設(shè)備驅(qū)動適于集成到WindowsCE.net平臺的設(shè)備。通用LED驅(qū)動和電源驅(qū)動就是這樣的例子。微軟提供了定制接口的方式來支持內(nèi)部設(shè)備驅(qū)動程序,絕大多數(shù)的開發(fā)人員不需要編寫本機設(shè)備驅(qū)動程序。

另外一種驅(qū)動模型是具有定制接口的流接口驅(qū)動程序,它是一般類型的設(shè)備驅(qū)動程序。流接口驅(qū)動程序表現(xiàn)為用戶的動態(tài)鏈接庫DLL,用來實現(xiàn)一組固定的函數(shù)稱為流接口函數(shù),這使得應(yīng)用程序可通過文件系統(tǒng)訪問這些驅(qū)動程序。該部分實例參見參考文獻4,這里不再詳述。

3.3操作系統(tǒng)配置、編譯和

針對開發(fā)中使用的開發(fā)平臺和應(yīng)用需求,下面我們使用WindowsCE.net操作系統(tǒng)移植開發(fā)工具PlatformBuilder來完成操作系統(tǒng)的配置編譯以及工作。

3.3.1配置PlatformBuilder

在完成BSP或者驅(qū)動程序開發(fā)后,就可以用CECEditor來編輯一個CEC文件,成功后就可以把此文件加載到PBIDE中。其中的原理就是PB用CEC文件來增加或者刪除某個功能單元,PB會解釋CEC文件中的數(shù)據(jù)格式。CEC文件編輯如圖1所示。加載CEC文件到PB中如圖2所示。

圖1編輯CEC文件實例

圖2加載CEC文件實例

3.3.2配置操作系統(tǒng)

選擇File-NewPlatform來開始一個“NewPlatformWizard”,按照PlatformWizard完成平臺的基本配置,在第三步選擇BSP包時,選擇EMDOORSYSTEMSXSBASE270:ARMV4I。NetCF2.0時有些依賴的部件無法選擇,通過選擇。NetCF1.0支持就完成選擇了。

完成向?qū)Ш螅诰幾g內(nèi)核鏡像前,需要在Catalog中添加一些我們需要的組件和配置整個平臺系統(tǒng)變量。在Catalog中點擊右鍵就可以添加組件到工程中??梢栽诓藛蜼iew/Catalog中打開Catalog窗口,將選用到的組件添加到系統(tǒng)中。

針對本文中應(yīng)用程序開發(fā)的需要,在EELiod開發(fā)平臺上選用的系統(tǒng)配置方案為:

(1)添加UsbActivesync(文件同步)

(Catalog-CoreOS-WindowsCE.netdevices-Applications-EndUser-ActiveSync-FileSync)

(2)添加COM組件運行時加載支持

(Catalog-CoreOS-WindowsCE.netdevices-ApplicationsandServicesDevelopment-ComponentObjectMode-COM-CoCreateGuidfunctionalityforOLE32)

(3)添加USBMassStorage

(Catalog-CoreOS-WindowsCE.netdevices-CoreOSServices-USBHostSupport-USBStorageClassDriver)

(4)添加FatFileSystem

(Catalog-CoreOS-WindowsCE.netdevices-FileSystemsandDataStore-StorageManager-FATFileSystem)

(5)添加DiskPartition

(Catalog-CoreOS-WindowsCE.netdevices-FileSystemsandDataStore-StorageManager-PartitionDriver)

(6)添加軟鍵盤

(Catalog-CoreOS-WindowsCE.netdevices-FileSystemsandDataStore-StorageManager-StorageManagerControlPanelApplet)

(7)添加USBClient驅(qū)動

(Catalog-DeviceDrivers-USBFunction-USBFunctionClients-Serial)

(8)添加網(wǎng)卡驅(qū)動

(Catalog-ThirdParty-BSPs-EmdoorSystemsXSBase270:ARMV4I-DeviceDrivers-Networking-LocalAreaNetworking(LAN)devices-lan91c111)

(9)添加UsbActivesync(USBFunction)。

(Catalog-ThirdParty-BSPs-EmdoorSystemsXSBase270:ARMV4I-DeviceDrivers-USBFunction-USBFunctionBusDrivers-PXA27xUSBFunction)

3.3.3編譯平臺

在配置好操作系統(tǒng)后,下一步就是編譯,編譯過程分成4個階段:sysgen階段、特征編譯(featurebuild)階段、發(fā)行目錄拷貝(releasecopy)階段、映像生成(makeimage)階段。在開始編譯前,需要通過Platform-Setting對話框來配置一些編譯選項,在該系統(tǒng)中所設(shè)置編譯選項如圖3所示。

圖3配置平臺編譯設(shè)置

3.3.4鏡像

開發(fā)板和PC機可以通過串行餅行端口、以太網(wǎng)和JTAG/BDM來進行操作系統(tǒng)映像的。開發(fā)板同PC機接網(wǎng)線、串口線,設(shè)定超級終端,系統(tǒng)在開發(fā)板上運行。

編譯整個平臺,待編譯成功后會在Release目錄($FLATRELEASEDIR)下會找到一個Bootloader鏡像文件eboot.nbo和系統(tǒng)鏡像文件NK.bin。具體使用方法為將Eboot.nb0復(fù)制到j(luò)flash工具執(zhí)行文件所在的目錄,打開命令行,轉(zhuǎn)到Jflash目錄,執(zhí)行JflashPXA270eboot.nb0命令。

Jflash使用PC機的并口將eboot.nb0到開發(fā)板,上面命令中Pxa270是我們開發(fā)板上JTAG接口的相關(guān)配置信息。向目標(biāo)板上系統(tǒng)鏡像的途徑有多種,如通過串口、并口、網(wǎng)卡、USB等。只要BootLoaderPC機上支持,可以選擇效率高的一種來鏡像。本論文中我們用到的BootLoader程序Eboot支持網(wǎng)卡,使用PlatformBuilder自帶工具。配置如圖4所示:

Target-ConnectivityOptionsinPlatformBuilder.

圖4操作系統(tǒng)鏡像

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論