嵌入式MCU仿真的研究與實現(xiàn).doc_第1頁
嵌入式MCU仿真的研究與實現(xiàn).doc_第2頁
嵌入式MCU仿真的研究與實現(xiàn).doc_第3頁
嵌入式MCU仿真的研究與實現(xiàn).doc_第4頁
嵌入式MCU仿真的研究與實現(xiàn).doc_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

電子科技大學碩士學位論文嵌入式MCU仿真的研究與實現(xiàn)姓名:江樂斌申請學位級別:碩士專業(yè):計算機應用技術指導教師:羅克露20070422,壘塑望璺,:,圖目錄圖目錄圖仿真三要素的關系圖基于事件驅(qū)動的仿真過程圖圖參考模型圖叮結構圖圖寄存器結構圖流水線結構圖圖工作原理示意圈圖工作原理圖工作示意圖圖構件邏輯結構圖邏輯結構工作流程圖構件仿真模型圖構件信號傳遞過程圖管腳信號處理流程圖系統(tǒng)時序控制流程圖構件類關系圖圖構件工作狀態(tài)圖圖流水線并行階段圖流水線類示意圖圖流水線的執(zhí)行流程圖指令集格式圖塊傳輸指令二進制格式圖數(shù)據(jù)訪問功能部件圖圖系統(tǒng)啟動并新建項目圖構件配置及引腳選擇圖啟動運行環(huán)境圖測試畎效果圖表目錄表設計模式及分類縮略語目錄縮略語目錄英文縮寫英文全稱中文釋義高級高性能總線高級微控制器總線體系架構高級外圍總線高級系統(tǒng)總線構件描述語言;。構件對象模型公共對象請求代理體系結構公共對象服務規(guī)范當前程序狀態(tài)寄存器分布式構件對象模型在線仿真器微控制器存儲器管理單元對象管理體系結構對象管理組織面向?qū)ο髮ο笳埱蟠砟\行環(huán)境規(guī)格說明與描述語言片上系統(tǒng)保存程序狀態(tài)寄存器軟件中斷統(tǒng)一建模語言圖形用戶界面獨創(chuàng)性聲明本人聲明所星交的學位論文是本人在導師指導下進行的研究工作及取得的研究成果。據(jù)我所知,除了文中特別加以標注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得電子科技大學或其它教育機構的學位或證書而使用過的材料。與我一同工作的同志對本研究所做的任何貢獻均已在論文中作了明確的說明并表示謝意。簽名:弘紅剎一日期:泓洚¥月嫣關于論文使用授權的說明本學位論文作者完全了解電子科技大學有關保留、使用學位論文的規(guī)定,有權保留并向國家有關部門或機構送交論文的復印件和磁盤,“允許論文被查閱和借閱。本人授權電子科技大學可以將學位論文的全部或部分內(nèi)容編入有關數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復制手段保存、匯編學位論文。(保密的學位論文在解密后應遵守此規(guī)定)簽名:嫩導,簽名鄉(xiāng)牡日期:沙序歸撕第一章緒論課題背景第一章緒論當今信息技術高速發(fā)展,數(shù)字化產(chǎn)品空前繁榮,各類嵌入式電子產(chǎn)品相繼而出,在工業(yè)和服務領域中,使用嵌入式技術的數(shù)字機床、智能工具和工業(yè)機器人也將逐漸改變傳統(tǒng)的工業(yè)和服務方式。嵌入式軟件已經(jīng)成為數(shù)字化產(chǎn)品設計創(chuàng)新和軟件增值的關鍵因素,是未來市場競爭力的重要體現(xiàn)。因此,面向應用的軟件開發(fā)是嵌入式工業(yè)的基礎,與之緊密聯(lián)系的開發(fā)調(diào)試工具則是嵌入式支攆軟件的核心,開發(fā)工具的集成度和可用性直接關系到嵌入式系統(tǒng)的開發(fā)效率。通常嵌入式系統(tǒng)的開發(fā),由于目標系統(tǒng)和開發(fā)主機使用的是不同體系結構的處理器,因此無法在開發(fā)機上運行和測試目標程序,需要建立一個交叉編譯環(huán)境,將編譯后的可執(zhí)行代碼下載到目標平臺上運行。這樣就使得只能在目標系統(tǒng)設計完成之后,才能進行上層軟件的調(diào)試和開發(fā)。嵌入式軟件仿真是在開發(fā)主機上通過軟件仿真目標系統(tǒng)微控制器的體系結構,提供一個指令集的模擬器,方便用戶在目標硬件完成之前做好一部分軟件工作,進行簡單代碼的調(diào)試。由于它和真實的硬件環(huán)境還有相當?shù)牟顒e,因此并不能完全地依賴于在仿真環(huán)境下的開發(fā),最終的代碼還需要在相應的硬件平臺上測試通過。目前國內(nèi)外廣泛采用的嵌入式軟件開發(fā)平臺有三種類型:采用仿真方式的開發(fā)平臺仿真開發(fā)又分為硬件仿真和軟件仿真。比較高級的是實時在線仿真系統(tǒng)(),這是一種硬件仿真的方式,成本高昂,不適合團隊開發(fā);此外還有模擬器等硬件仿真工具。國內(nèi)如深圳英蓓特公司開發(fā)出采用主機一目標機交叉模型,國外知名嵌入式微控制器(,)廠商一般都隨同其產(chǎn)品提供了仿真工具,也有其合作伙伴為其開發(fā)的仿真開發(fā)環(huán)境,如為公司提供的。軟件仿真產(chǎn)品方面,國內(nèi)較知名的有南京偉福公司的,國內(nèi)的開源項目可以在下仿真一些開發(fā)板對軟件進行功能性驗證;國外方面,日本公司研究人員在過去幾年試圖實現(xiàn)嵌入式軟件開發(fā)全過程的仿真,其它的電子科技大學碩士學位論文如則實現(xiàn)了處理器核結構級仿真。嵌入式實時多任務操作系統(tǒng)支持的開發(fā)平臺這是隨著嵌入式技術發(fā)展而逐步完善起來的最新趨勢,代表是公司的、,公司的,公司支持編程接口的,公司的,公司的】等;國內(nèi)方面,北京科銀京成公司推出的。它們支持輕型網(wǎng)絡和圖形界面開發(fā),功能較完備,主要用于嵌入式系統(tǒng)中高端產(chǎn)品的開發(fā),如網(wǎng)絡產(chǎn)品、醫(yī)療電子設備?;诔绦蛟O計語言的開發(fā)平臺早期采用匯編語言,現(xiàn)在還包括嵌入式程序設計語言,如引入嵌入式系統(tǒng)的,其功能簡單,適合普通智能電器開發(fā),如微波爐,電磁爐和空調(diào)等。這些開發(fā)平臺各有優(yōu)缺點。國外產(chǎn)品功能強大、工具覆蓋面廣,但普遍存在不開放,行業(yè)支持弱、價格昂貴、售后服務難以保證等問題。國內(nèi)對嵌入式系統(tǒng)開發(fā)技術的研究很多還停留在試驗成果階段,有待深入。嵌入式構件仿真模型的提出嵌入式系統(tǒng)本身是一個軟硬件高度結合的產(chǎn)物,隨著嵌入式應用的廣泛發(fā)展,硬件環(huán)境之間差異也逐漸增大。當前的開發(fā)系統(tǒng)大都以交叉開發(fā)為特征,對硬件平臺依賴性強。軟件的開發(fā)與硬件環(huán)境的構造相互影響,錯誤難以定位,軟件功能調(diào)試和性能測試不能及時完成,極大影響開發(fā)進度,降低軟件質(zhì)量。雖然部分開發(fā)系統(tǒng)加入了軟件仿真支持,但大多針對某幾個系列目標處理器和固定的操作系統(tǒng),專用性強,仿真覆蓋面小,開發(fā)過程復雜,軟件重用性差,缺少對行業(yè)功能支持,開發(fā)效率不高。在了解當前嵌入式產(chǎn)品的開發(fā)需求和技術現(xiàn)狀,確定核心問題和關鍵技術之后,本文綜合研究軟件仿真技術以及構件技術領域工程構架,提出了一種為嵌入式仿真開發(fā)平臺的設計提供支持的構件仿真模型。仿真開發(fā)平臺采用純軟件的方式仿真嵌入式系統(tǒng)硬件平臺,組合仿真的硬件構件構成虛擬目標環(huán)境,實現(xiàn)運行環(huán)境的整體仿真。軟件開發(fā)在這個虛擬的協(xié)同環(huán)境中進行,脫離真實硬件,不僅使軟件的設計錯誤在系統(tǒng)制造之前就被發(fā)現(xiàn)、修改【啦;還可以獲得系統(tǒng)功能的真實描述,對硬件方案的設計進行驗證和調(diào)整。同時,再加上仿真平臺提供的豐富的調(diào)試工具和邏輯分析儀,不僅可以跟蹤調(diào)試應用軟件的執(zhí)行過程,也可以第一章緒論對的運行狀態(tài)了如指掌。仿真平臺采用了面向?qū)ο蠹皹嫾夹g,而且整個仿真平臺建立在本身就具有很強擴展性和可以跨平臺的插件機制上,因此,后期開發(fā)人員可以很方便的擴充其它類型的和外設控制器。課題來源本論文來源于國家科技部中小企業(yè)創(chuàng)新基金贊助項目,該項目的目標是為嵌入式系統(tǒng)開發(fā)人員提供一個快捷、方便和高效的硬件仿真開發(fā)環(huán)境。這里的嵌入式系統(tǒng)是指由高端的嵌入式處理器核如、等和外圍設備控制器組成的()應用系統(tǒng)。本人在項目中主要負責基于的嵌入式仿真的研究與實現(xiàn)。本文首先探討了當前主流的在線交叉開發(fā)方式及相關的硬件仿真技術,然后介紹分析目前的些仿真軟件的優(yōu)缺點以及他們采用的關鍵技術。針對嵌入式系統(tǒng)軟硬件協(xié)同開發(fā)的特殊性和復雜性的問題,引入了純軟件仿真開發(fā)方式。通過對基于事件驅(qū)動的仿真技術和基于電路行為的仿真方式的研究,結合前期在嵌入式系統(tǒng)開發(fā)平臺中的研究實踐,設計了嵌入式仿真模型。理論上研究了構件仿真及關鍵技術,并把研究成果應用于實際軟件開發(fā)項目中。為了使仿真開發(fā)平臺具備良好的擴展性和通用性,對技術路線的選擇與系統(tǒng)結構的設計就變得尤為重要。在本課題中主要研究了以下幾個方面的技術:針對嵌入式硬件系統(tǒng)的復雜性和相關性,研究了構件技術構件集成體系結構;針對嵌入式微控制器邏輯復雜、結構各異的問題,研究了微控制器仿真技術;針對嵌入式開發(fā)的時序要求,研究了周期精確的流水線結構的軟件仿真。研究內(nèi)容本文對嵌入式仿真進行了深入的研究,從構建嵌入式仿真開發(fā)平臺的集成環(huán)境著手,研究和設計了嵌入式的軟件仿真構件,用于嵌入式仿真開發(fā)平臺的構造和實現(xiàn)。電子科技大學碩士學位論文論文的主要內(nèi)容包括:基本概念的學習與研究:通過大量閱讀相關文獻,對構件仿真原理進行了闡述,了解構件仿真在軟件仿真開發(fā)設計中的重要意義,并探討了設計模式在構件仿真中的應用硬件體系結構剖析:深入地分析了各硬件模塊的體系結構及工作原理,探討了軟件仿真的關鍵點。仿真模型的研究:在對原型深入剖析的基礎上,研究了一種的軟件仿真模型,設計了其邏輯結構及軟件工作機制,分析了構件的可擴展性。并實現(xiàn)了一種基于的構件的仿真。論文組織第一章,介紹了課題的背景和研究意義,概述了以構件仿真技術為核心的嵌入式仿真開發(fā)平臺研究工作的重要意義,說明了論文課題來源和主要研究內(nèi)容。第二章,論述了嵌入式系統(tǒng)構件仿真的相關技術,內(nèi)容有軟件仿真技術、構件技術、設計模式等技術,最后分析了選擇構件仿真技術的意義。第三章,深入剖析了硬件原型體系結構和工作原理,并分析了軟件仿真的關鍵點。第四章,研究了軟件仿真的模型,包括邏輯結構、實現(xiàn)原理、驅(qū)動方式、時序控制及構件的可擴展性研究。第五章,設計并實現(xiàn)了一種基于的構件的仿真。第六章,總結仿真模型的驗證結果,概述其關鍵技術及仿真效果。提出下一步的改進方向和目標。第七章,總結論文的工作,討論了原型的特點。第二章嵌入式系統(tǒng)構件仿真的相關技術第二章嵌入式系統(tǒng)構件仿真的相關技術計算機仿真技術概述計算機仿真技術是近年發(fā)展起來的綜合新興學科。它以控制論、系統(tǒng)論、相似原理和信息技術為基礎,以計算機和各種物理效應設備為工具,借助系統(tǒng)模型對實際或設想的系統(tǒng)進行動態(tài)試驗研究的一門綜合性技術。仿真的基本思想是利用物理的或數(shù)學的模型來類比模仿現(xiàn)實過程,以尋求對真實過程的認識,它所遵循的基本原則是相似性原理。計算機仿真則是利用計算機模擬實際系統(tǒng),對系統(tǒng)進行分析與研究,以此獲得該系統(tǒng)的行為數(shù)據(jù),也就是展示真實系統(tǒng)的動態(tài)性能,用計算機對系統(tǒng)進行研究。當真實系統(tǒng)進行實驗分析比較困難或代價昂貴甚至沒有可能時,計算機仿真就顯示其無可替代的作用川。計算機仿真包括三個基本要素:系統(tǒng),即研究的對象;模型,即系統(tǒng)的抽象;計算機,即工具與手段。通過建立模型、進行仿真試驗和分析仿真結果三個步驟完成仿真過程,圖展示了三者間的關系。仿真實現(xiàn)圖仿真三要累的關系對仿真技術的基本要求是精度、速度和費用。精度是說明仿真系統(tǒng)能力的最基本指標,目前數(shù)字仿真技術日益成熟,仿真精度一般能達到要求。速度也是一個重要指標,特別是在規(guī)模不斷增大的集成電路仿真中,速度日益成為仿真的瓶頸。另外,仿真的目的是用較少的費用來驗證系統(tǒng)的設計是否達到預定的要求,盡早發(fā)現(xiàn)問題,通過減少設計風險來降低產(chǎn)品的開發(fā)成本。因此,當仿真費用低于預定的產(chǎn)品開發(fā)成本時,仿真才有價值。電子科技大學碩士學位論文仿真開發(fā)流程仿真技術既可用于系統(tǒng)設計,例如新系統(tǒng)設計或系統(tǒng)改造,也可用于系統(tǒng)分析,在系統(tǒng)中一部分采用實際部件,另一部分采用模型,以免新的子系統(tǒng)的投入可能造成對原系統(tǒng)的破壞或?qū)Υ蟠罂s短開工周期的影響,提高系統(tǒng)投入的一次成功率。仿真技術還可用于產(chǎn)品開發(fā)及制造,對制造過程進行全方位仿真。在很多方面仿真技術都有應用,例如()()的仿真,等高級語言的仿真,等硬件描述語言的仿真,機器指令的仿真,硬件邏輯的仿真等。仿真技術可應用于系統(tǒng)開發(fā)的全方面,也分布于整個過程;驗證系統(tǒng)可行性,進行定量比較;在系統(tǒng)設計階段,進行模型實驗、模型簡化并進行優(yōu)化設計;在實現(xiàn)層次,仿真代碼的執(zhí)行;在硬件集成階段,處理系統(tǒng)的時間約束條件,通信機制和部件間協(xié)作。仿真開發(fā)流程一般概況為:闡述問題,建立模型,實現(xiàn)驗證,輸出仿真結果。,硬件仿真技術硬件仿真是通過相應的硬件,實現(xiàn)被仿真電路的邏輯結構或?qū)嶋H運行系統(tǒng)功能來進行仿真,因而其速度比計算機軟件仿真要快得多。硬件仿真目前只限于進行功能驗證、故障模擬,以及部分的時序驗證。集成電路的硬件仿真器目前有兩種:一種是以為基礎的硬件仿真器;另一種是以處理器為基礎的硬件仿真器。以處理器為基礎的硬件仿真器對設計有一定的約束,如對異步邏輯的限制,同時它對仿真的加速率不如基于即的高。傳統(tǒng)的硬件仿真方法是:按照邏輯圖,在試驗板上搭接電路,各輸入端接入信號發(fā)生器提供的激勵波形,觀察輸出端或內(nèi)部測點的波形。這種方法已不能滿足日益復雜的微處理器的設計驗證需要。目前微控制器仿真的原理是指從電路的描述(語言描述或圖形描述)提取模型,然后將外部激勵信號或數(shù)據(jù)施加于此模型,通過觀察該模型在外部激勵信號作用下的反應來判斷電路系統(tǒng)是否實現(xiàn)了預期的功能。通過對電路的仿真、精確分析可有效地捕捉設計中的錯誤。由于在設計的不同階段對電路的描述級別不同,因此在仿真級別、描述方法、模型抽象和仿真算法上也不同。語言()可以支持對不同抽象級別的電路的描述,基于語言的仿真工具通常也支持對不同抽象級別的電路的仿真。仿真工具有軟件仿真器(如)()和硬件仿真器。第二章嵌入式系統(tǒng)構件仿真的相關技術在線仿真器采用硬件仿真技術支持軟件開發(fā),它是一個相對昂貴的部件,用于植入微處理器與總線之間的電路中,允許使用者監(jiān)視和控制微處理器所有信號的進出。在線仿真器提供了總線工作的清晰狀況,免了許多對硬件軟件底層工作狀況的猜測,但它是異體,可能會引起不穩(wěn)定。人們已經(jīng)做了大量研究,推出了許多功能和性能良好的硬件仿真環(huán)境,如模塊式在電路仿真器,它支持采用的微控制器的快速開發(fā),速度可達,可進行匯編或源代碼級調(diào)試,并帶有的硬件追蹤緩沖區(qū)??梢栽谌魏蔚刂飞匣虻刂穮^(qū)段上進行無限度的硬件觸發(fā)斷點。以單步或單步進程模式執(zhí)行,集成特殊的硬件過濾器來控制多周期指令的捕捉。該仿真器兼容和的。軟件仿真技術目前很多嵌入式開發(fā)平臺提供在線仿真方式,采用這種開發(fā)方式在應用開發(fā)過程中仍需與硬件打交道,軟厥件問敏感的交互影響會產(chǎn)生大量的麻煩和進度的延誤,很多不確定因素會引起錯誤。而純軟件的仿真開發(fā)方式可進一步改善開發(fā)環(huán)境,避免硬件干擾,集中精力開發(fā)軟件。它是用計算機軟件模擬實際硬件電路的運行,構建應用軟件運行所需的虛擬硬件環(huán)境,提供嵌入式軟件開發(fā)和調(diào)試的真正“軟”平臺?,F(xiàn)在一些硬件模型已經(jīng)相當精確,軟件仿真可以真實地反映實際電路的行為。引入軟件仿真開發(fā)相當于引入一種新的開發(fā)模式,為程序員提供了一個更便捷、高效、低成本的開發(fā)平臺,在仿真平臺開發(fā)出的程序,具有較高的可移植性,一些成熟的通用程序可以作為專用庫函數(shù)產(chǎn)品推向社會?;谑录?qū)動的仿真技術在軟件仿真中人們通常采用基于事件驅(qū)動的仿真技術,可分為連續(xù)事件仿真和離散事件仿真,在一般情況下人們采用的是實現(xiàn)離散事件仿真的基本功能。離散事件仿真有兩種仿真類型:單個事件仿真和多重事件仿真,仿真算法采用高效的事件推進法。仿真過程可概括為:)掃描存放當前等待的仿真事件列表,將最先發(fā)生的事件推進到活動對象列表;)掃描活動對象列表,按模型流程圖進行推進;)推進仿真鐘,處理相應的性能指標:)顯示仿真結果。電子科技大學碩士學位論文圖基于事件驅(qū)動的仿真過程圖圖為基于事件驅(qū)動仿真過程的流程圖,其中生成起始事件序列有三種方法可選擇:平均分布、隨機分布和按統(tǒng)計樣本生成。事件驅(qū)動算法是一個同步仿真算法,對并發(fā)事件的處理是由個中央控制時間機構來管理,把時間劃分為一個個細小時隙,且認為在一個時隙之內(nèi)發(fā)生的事件都是并行事件,只有在當前仿真時隙內(nèi)的所有并行事件處理完畢,仿真時間才前進一個時隙,通過一個全局半有序的事件列表中存儲事件,通常用首尾相連的循環(huán)堆棧來完成算法此部分的實現(xiàn)。其中即為仿真周期,一般較。仿真過程中采用兩個列表:一個是事件時間列表,它臨時記錄事件和事件發(fā)生的時問,在這里不斷地對事件按它發(fā)生的時間從小到大的順序進行排序,以便知道當前哪個事件最先發(fā)生;一個是活動對象列表,它記錄當前的活動對象是誰,仿真算法是基于事件驅(qū)動的仿真鐘推進算法,先將從用戶界面輸入的開始事件進行按時問從小到大的順序進行排序,然后將開始事件直接推進活動對象列表,并且將仿真鐘推進到最先發(fā)生事件的時間,再判斷活動對象列表中的下屬的對象為功能、事件、連線和規(guī)則。如果是連線,則判斷連線的下屬對象是功能、事件還是規(guī)則。如果是事件,則直接將事件推進到活動對象列表中。以圖表文字的形式輸出是規(guī)則,判斷規(guī)則的類型并進行相應的處理;如果是功能,則計算相應的時間、成本、隊列長度、占用率等技術指標,再將功能的執(zhí)行時間仿真鐘的當前時間功能的執(zhí)行時間等待時間。并且將功能推進到事件列表中,再重新對事件時間列表進行排序,然后不斷地將事件時間列表中的最先發(fā)生的事件推進到活動對象列表中。如果是功能,則將功能的下屬對象推進到活動對象列表中。如果是第二章嵌入式系統(tǒng)構件仿真的相關技術規(guī)則,則依據(jù)規(guī)則的類型進行相應的處理,并將規(guī)則推進到活動對象列表中。依此循環(huán),直到仿真結束,對仿真的結果進行分類和計算,統(tǒng)計相應的空閑時間、忙時間、成本、凈增加價值和每個功能的成本、等待時間、處理時間以及隊列長度、各個功能所增加的價值等一系列數(shù)據(jù)。通過以上活動,對用戶建立的流程模型進行動態(tài)仿真,計算性能等指標,為分析評價和輔助決策提供信息?;陔娐沸袨榈姆抡娣椒ɑ陔娐沸袨榈姆抡婺P椭饕塾陔娐废到y(tǒng)功能和內(nèi)部運行過程進行仿真,其基本元素是操作和過程,各操作之間主要考慮其數(shù)據(jù)傳輸、時序配合、操作流程和狀態(tài)轉(zhuǎn)換唧。高層次仿真的方法一般是對描述的解釋執(zhí)行,或者將硬件描述語言的描述編譯成一般軟件語言如匯編語言,然后執(zhí)行。高層次描述和仿真也可以實現(xiàn)寄存器傳輸級的描述和仿真常用做法是,在硬件描述語言標準基礎上,結合高級語言的語法規(guī)則,設計實現(xiàn)一種嵌入式系統(tǒng)前端開發(fā)工具語言,以完成硬件環(huán)境以及單片機的形式化描述。該工具語言描述數(shù)字硬件設備,允許用戶從硬件的邏輯行為、邏輯組成和硬件延時等三方面對數(shù)字硬件設備進行描述,這種描述與硬件設備的設計方法、實現(xiàn)技術等因素無關。用工具語言對每個仿真器件進行描述,并用器件編輯器對分立的數(shù)字器件或具有某一功能的功能塊元件進行編輯,并支持器件的圖形描述轉(zhuǎn)化為用工具語言形式化描述,最后將工具語言翻譯成功能相同的高級語言程序及可執(zhí)行代碼。從通過這種方式生成的仿真器件庫中選擇元器件搭建起所需的仿真胚胎電路,這樣就得到了仿真的硬件平臺。構件技術嵌入式系統(tǒng)主要特點之一是多樣性。設備生產(chǎn)廠商在芯片選擇、功能定義、顯示設備特性、耗電限制方面會有許多不同的要求,同時嵌入式系統(tǒng)應用廣泛,嵌入式硬件平臺必須滿足應用實際要求,可靈活定制。仿真目標硬件平臺的仿真運行環(huán)境要覆蓋不斷變化的嵌入式硬件系統(tǒng),需要選擇具有良好可擴展性、開放性的技術方案,以較小的代價應對未來不斷變化的需求。因此,仿真運行環(huán)境的研究和實現(xiàn)登須借助于軟件復用技術,同時可以充分利用已有的開發(fā)成果,消除電子科技大學碩士學位論文在設計、編碼、測試等方面的重復勞動,提高軟件開發(fā)的效率;通過復用高質(zhì)量的已有的開發(fā)成果,也可避免重新開發(fā)可能引入的錯誤,以提高軟件質(zhì)量。當前有兩大軟件復用方式:面向?qū)ο蠛蜆嫾?,兩者區(qū)別在于,:構件是設計的概念,與具體編程語言無關,不象中的對象屬于編程中的概念,要依賴于具體的編程語言。在對構件操作時不允許直接操作構件中的數(shù)據(jù),數(shù)據(jù)真正被封裝了。而對象的操作通過公共接口部分,這樣數(shù)據(jù)是可能被訪問操作的。從構件和對象的生成方式上,中的對象生成屬于實例化的過程,比較單一,而生成構件的方式較多。在純設計中,對象(類)、封裝和繼承三者缺一不可,但對構件可以沒有繼承性,只要實現(xiàn)封裝即可。因此,構件不是中的對象,而是與基于對象中的對象類似。中的對象對軟件重用是通過繼承實現(xiàn)的,構件對軟件重用不僅可以通過繼承還可以通過組裝時的引用來實現(xiàn)。比較發(fā)現(xiàn),基于構件的軟件開發(fā)模式更滿足仿真運行環(huán)境的設計要求,多年來構件技術的發(fā)展也提供了必要的技術支持。構件是可重用的,對外提供統(tǒng)一接口,既包括接口信息,還包括自身的功能實現(xiàn)體;軟件開發(fā)者或用戶選擇一些這樣的構件,通過一些適當?shù)姆绞浇M合起來構成一個仿真硬件平臺【,】,使它們在一個時間或空問相一致的環(huán)境中實現(xiàn)交互作用,協(xié)調(diào)運行,完成特定的仿真任務。構件的組合運行涉及到集成方式和體系結構的研究,本章后面對此有專門闡述。構件概述軟件構件技術是近幾年來迅速發(fā)展并受到高度重視的一門技術。所謂構件()是指一組封裝的、規(guī)范的、可重用的軟件模塊,它具有特定的功能,支持靈活的即插即用,可以方便地插入到網(wǎng)絡、語言、應用、工具、操作系統(tǒng)中工作,是組織系統(tǒng)的基本單位。構件是指應用系統(tǒng)中可以明確辨識的構成成分,而可復用構件是指具有相對獨立的功能和可復用價值的構件。從功能角度可將軟件構件分為系統(tǒng)構件、支撐構件和領域構件。系統(tǒng)構件為在整個構件集成環(huán)境和運行環(huán)境中都使用的構件,支撐構件為在構件集成環(huán)境與構件庫管理系統(tǒng)中使用的構件,領域構件為專用領域開發(fā)的構件。構件是一個動態(tài)的概念,運行時要占用內(nèi)存空間。構件有一個生命周期:構第二章嵌入式系統(tǒng)構件仿真的相關技術件的創(chuàng)建,構件的運行和構件的消亡激活構件是通過事件來觸發(fā)的,即構件是通過事件來驅(qū)動的,事件是指消息、過程調(diào)用和指令等。構件的封裝性有兩層含義:一層是指數(shù)據(jù)和操作的封裝;另一層是指沒有操作下的數(shù)據(jù)屬性的封裝,這一層的封裝可以認為是數(shù)據(jù)和操作封裝的一種特例,即操作為空的特殊封裝。象的、的、的和數(shù)據(jù)類型都可屬于構件范疇。但是,操作集合、過程、函數(shù)即使可以重用也不能成為一個構州。由于構件的標準化特點,組裝標準的構件來形成新軟件很容易;同時依據(jù)標準開發(fā)的構件也才可能大量被其它軟件使用?;跇嫾能浖_發(fā)技術也正是強調(diào):)構件的使用,開發(fā)新軟件盡量通過重用已有的構件來實現(xiàn);)構件的生產(chǎn),在新軟件的開發(fā)過程如果必須要添加新代碼,盡量把這部分代碼按照標準做成構件的形式,方便以后重用。構件技術的主要研究內(nèi)容包括構件獲取、構件模型、構件描述語言()、構件分類與檢索、構件復合組裝、標準化。其中構件模型和構件描述語言是構件制作、檢索和組裝的基礎。由于構件的種類繁多,形態(tài)各異,因此很難建立一個能夠描述所有類型構件而又支持制作和組裝的構件模型。一般來說特定的構件模型只能用于描述特定類型的構件。,構件模型構件模型是一種部件通用體系結構,旨在建立一套軟部件形態(tài)標準與接口標準,而且可以用不同的語言來編寫,同時為用戶提供各種不同的函數(shù)功能。設計初期建立參考模型構件,還需要花一定的時間構造參考模型庫,但一旦模型庫建好以后,用戶就可以根據(jù)這些參考模型庫來定制自己的構件,使用起來特別方便。目前國際上較為流行的構件模型主要有:模型、()模型、()()模型,()模型等。模型是一個指導性的構件模型,認為對一個構件的描述應該包括概念(、內(nèi)容()和語境(三個不同方面的內(nèi)容。從構件組裝的角度可以將構件分為源代碼級構件和二進制代碼級構件。模型則是通過屬性、功能接口和依賴關系三個部分來描述一個分布式二進制代碼級構件,模型和模型與模型類似,側重于實現(xiàn)分布式二進制代碼級構件的電子科技大學碩士學位論文復用。真正意義上的基于構件的軟件開發(fā)模式是在源碼件或者比它更高層次的設計件、分析件的基礎上進行的,而就目前的研究情況來看,支持源碼級組裝的構件模型并不多。構件設計構件在概念設計階段主要是定義構件接口和描述構件功能。構件不僅要提供外部物理實現(xiàn)接口,還要提供一個外部邏輯接口,外部邏輯接口是給用戶提供一個非形式化的該構件的功能描述,這樣更能方便用戶了解和使用構件。深入、明確地刻劃構件功能有利于構件的重用,而構件功能的描述,就是通過構件的外部邏輯接口提供給用戶的。構件的邏輯設計須在構件設計規(guī)范下進行,利用規(guī)范所提供的構件定義語言和構件操作語言來進行邏輯設計。構件的邏輯設計階段和物理設計階段是分開的,這樣可以使構件有不同的語言實現(xiàn)版本。隨著構件規(guī)范的標準化,未來構件的設計開發(fā)將由構件制造商來完成,這樣不但減少了用戶開發(fā)系統(tǒng)的周期,同時還會提高系統(tǒng)的質(zhì)量和可靠性??梢赃@樣設計一個可復用構件;在設計一個構件時,從提高復用性的角度出發(fā)需要將其內(nèi)部某些功能相對獨立的部分抽象出來,作為另外些構件。假設某一功能獨立部分抽象為構件,則中原來所在的部分將被的部分功能描述(注意不是本身)所替代,這一部分就是的協(xié)作構件。之所以說是的部分功能描述,是因為這些功能描述可能只包括中要用到的那些功能,而不是的全部功能。構件設計應遵循以下原則:構件應設計很好的與語義有關的界面,界面構件要有標準。構件將代表一個抽象,有很高的內(nèi)聚力,并提供一些所需的特定操作、屬性、事件和方法接口。提高構件的復用程度,區(qū)分領域的可變與不可變部分。構件系統(tǒng)要向下兼容。構件粒度大小及復雜度要適中。易于原型演化。第二章嵌入式系統(tǒng)構件仿真的相關技術基于構件技術開發(fā)的現(xiàn)狀目前已有許多功能和性能都很好的硬件仿真環(huán)境存在,象、等,它們也使用了構件開發(fā)的概念塒。但它們有兩個不足:)抽象層次低,它們主要是為了驗證硬件電路的設計,側重于在電路級、寄存器級層次對硬件環(huán)境的內(nèi)部工作的物理機制進行仿真,而通常硬件仿真環(huán)境目的是為軟件開發(fā)服務,只要驗證軟件對硬件的控制是否正確就可以了,所以只需要從軟件所控制的對象的外部邏輯級別上仿真一個硬件環(huán)境就足夠了,也即是在器件級上進行功能仿真,如、外設級別等;)沒有考慮與開發(fā)工具之間集成的問題?;跇嫾能浖_發(fā)中比較流行的技術標準和是面向通用領域的,它們在系統(tǒng)層次上解決了軟件的開放性和擴展性的問題,在解決專用領域中的問題時能力不足,但是它們提供了實現(xiàn)適合專用領域的構件標準的技術基礎。幾種流行的構件技術技術珥組件對象模型是公司的技術標準。組件的特點是:組件遵循規(guī)范編寫、以動態(tài)鏈接庫()或可執(zhí)行文件的形式發(fā)布的可執(zhí)行二進制代碼。遵循的規(guī)范標準,組件與應用、組件與組件之間可以互操作,極其方便地建立可伸縮的應用系統(tǒng)。組件標準定義了組件程序之間進行交互的接口標準,提供了組件程序運行所需的環(huán)境。在標準中,個組件程序也被稱為一個模塊,它可以是一個動態(tài)鏈接庫,被稱作進程內(nèi)組件(),也可以是個可執(zhí)行程序(程序),被稱作進程外組件()。一個組件程序可以包含一個或多個組件對象,因為是以對象為基本單位的模型,所以在程序與程序之間進行通信時,通信的雙方應該是組件對象,也叫做對象,而組件程序(或稱作程序)是提供對象的代碼載體,對象以接:的方式提供服務功能,成為接口舊。為組件軟件和應用程序之間進行通信提供了統(tǒng)一的標準,它為組件程序提供了一個面向?qū)ο蟮幕顒迎h(huán)境。標準包括規(guī)范和實現(xiàn)兩大部分,規(guī)范部分定義了組件和組件之問通信的機制,這些規(guī)范不依賴于任何特定的語言和操作系統(tǒng),只要按照該規(guī)范,任何語言都可使用;標準的實現(xiàn)部分是庫,電子科技大學碩士學位論文庫為規(guī)范的具體實現(xiàn)提供了一些核心服務。技術是由提出的應用軟件體系結構和對象技術規(guī)范刪,其核心是一套標準的語言、接口和協(xié)議,以支持異構分布應用程序間的互操作性及獨立于平臺和編程語言的對象重用。是一種集成技術,而不是編程技術。建立在)參考模型基礎上,見圖。圖參考模型參考模型解釋:對象代理請求():它使對象能在一個分布式環(huán)境下透明地建立和接受請求和應答。是建立分布式應用的基礎,也是在異構和同構環(huán)境中應用之間的交互基礎。對象服務(:它是一個服務集合,用于支持使用和實現(xiàn)對象的基本功能()常定了公共對象服務規(guī)范()它由一組接口和服務行為描述構成。服務對于建立任何分布式應用是必須的,而且經(jīng)常獨立于應用領域。公共設施():是一個服務集合,被許多應用共享。應用接():是單個的供應商用于控制接的產(chǎn)品。應用對象遵從傳統(tǒng)的應用概念,因此它們不是由來標準化,反之,應用對象構成了關系模型的最高層。領域接():是為應用領域服務而提供的接。是位于客戶和服務之間的通信中間件,負責為客戶查找對象實現(xiàn)、讓對象實現(xiàn)為接收請求做好準備、傳遞構成請求的數(shù)據(jù)等工作??蛻羲吹降膶ο蠼涌谕耆毩⒂趯ο笏幍奈恢?,也與實現(xiàn)對象所使用的編程語言無關。第二章嵌入式系統(tǒng)構件仿真的相關技術提供的服務需要對象適配器的參與,其作用總結如下:對象定位,根據(jù)對象引用信息來查找服務器;傳遞信息,將特定格式的數(shù)據(jù)編解碼為可確認的統(tǒng)一的格式,用于在網(wǎng)絡上進行傳輸;啟動初始服務,通過偽對象接口使客戶程序得到對象適配器、命名服務、接口庫的對象引用;屏蔽底層協(xié)議;提供接口庫。設計模式設計模式最早是作為總結軟件設計,特別是面向?qū)ο笤O計的實踐和經(jīng)驗而提出【。“不是解決任何問題都要從頭做起”,這是驅(qū)動設計模式產(chǎn)生最直接的原因。在幾十年的軟件設計研究和工程實踐中,設計人員積累了大量的實踐經(jīng)驗,發(fā)現(xiàn)并提出了大量在眾多應用中普遍存在的軟件結構和結構關系。它們在不同的領域中獲得應用,成了處理特定問題的高效和成熟的設計模板,稱為“模式”。它們幫助設計者將新的設計建立在以往工作的基礎上,復用以往成功的設計方案。設計模式使人們可以更加簡單方便地復用成功的設計和體系結構。將已證實的技術表達成設計模式也會使新系統(tǒng)開發(fā)者更加容易理解

溫馨提示

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

最新文檔

評論

0/150

提交評論