新聞中心

        EEPW首頁 > 電源與新能源 > 嵌入式系統(tǒng)設(shè)計(jì)和Windows CE

        嵌入式系統(tǒng)設(shè)計(jì)和Windows CE

        ——
        作者: 時(shí)間:2007-02-28 來源:ARM 嵌入式資源站 收藏
        正是CE和其它全功能的嵌入式系統(tǒng)的時(shí)候了。利用相應(yīng)較高級別的集成、較低的成本來減少任務(wù),以及增加的性能都使得全新的應(yīng)用成為可能。
        在PDA上運(yùn)行的WindowsCE已經(jīng)被推出近兩年了,而且與一些大的電子製造商,像Matsushita(Panasonic)和Hitachi等聯(lián)合,它也已被選為一些機(jī)頂裝置設(shè)計(jì)和其它消費(fèi)電器的操作系統(tǒng)。盡管這些消費(fèi)類的應(yīng)用是WindowsCE的最可見的應(yīng)用,但Microsoft及其伙伴正忙于開發(fā)上百種其它應(yīng)用,用于廣泛的傳統(tǒng)或非消費(fèi)類的嵌入式系統(tǒng)。嵌入式設(shè)計(jì)為CE贏得了工業(yè)控制、數(shù)據(jù)收集、銷售點(diǎn)、堅(jiān)固的手持式產(chǎn)品、以及網(wǎng)絡(luò)裝置等行業(yè)。隨著製造商在未來三到九個(gè)月中將這些產(chǎn)品投放市場,CE方案的廣泛範(fàn)圍將明顯增加。
        什麼是WindowsCE
        WindowsCE是Windows操作系統(tǒng)家族的最新成員。但它并不是WindowsNT或Windows9x的一部份或縮減版本。WindowsCE擁有它自己的系統(tǒng)結(jié)構(gòu),具備獨(dú)立開發(fā)的內(nèi)核和獨(dú)一無二的設(shè)備驅(qū)動程序模型。CE不同于它的臺式兄弟,它最初就是為佔(zhàn)用較少內(nèi)存的應(yīng)用程序、即用操作、微處理器可移植性以及電源守恆而設(shè)計(jì)的。在應(yīng)用程序開發(fā)和功能特性方面,CE還享有WindowsNT和Windows9x的關(guān)鍵部分。
        WindowsCE支持一個(gè)用于臺式操作系統(tǒng)的具有600多個(gè)Win32應(yīng)用程序界面(ApplicationProgramInterface,API)的子集,包括內(nèi)置聯(lián)網(wǎng)技術(shù),并提供相同的部件技術(shù)(包括COM/OLE和動態(tài)鏈接庫)。此外,CE支持相同的臺式開發(fā)工具VisualC ,VisualBasic和VisualJava并支持Microsoft擴(kuò)展C ,包括結(jié)構(gòu)化異常處理。

        為何使用WindowsCE?
        正是CE和其它全功能的嵌入式系統(tǒng)的時(shí)候了。利用相應(yīng)較高級別的集成、較低的成本來減少任務(wù),以及增加的性能都使得全新的應(yīng)用成為可能,也使現(xiàn)有應(yīng)用中增加的互連性和更豐富的功能特性更加靈活。嵌入式系統(tǒng)的複雜性和差異性正逐漸從硬件轉(zhuǎn)移到軟件上。如果基于合適的軟件平臺,這些面向軟件的系統(tǒng)就會提供更大的靈活性以適應(yīng)市場需求,使各種生產(chǎn)線趨于通用,并減少投放市場的時(shí)間。CE比其競爭者在更大程度上著重于軟件和軟件開發(fā)者。

        WindowsCE為嵌入式系統(tǒng)開發(fā)者提供下列顯著優(yōu)勢:
        1.Win32API。WindowsCE與WindowsNT和Windows9x使用相同的基本API。這些是由全球兩百多萬的軟件開發(fā)者使用的相同API。API的普遍傳播使得開發(fā)隊(duì)伍能夠平衡開發(fā)者的技能,以減少重復(fù)訓(xùn)練的時(shí)間并增加對現(xiàn)有開發(fā)者的接近機(jī)會。對于嵌入式系統(tǒng)的軟件部份增加需求分析意味著軟件開發(fā)者部分是降低開發(fā)成本和加快投放市場時(shí)間的關(guān)鍵。
        2.開發(fā)工具。用于Win發(fā)工具和技術(shù)與用于WindowsNT和Windows9x的相同。用于CE的現(xiàn)有工具包括VisualC ,VisualBasic和VisualJava;這些都是運(yùn)行于WindowsNT系統(tǒng)上的,大多數(shù)軟件開發(fā)者一般都可得到它們。這又一次說明,開發(fā)者的生產(chǎn)能力是直接由工具、技術(shù)和開發(fā)系統(tǒng)的通用性而增長的。
        3.軟件集成。WindowsCE是一種集成的操作系統(tǒng),它包括圖形、窗口管理和聯(lián)網(wǎng)技術(shù),以及基本的操作系統(tǒng)支持,例如定時(shí)器、中斷處理和同步原語。Microsoft已經(jīng)將這些部件集成在一起,并已測試了這個(gè)集成軟件系統(tǒng)。利用WindowsCE,嵌入式系統(tǒng)開發(fā)者不必從多家供應(yīng)商處尋找這些部件,然后將它們集成在一起并測試整個(gè)系統(tǒng)。
        4.處理器支持。盡管WindowsCE是一個(gè)年輕的操作系統(tǒng),但它已支持廣泛的微處理器體系結(jié)構(gòu),包括CISC和RISC。目前,WindowsCE支持Hitachi的SH、MIPS、PowerPC、ARM和x86體系結(jié)構(gòu)  通常每種結(jié)構(gòu)系列都有多個(gè)變種。CE嵌入式設(shè)計(jì)者擁有廣泛的微處理器可供挑選,這使你在優(yōu)化系統(tǒng)的性能、電源消耗、組件大小、成本以及集成外設(shè)方面能夠做出最佳選擇。開發(fā)工具和操作系統(tǒng)部件在所有體系結(jié)構(gòu)上表現(xiàn)一致,因此,這就為你在系統(tǒng)之間平衡軟件提供了靈活性,即使在基礎(chǔ)的微處理器不相同時(shí)也是如此。
        5.第三方支持。將焦點(diǎn)放在軟件上就鼓勵了第三方獨(dú)立軟件供應(yīng)商(ISV,independentsoftwarevendor)去開發(fā)和銷售能在各種設(shè)計(jì)之間平衡的軟件。Microsoft通過它的市場佔(zhàn)有、現(xiàn)有的ISV關(guān)系和銷售努力,已使ISV在CE平臺方面產(chǎn)生了巨大的興趣。ISV軟件已日益增多,有開發(fā)工具、設(shè)備驅(qū)動程序、應(yīng)用程序和組件。這又一次說明了嵌入式設(shè)計(jì)者擁有平衡現(xiàn)有工作、減少項(xiàng)目風(fēng)險(xiǎn)、開發(fā)成本和投放市場時(shí)間的機(jī)會。
        WindowsCE是以軟件為中心的嵌入式開發(fā)模型。這種以軟件為首的模型產(chǎn)生了大量的部件和應(yīng)用程序,開發(fā)者就有時(shí)間來增加每種開發(fā)項(xiàng)目的作用。Microsoft支持其現(xiàn)有的開發(fā)者、工具和技術(shù)基礎(chǔ)的能力意味著WindowsCE將繼續(xù)享有其競爭者沒有的顯著優(yōu)勢。

        供CE用的嵌入式工具箱
        EmbeddedToolkit(ETK,嵌入式工具箱)是用于嵌入式WindowsCE開發(fā)的軟件開發(fā)箱,它支持系統(tǒng)級和應(yīng)用程序的開發(fā)。ETK由VisualC (VC )開發(fā)環(huán)境、編程工具、以及二進(jìn)制形式的WindowsCE操作系統(tǒng)部件組成。該工具箱包括交叉編譯器、匯編程序、以及遠(yuǎn)程調(diào)試程序,這些調(diào)試程序用于集成到VC IDE(IntegratedDevelopmentEnvironment,集成開發(fā)環(huán)境)的所有受支持的微處理器。
        為某個(gè)特定的微處理器結(jié)構(gòu)進(jìn)行目標(biāo)編譯和調(diào)試僅僅是在VC 菜單上改變某個(gè)設(shè)置。在一臺通過串行、并行或網(wǎng)絡(luò)連接與一臺單獨(dú)的WindowsCE目標(biāo)設(shè)備相連的WindowsNT主機(jī)系統(tǒng)上完成開發(fā)。在主機(jī)上編寫并編譯代碼,然后通過互連將代碼下載到目標(biāo)上。調(diào)試是遠(yuǎn)程進(jìn)行的,也是通過互連。
        用于嵌入式設(shè)計(jì)的CE操作系統(tǒng)是從Microsoft所提供的部件和設(shè)計(jì)者所開發(fā)的部件中建立起來的。基本部件以庫的形式或動態(tài)鏈接庫(DLL,dynamiclinklibrary)的形式提供。在某些情況下,通過鏈接系統(tǒng)指定的部件(設(shè)備驅(qū)動程序和系統(tǒng)函數(shù))到基本庫部件來形成可執(zhí)行的圖象和DLL。在一個(gè)索引文件中選擇將包含在最終操作系統(tǒng)建立中的程序部件,然后執(zhí)行一個(gè)編譯圖象程序來創(chuàng)建WindowsCEROM圖象。該程序執(zhí)行許多函數(shù),這些函數(shù)就象典型的臺式裝載函數(shù),例如圖象重定位和DLL的匯集。最終的ROM圖象適合于XIP(executeinplace,現(xiàn)場執(zhí)行)或RAM執(zhí)行。
        ETK還包括一個(gè)用于應(yīng)用程序開發(fā)的擴(kuò)展仿真環(huán)境。仿真器在臺式電腦上執(zhí)行WindowsCE的虛擬版本,允許在缺乏WindowsCE目標(biāo)設(shè)備的情況下在本地運(yùn)行編譯-調(diào)試循環(huán)。

        仿真環(huán)境通過減少程序下載時(shí)間和遠(yuǎn)程調(diào)試來加速開發(fā)周期。而且,仿真程序還可用于在獲得工作原型硬件之前開發(fā)應(yīng)用程序軟件,減少開發(fā)過程的順序化。BSquare估計(jì)對于典型的應(yīng)用程序來說,90 的開發(fā)都可在仿真環(huán)境中完成。剩下的10 (調(diào)試和測試)在實(shí)際的目標(biāo)硬件上完成。

        開發(fā)周期
        以下是成功開發(fā)一個(gè)WindowsCE嵌入式系統(tǒng)的理想化過程的步驟(忽略了定義和銷售產(chǎn)品的主要步驟):
        設(shè)計(jì)WindowsCE硬件系統(tǒng);
        將WindowsCE移植到目標(biāo)硬件;
        創(chuàng)建用戶界面;
        編寫軟件應(yīng)用程序?qū)印?BR>OEM也需要與Microsoft或像BSquare這類Microsoft認(rèn)可的銷售商協(xié)作,以獲得WindowsCE許可。
        硬件設(shè)計(jì)方面的大部份是由產(chǎn)品需求決定的。但是CE的某些要求和考慮將影響到硬件系統(tǒng)的設(shè)計(jì)。例如,設(shè)計(jì)者在所需求的WindowsCE版本中選擇一種由Microsoft支持的微處理器就很重要。設(shè)計(jì)者必須考慮一些用于CE的要求,包括一個(gè)間隔定時(shí)器和計(jì)年時(shí)鐘。
        對于XIPROM、RAM和非易失存儲器的內(nèi)存要求是針對應(yīng)用程序的,很大程度上取決于所要求的操作系統(tǒng)部件和軟件應(yīng)用程序。設(shè)計(jì)者需要考慮存儲器持久性或非易失存儲器的要求,因?yàn)镃E不是磁碟操作系統(tǒng);相反,它將數(shù)據(jù)存儲在可能位于RAM或非易失存儲器的目標(biāo)存儲區(qū)內(nèi)。對于擁有直接用戶界面的設(shè)備而言,設(shè)計(jì)者可以選擇觸摸屏的指示筆或手指輸入,或選擇鼠標(biāo)輸入。(CE支持兩者。)此外,CE允許你選擇LCD或顯示器顯示。

        移植WindowsCE
        將WindowsCE移植到硬件上包括如下步驟:
        編寫引導(dǎo)程序
        編寫OEM適配層(OEMAdaptionLayer,OAL)
        編寫設(shè)備驅(qū)動程序。

        1.引導(dǎo)程序。引導(dǎo)程序是在系統(tǒng)上電時(shí)(或在重新啟動之后)執(zhí)行的一段代碼。引導(dǎo)程序負(fù)責(zé)初始化硬件系統(tǒng),裝載WindowsCE,然后啟動執(zhí)行。它可以是一個(gè)中等復(fù)雜程度的軟件,這取決于所要求的系統(tǒng)配置和所包含的調(diào)試支持的數(shù)量。引導(dǎo)程序?qū)⒔⒊跏嫉奈⑻幚砥髋渲茫渲萌魏蜗到y(tǒng)板ASIC,可能定義高速緩存和存儲器(例如DRAM定時(shí)器)的尺寸并配置它們,以及執(zhí)行總線配置(例如PCI總線配置)。引導(dǎo)程序的很多功能類似于臺式PC上的BIOS的初始化功能。
        2.OAL.OAL是系統(tǒng)和微處理器專用的代碼中的一小部份,它抽象化系統(tǒng)級的硬件功能(例如中斷處理,高速緩存控制,硬件定時(shí)器和內(nèi)核時(shí)鐘)。
        3.設(shè)備驅(qū)動程序。設(shè)備驅(qū)動程序提供外設(shè)和操作系統(tǒng)之間的抽象概念。WindowsCE驅(qū)動程序能夠支持廣泛的設(shè)備,包括輸入設(shè)備、顯示設(shè)備、聲音發(fā)生器、網(wǎng)絡(luò)接口、以及通信設(shè)備。開發(fā)驅(qū)動程序所要求的工作範(fàn)圍取決于設(shè)備本身的復(fù)雜性、是否使用現(xiàn)成的驅(qū)動程序、以及所需求的驅(qū)動程序數(shù)量。若想為該平臺創(chuàng)建一組已完全調(diào)試的設(shè)備驅(qū)動程序則需要一定量的有效工作。
        設(shè)計(jì)者有多種選擇以縮短WindowsCE端口的開發(fā)周期。第三方的ISV提供源代碼工具,為特定的微處理器設(shè)計(jì)供應(yīng)引導(dǎo)程序、OAL和設(shè)備驅(qū)動程序。BSquare目前為AMDElanSC400、CyrixMediaGX系列、StrongARM1100、MotorolaPPC821系列、AMD-K6、NEC4300和HitachiSH7709提供工具。衹要處理器被推出而且市場成熟,就會開發(fā)額外的工具。

        用戶界面、桌面或外圍是CE嵌入式設(shè)計(jì)的關(guān)鍵決策。桌面是調(diào)出和控制應(yīng)用程序的框架,可用的控制是定義系統(tǒng)個(gè)性的重要決策。設(shè)計(jì)者可選擇獨(dú)立開發(fā)外圍,引導(dǎo)至某個(gè)單一用戶可視的應(yīng)用程序,或購買某種界面建立程序來加速開發(fā)。用戶界面的形式和要求在很大程度上取決于應(yīng)用程序。目前,唯一現(xiàn)成的界面建立程序是BSquare的CEEmbeddedDesktop。
        WindowsCE系統(tǒng)是由運(yùn)行于其操作系統(tǒng)之上的應(yīng)用程序定義的。目標(biāo)是讓設(shè)計(jì)者利用包含在產(chǎn)品中的軟件應(yīng)用程序的結(jié)合將他們的時(shí)間花在定義和區(qū)分他們的產(chǎn)品上。這些程序中有些可從ISV處購買,有些則需利用WindowsCEETK來開發(fā)和移植。

        了解更多

        你可以找到WindowsCE的培訓(xùn)課程。有些課程針對于WindowsCE的應(yīng)用程序級的開發(fā),而有些則針對于移植CE的系統(tǒng)級開發(fā)。此外,還有一些資料豐富的Web網(wǎng)址;WindowsCE網(wǎng)址http://www.microsoft.com/windowsce/embedded/default.asp提供了一些有關(guān)設(shè)計(jì)和系統(tǒng)屬性的技術(shù)性文章,以及一個(gè)很好的FAQ(常見問題回答)。BSquare網(wǎng)址(www.bsquare.com)也提供了有關(guān)WindowsCE設(shè)計(jì)的詳細(xì)的技術(shù)文章,以及技術(shù)產(chǎn)品和服務(wù)信息。
        最后,已在WindowsCE方面受過訓(xùn)練的系統(tǒng)集成人員也是減少學(xué)習(xí)時(shí)間的寶貴資源。你可以向這類專家咨詢最初的項(xiàng)目,這樣可以節(jié)省很多時(shí)間。已經(jīng)做了大量的研究工作,工程師和設(shè)計(jì)者們可以立即把這一點(diǎn)作為大幅度減少投放市場時(shí)間的手段。



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 禄丰县| 东乌珠穆沁旗| 临江市| 长治县| 沾益县| 三明市| 定州市| 宁都县| 扎赉特旗| 茂名市| 双江| 台安县| 义马市| 梓潼县| 定兴县| 哈巴河县| 龙南县| 绥芬河市| 运城市| 额济纳旗| 黄大仙区| 琼结县| 定陶县| 综艺| 浦北县| 阿城市| 南投县| 兴义市| 将乐县| 苗栗市| 临清市| 两当县| 普安县| 稷山县| 华容县| 班玛县| 绥芬河市| 平果县| 子洲县| 柯坪县| 寿阳县|