摘 要:系統(tǒng)移植是解決嵌入式操作系統(tǒng)在不同硬件平臺上運行的關(guān)鍵技術(shù),論文以基于S3C2440的嵌入式系統(tǒng)為目標(biāo)硬件平臺,分析了Windows CE操作系統(tǒng)在該平臺上移植的相關(guān)技術(shù),重點闡述了BSP的框架結(jié)構(gòu)和功能,以及各部分的具體實現(xiàn),移植充分考慮了代碼的重用性原則。
關(guān)鍵詞:操作系統(tǒng)移植;S3C2440;Windows CE;板級支持包
前言
近年來,嵌入式技術(shù)及產(chǎn)品的快速成長成為了全球IT產(chǎn)業(yè)發(fā)展的顯著特征之一,嵌入式系統(tǒng)以多種形式,日益融入到我們的工作和生活中。操作系統(tǒng)作為嵌入式系統(tǒng)最重要的軟件系統(tǒng),需要在用戶定制的硬件平臺上運行,要解決這一問題,就要實現(xiàn)嵌入式操作系統(tǒng)的移植。移植的目的是使嵌入式操作系統(tǒng)能在特定的硬件平臺上運行,它是進行嵌入式系統(tǒng)應(yīng)用軟件開發(fā)的基礎(chǔ)。在實際的嵌入式項目開發(fā)過程中,采用操作系統(tǒng)移植可以顯著縮短軟件開發(fā)的周期,加快新產(chǎn)品推向市場的時間。鑒于此,本文對Windows CE在基于S3C2440硬件平臺上的移植進行研究。
1 Windows CE及目標(biāo)硬件平臺
Windows CE是微軟開發(fā)的一款功能強大的實時嵌入式操作系統(tǒng),它采用模塊化設(shè)計,使得開發(fā)人員根據(jù)需要定制設(shè)備,有助與快速地開發(fā)功能各異的產(chǎn)品與服務(wù)。同時,微軟為Windows CE的開發(fā)提供了一系列的集成定制和開發(fā)工具,其中,進行Windows CE 操作系統(tǒng)移植用到的開發(fā)工具為Platform Builder(以下簡稱PB),它是一個集操作系統(tǒng)“構(gòu)建-調(diào)試-發(fā)布”三者為一體的集成開發(fā)環(huán)境。
目標(biāo)硬件平臺以S3C2440為主控,S3C2440是samsung推出的一款16/32 bit的RISC嵌入式微處理器,它采用ARM920T內(nèi)核,并具有豐富的片內(nèi)資源。同時,硬件平臺采用256M的Nand Flash和64M的SDRAM分別作為硬盤和內(nèi)存。同時,擴展串口用來輸出調(diào)試信息,采用DM9000來擴展以太網(wǎng)接口來實現(xiàn)網(wǎng)絡(luò)通信,利用UDA1341TS音頻編解碼芯片來實現(xiàn)音頻的采集和播放。
2 BSP結(jié)構(gòu)分析及系統(tǒng)移植
在Windows CE中,通常把嵌入式操作系統(tǒng)與硬件的通信接口抽象為單獨的一層函數(shù),操作系統(tǒng)調(diào)用這一層函數(shù)來間接實現(xiàn)對硬件的訪問,這一層軟件系統(tǒng)就是BSP。只需要重寫或修改BSP代碼,就能完成操作系統(tǒng)在特定硬件平臺的移植。BSP由BootLoader、OAL、設(shè)備驅(qū)動程序和配置文件等組成。
BootLoader是操作系統(tǒng)啟動之前執(zhí)行的一小段代碼,它的主要功能是初始化硬件設(shè)備,把操作系統(tǒng)鏡像加載到內(nèi)存中運行。OAL是從嵌入式操作系統(tǒng)內(nèi)核抽象出來與硬件通信的接口,具有初始化設(shè)備、抽象硬件功能等作用。設(shè)備驅(qū)動程序是從操作系統(tǒng)中提取物理或虛擬設(shè)備的功能軟件,它隱藏了底層硬件設(shè)備的差異,為應(yīng)用程序調(diào)用硬件功能提供接口。配置文件實際上是一些含有配置信息的文本文件,包括Dirs、Sources、Makefile.bib.reg.db和.dat等文件。為了縮短系統(tǒng)移植開發(fā)的時間,通過對PB中自帶的SMDK2410 BSP包進行修改來實現(xiàn)。
2.1 BootLoader移植
2.2 OAL移植
3結(jié)束語
Windows CE的BSP結(jié)構(gòu)復(fù)雜,函數(shù)眾多,其中的代碼大多是與底層硬件直接相關(guān),移植時需要根據(jù)目標(biāo)硬件平臺的特點來逐一修改,不斷進行調(diào)試,并根據(jù)提示出錯信息,定位錯誤,修改后再調(diào)試,為了減少移植開發(fā)的難度,可以先實現(xiàn)最基本的功能,再一步一步地實現(xiàn)完整的功能,直至完成BSP的移植工作。
參考文獻
[1]王偉,韓巍,張泳等.一種基于ARM的嵌入式操作系統(tǒng)的移植與應(yīng)用[J].工程與試驗,2011,51(1):56-59.
[2]張德華.基于AT91SAM9261平臺的WindowsCE的移植[J].工業(yè)控制計算機,2009,22(4):62-65.
[3]張晶,李心廣.基于IntelPXA270的WinCE操作系統(tǒng)移植[J].微計算機信息,2008,24(5-2):39-41.
[4]穆東棟,基于EP9315處理器的嵌入式WindowsCE移植研究[D].西安:西安電子科技大學(xué),2009:3-63.
[5]趙星星,羅克露,張軍等.嵌入式實時操作系統(tǒng)移植技術(shù)的研究與應(yīng)用[J].計算機工程,2007,33(17):90-92,95.
作者簡介:王玉林,男,湖南衡陽,研究生學(xué)歷,研究方向:嵌入式系統(tǒng)及其應(yīng)用。