亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ARM的WINCE系統(tǒng)定制

        2008-04-12 00:00:00余宏兵李寶安申功勛
        現(xiàn)代電子技術(shù) 2008年10期

        摘 要:WINCE以其高度集成化,可按需求裁剪等特點,已經(jīng)在嵌入式操作系統(tǒng)中得到廣泛應(yīng)用,成為ARM系統(tǒng)的重要組成部分,對其成功定制是基于ARM平臺進行系統(tǒng)開發(fā)的重要步驟。分析WINCE開發(fā)流程及板級開發(fā)包BSP的編寫過程,詳細論述利用Platform Builder為YL2440開發(fā)板定制及安裝操作系統(tǒng)的方法、步驟及需要解決的問題。實驗結(jié)果證明此方法正確有效、實用性強,為同類系統(tǒng)的開發(fā)提供了依據(jù)。

        關(guān)鍵詞:WINCE;BSP;Platform Builder;操作系統(tǒng)定制

        中圖分類號:TP316.7 文獻標(biāo)識碼:B

        文章編號:1004-373X(2008)10-073-03

        System Configuration of WINCE Based on ARM

        YU Hongbing,LI Baoan,SHEN Gongxun

        (School of Astronautics,Beihang University,Beijing,100083,China)

        Abstract:WINCE has been widely applied in the embedded operation system because of its highly integrated characteristic and being tailored according to require ments of applications.It has became an important part of ARM systerm.Customizing the operating system is important step.This paper analyses the architecture of WINCE,explains the process of board support package,finally describes the process of customizing the operating system in detail by using the Platform Builder based on YL2440 board.

        Keywords:WINCE;BSP;Platform;operating system configuration

        Windows CE是微軟公司推出的一個功能強大的實時嵌入式操作系統(tǒng),他可以用在手機、機頂盒、智能手持設(shè)備、網(wǎng)關(guān)、數(shù)字媒體設(shè)備、工業(yè)控制等多種場合。由于WINCE采用模塊化設(shè)計,開發(fā)人員可以根據(jù)系統(tǒng)的需要選擇自己需要的模塊,從而達到減小系統(tǒng)體積的目的,已經(jīng)越來越多地被開發(fā)廠商支持及使用,迅速成為嵌入式操作系統(tǒng)主流平臺之一。他有強大的開發(fā)工具Platform Builder,為基于Windows CE開發(fā)嵌入式系統(tǒng)的工程師提供非常便利的集成開發(fā)環(huán)境,其他可選擇的開發(fā)工具有Embedded Visual C++和Visual Studio.NET等[1]。

        1 WINCE體系結(jié)構(gòu)及開發(fā)流程

        如圖1所示,基于Windows CE構(gòu)建的嵌入式系統(tǒng)可以分為4個層次,從下到上依次是:硬件層、BSP層、操作系統(tǒng)層和應(yīng)用程序?qū)?sup>[2]。

        硬件層通常是根據(jù)應(yīng)用需要定制的,因此在嵌入式系統(tǒng)中,硬件體系結(jié)構(gòu)之間的差異非常大。BSP層是邏輯上位于硬件和Windows CE操作系統(tǒng)之間的一層硬件相關(guān)的代碼,其主要作用是對具體的硬件進行抽象,抽象出統(tǒng)一的接口,然后Windows CE內(nèi)核可以使用這些接口與硬件進行通信。操作系統(tǒng)層實現(xiàn)Windows CE作為一個操作系統(tǒng)的主要功能,位于這一層的功能有Windows CE的進程管理、線程管理、處理機管理、調(diào)度、物理內(nèi)存和虛擬內(nèi)存管理、文件系統(tǒng)及設(shè)備管理等。應(yīng)用程序?qū)游挥赪indows CE層次結(jié)構(gòu)的最頂層,從系統(tǒng)的角度看,每個應(yīng)用程序都是Windows CE中的一個單獨進程。微軟開放了部分Windows CE的源代碼,并且允許開發(fā)人員對這部分源代碼進行修改利用。目前Windows CE 5.0是最新的版本。

        WINCE開發(fā)流程要首先進行硬件設(shè)計,確定系統(tǒng)所運行的硬件平臺,硬件平臺可自主研發(fā),也可從硬件廠商處購買。隨后要有針對這塊硬件板的板級支持包(BSP),在自主研發(fā)的硬件中,BSP通常也需自主研發(fā)。再通過Platform Builder工具定制操作系統(tǒng),可根據(jù)具體應(yīng)用需要,選擇需要的操作系統(tǒng)功能組件,然后生成操作系統(tǒng)運行時映像,當(dāng)硬件和操作系統(tǒng)都已經(jīng)具備后,所剩下的就是為自己的平臺開發(fā)一些必要的應(yīng)用程序。

        2 ARM及開發(fā)板硬件平臺

        ARM是對一類RISC微處理器的通稱。目前,ARM微處理器已遍及工業(yè)控制、消費類電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)及無線系統(tǒng)等各類電子市場。三星公司推出的16/32位RISC微處理器S3C2440A,是一種低價格、低功耗、高性能小型ARM微控制器。其杰出的特點是其核心處理器(CPU),是一個16/32位ARM920T的RISC處理器。ARM920T實現(xiàn)了MMU,AMBA BUS和Harvard高速緩沖體系結(jié)構(gòu)。這一結(jié)構(gòu)具有獨立的16 kB指令Cache和16 kB數(shù)據(jù)Cache。并通過提供一套完整的通用系統(tǒng)外設(shè),減少整體系統(tǒng)成本和無需配置額外的組件。采用S3C2440A作為中央處理器的開發(fā)板很多,這里采用優(yōu)龍公司生產(chǎn)的YL2440開發(fā)板作為硬件平臺,其主頻達到400 Hz,外部存儲器為64 MB,帶有2個5線異步串行口、2個USB1.1接口和2個網(wǎng)口(10 M,100 M各一),為下載燒錄操作系統(tǒng)提供了便利[3,4]。

        3 BSP開發(fā)流程

        如圖2所示,BSP主要由4部分構(gòu)成:引導(dǎo)程序、BSP抽象層、設(shè)備驅(qū)動程序和配置文件?,F(xiàn)實中,從零開始編寫B(tài)SP所有代碼的情況很小,大多數(shù)情況下,開發(fā)BSP都是基于現(xiàn)有的類似BSP的源代碼作修改[5]。

        如圖2所示,開發(fā)BSP的步驟,大致可分為7個步驟,系統(tǒng)加電后運行的第1條指令就是引導(dǎo)程序(Boot Loader)的代碼,因此開發(fā)Boot Loader是進行BSP開發(fā)的第一個步驟。其主要功能是初始化硬件,加載操作系統(tǒng)映像(OS Image)到內(nèi)存,然后跳轉(zhuǎn)到操作系統(tǒng)代碼去執(zhí)行。Boot Loader通常僅次于目標(biāo)設(shè)備上的非易失存儲設(shè)備中,并且在加電或重置時自動執(zhí)行,通??赏ㄟ^JTAG或串口燒寫工具把Boot Loader燒寫到目標(biāo)設(shè)備上。

        從靜態(tài)的角度來看,Boot loader 的結(jié)構(gòu)可分為以下幾部分:BLCommon、OEM代碼、Eboot、存儲管理、EDBG驅(qū)動程序,除了OEM代碼是以O(shè)EM開頭的一些函數(shù),需要Boot Loader開發(fā)人員根據(jù)自己硬件特點和需求實現(xiàn),需自己進行編寫之外,其他幾個部分的代碼都是由Windows CE本身提供。

        OAL是位于Windows CE操作系統(tǒng)內(nèi)核和目標(biāo)硬件設(shè)備之間的硬件抽象代碼,也需要自己編寫,主要用來對網(wǎng)口、串口、計時器等目標(biāo)設(shè)備進行初始化。在構(gòu)建中,被編譯成OAL.Lib庫文件,與其他的庫進行統(tǒng)一的鏈接,最終形成Windows CE操作系統(tǒng)內(nèi)核可執(zhí)行文件NK.exe。 

        4 WINCE內(nèi)核定制

        Platform Builder是微軟公司發(fā)布的一款用于定制Windows CE操作系統(tǒng)的集成開發(fā)環(huán)境。開發(fā)人員可以使用這個集成開發(fā)環(huán)境完成嵌入式操作系統(tǒng)的定制、編譯和調(diào)試,并且還可以在這個集成開發(fā)環(huán)境中進行應(yīng)用軟件、驅(qū)動程序的開發(fā)等。他包括一系列開發(fā)工具、上下文菜單、工具欄和快捷鍵等。其主要開發(fā)步驟為:進入新建Platform向?qū)?;選擇板級支持包(BSP);選擇開發(fā)的類庫;選擇應(yīng)用程序;選擇客戶端的Internet服務(wù);選擇多媒體技術(shù)等,最終生成操作系統(tǒng)內(nèi)核鏡像文件,在啟動系統(tǒng)時只要加載鏡像文件就可以啟動WINCE操作系統(tǒng)[5]。

        首先,選擇一臺以Windows 2000 XP為操作系統(tǒng)的PC機作為開發(fā)機,安裝Platform Builder 5.0作為WINCE.NET 5.0的開發(fā)環(huán)境,根據(jù)使用經(jīng)驗,PC機最好是有1 GHz以上的CPU以及512 MB以上的內(nèi)存,Platform Builder 5.0運行才會比較流暢,且安裝需要3~4 GB磁盤空間,因此也需有足夠大的硬盤。安裝過程中還要求選擇處理器內(nèi)核,這里選擇嵌入式內(nèi)核ARMV4I。其他需用到的軟件還有ActiveSync,作為開發(fā)板和安裝桌面Windows XP的PC機之間信號傳輸工具;燒錄軟件DNW;編寫驅(qū)動軟件Embedded Visual C++等[6]。

        其次要安裝BSP。第一步要添加BSP中的CEC文件,CEC文件是對BSP文件塊的總體描述,包括源代碼、版本、作者等,打開Platform Builder 5.0編譯工具,點擊主菜單“File”下的“Manage Catalog Features”菜單項,可以看到“SMDK2410.CEC”文件,這是Platform Builder 5.0自帶的主板支持包,只能支持S3C2410硬件平臺,這里要點擊“Import”,導(dǎo)入廠家提供的“SMDK2440.CEC”(如圖3所示)。導(dǎo)入后,在Platform Builder 5.0目錄上就可看到“Samsung SMDK2440:ARMV4I”列,驅(qū)動的安裝可從主菜單“File”下的“Open Workspace”,選擇開發(fā)板“YL2440.pbxml”工程文件,添加所有的驅(qū)動。直接點擊Build|Sysgen開始編譯平臺。編譯完成后,得到SMDK2440的二進制的映象文件:nk.bin和“nk.nb0”,一般而言,這2個文件位于編譯平臺時生成的文件夾“WINCE500|PBWorkspaces|PlatformName|RelDir|SAMSUNG[CD#*2]SMDK2440|ARMV4Release”下面,其中“nk.nb0”可以被下載到YL2440的RAM空間執(zhí)行,執(zhí)行的結(jié)果就是在RAM中直接運行Wince 5.0操作系統(tǒng)(如圖4所示)。nk.nb0可以通過USB下載到SDRAM中來運行,下載的運行地址為0X30200000,步驟為先用串口線將PC機和開發(fā)板的串口連接起來,打開DNW,設(shè)置好串口參數(shù):波特率11 520,接著連接好USB DEVICE,點擊DNW的“USB Port”,選擇“Transmit”,選擇要傳輸?shù)膎k.nb0,直至下載結(jié)束。

        定制過程中,需要注意一些問題,一是在編譯WINCE時,經(jīng)常會出現(xiàn)這樣的錯誤:Error:Ram start overlaps rom binary。這是因為編譯Debug版本時文件太大,超過29 MB時系統(tǒng)就會報錯,直接后果是導(dǎo)致ROM和RAM空間的沖突,出現(xiàn)地址交錯現(xiàn)象。解決方法是:減少一些組件重新進行編譯,或是在WINCE 5.0下,打開config.bib文件,改動一語句“RAM8E80000001700000 RAM”為 “RAM8F80000001700000 RAM”,重新編譯之后問題得以解決。二是進行部分驅(qū)動及應(yīng)用程序的開發(fā)前,需要用Platform Builder 5.0為不同的開發(fā)板去定制不同的SDK(Software Development Kit,即輔助開發(fā)某一類軟件的相關(guān)文檔、范例和工具的集合),且保證編譯完全正確,否則在開發(fā)機(模擬PC機)上開發(fā)出的驅(qū)動及應(yīng)用程序,在開發(fā)板上無法識別,如安裝EVC為YL2440開發(fā)板開發(fā)攝像頭驅(qū)動時,就需要正確安裝適用于YL2440開發(fā)板的SDK作為開發(fā)的基礎(chǔ)[7]。

        5 結(jié) 語

        WINCE系統(tǒng)定制是嵌入式系統(tǒng)開發(fā)的重要環(huán)節(jié),是進行后續(xù)功能開發(fā)的軟件平臺,其定制過程是十分復(fù)雜的,需要對WINCE系統(tǒng)本身的結(jié)構(gòu)和文件之間的調(diào)用非常清楚,還要求對所依托的硬件足夠熟悉,本文在特定硬件平臺上對操作系統(tǒng)內(nèi)核的定制進行分析論述,最終成功進行定制,并對定制過程中所遇到的問題進行討論,提出解決的方法,為下一步的系統(tǒng)開發(fā)建立基礎(chǔ)[8]。

        參 考 文 獻

        [1]汪兵.EVC高級編程及其應(yīng)用開發(fā)[M].北京:中國水利水電出版社,2005.

        [2]何宗鍵.Windows CE嵌入式系統(tǒng)[M].北京:北京航空航天大學(xué)出版社,2006.

        [3]陳連坤.嵌入式系統(tǒng)的設(shè)計與開發(fā)[M].北京:清華大學(xué)出版社,2005.

        [4]Steve Furber.ARM System on Chip Architecture[M].2002.

        [5]姜波.Windows CE.Net程序設(shè)計[M].北京:機械工業(yè)出版社,2006.

        [6]廖日坤.ARM嵌入式應(yīng)用開發(fā)技術(shù)白金手冊[M].北京:中國電力出版社,2005.

        [7]李敬兆.ARM核匯編語言程序設(shè)計[M].北京:中國科技大學(xué)出版社,2006.

        [8]何桂華.基于SamArmdvk 9開發(fā)板的WINCE系統(tǒng)定制與安裝[J].長沙電力學(xué)報:自然科學(xué)版,2005,30(3):54-56.

        作者簡介

        余宏兵 男,1977年出生,碩士研究生。主要研究方向為導(dǎo)航、制導(dǎo)與控制。

        李寶安 北京航空航天大學(xué)無人機所研究員。

        申功勛 北京航空航天大學(xué)宇航學(xué)院教授,博士生導(dǎo)師。

        亚洲不卡在线免费视频| 就去吻亚洲精品欧美日韩在线| 国产精品99精品一区二区三区∴| 日韩精品极品视频在线观看蜜桃| 中文字幕一区二区黄色| 成年美女黄网站色大免费视频| 无遮挡h肉动漫在线观看| 无遮挡亲胸捏胸免费视频| 国产人妖xxxx做受视频| 日本视频一区二区三区| 精品国产一区二区三区色搞| 人妻 日韩 欧美 综合 制服| 国产精品jizz在线观看老狼| 另类专区欧美在线亚洲免费| 亚洲av偷拍一区二区三区| 亚洲国产精品久久久婷婷| 最新欧美精品一区二区三区| 亚洲 另类 日韩 制服 无码| 亚洲色图视频在线| 亚洲免费成年女性毛视频| 人妖一区二区三区在线| 亚洲av日韩综合一区二区三区| 欧美mv日韩mv国产网站| 亚洲高潮喷水中文字幕| 亚洲最大的av在线观看| 娇小女人被黑人插免费视频| 国产深夜男女无套内射| 五月激情婷婷丁香| 中文字幕一区二区va| 亚洲国产一区二区三区精品| 亚洲综合在线一区二区三区| 亚洲色图视频在线| av中文码一区二区三区| 成人大片免费观看视频| 久久久久人妻一区精品| 特级毛片a级毛片在线播放www| 成人免费无码视频在线网站| 日本一区二区三区经典视频| 无码人妻丰满熟妇啪啪网站| 一个人看的www免费视频中文| 久久久调教亚洲|