久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

嵌入式主控軟件設(shè)計(jì)心得[精選]

時(shí)間:2019-05-13 18:18:24下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《嵌入式主控軟件設(shè)計(jì)心得[精選]》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《嵌入式主控軟件設(shè)計(jì)心得[精選]》。

第一篇:嵌入式主控軟件設(shè)計(jì)心得[精選]

嵌入式主控軟件設(shè)計(jì)模式初探

1.軟件框架簡(jiǎn)述

根據(jù)本人近三年的嵌入式主控軟件經(jīng)驗(yàn),基于VxWorks的嵌入式的主控軟件大概有以下幾個(gè)模塊

圖2 大功率通信控制器主控軟件架構(gòu)

各模塊簡(jiǎn)述如下:

1)初始化模塊

用于系統(tǒng)必備資源的初始化工作,設(shè)備通信前需要將各通信接口如CAN控制器、RS-232、RS-485控制器初始化至適當(dāng)?shù)臓顟B(tài),申請(qǐng)發(fā)送/接收數(shù)據(jù)緩沖區(qū);顯示程序圖形庫(kù)一般采用VxWorks自帶的windML實(shí)現(xiàn),因此需要初始化windML相關(guān)參數(shù)以便能在屏幕上正確顯示。如果采用其他圖形庫(kù),則需要考慮其它圖形庫(kù)的初始化工作。上述相關(guān)參數(shù)初始化完畢后系統(tǒng)進(jìn)入按鍵檢測(cè)、按鍵處理、控制處理模塊。

2)按鍵檢測(cè)和按鍵響應(yīng)模塊

對(duì)于用戶的按鍵輸入為什么需要設(shè)置兩個(gè)模塊來(lái)完成呢?只使用一個(gè)按鍵模塊實(shí)現(xiàn)能否可行呢?實(shí)踐表明,采用一個(gè)按鍵模塊有一定的風(fēng)險(xiǎn)。假設(shè)用戶在某時(shí)刻按鍵,系統(tǒng)立即對(duì)該按鍵進(jìn)行處理(可能該處理需要較長(zhǎng)時(shí)間),在按鍵處理進(jìn)行的過(guò)程中用戶又按下一個(gè)鍵。由于系統(tǒng)正在進(jìn)行按鍵處理工作,無(wú)法對(duì)再一次按鍵進(jìn)行響應(yīng),該按鍵響應(yīng)會(huì)被忽略,無(wú)法完成用戶的預(yù)期任務(wù)。因此,把按鍵處理劃分為按鍵檢測(cè)模塊和按鍵響應(yīng)模塊的好處在于檢測(cè)模塊將按鍵檢測(cè)值緩存,等按鍵響應(yīng)模塊完成響應(yīng)后再?gòu)脑摼彺嬷凶x取下一個(gè)鍵值,保證用戶的每一次按鍵都能被正確記錄。

—1—

研發(fā)中心設(shè)計(jì)案例集2007年9月

3)控制模塊

控制模塊和各應(yīng)用層相關(guān),無(wú)法一概而論,只能視情況而定。

5)顯示模塊

顯示同控制分離是主控軟件設(shè)計(jì)的主要特點(diǎn)之一。顯示模塊作為系統(tǒng)軟件中的一個(gè)任務(wù)來(lái)實(shí)現(xiàn),與按鍵響應(yīng)模塊、業(yè)務(wù)模塊、控制模塊采用自定義協(xié)議通信,根據(jù)這些模塊發(fā)送的遙控協(xié)議進(jìn)行界面顯示。將顯示單獨(dú)作為一個(gè)模塊有以下兩點(diǎn)原因:

1)一旦用戶似于遙控盒的設(shè)備需求,該設(shè)備能實(shí)現(xiàn)對(duì)控制器的遙控顯示功能,在遙

控盒軟件設(shè)計(jì)時(shí)顯示模塊就可以直接移植到遙控盒的主控軟件設(shè)計(jì)中,減少工作量。

2)顯示模塊涉及到屏幕刷新操作時(shí)會(huì)占用一定的時(shí)間,顯示模塊如果直接在相關(guān)控

制模塊中實(shí)現(xiàn)則會(huì)影響到控制模塊的實(shí)時(shí)性能。

3.優(yōu)先級(jí)上的考慮

主控軟件設(shè)計(jì)中需要考慮多個(gè)任務(wù)之間的優(yōu)先級(jí)問(wèn)題,從目前的設(shè)計(jì)經(jīng)驗(yàn)上來(lái)看業(yè)務(wù)單元、信道機(jī)調(diào)度需要最高優(yōu)先級(jí),因?yàn)橹虚L(zhǎng)波、短波通信系統(tǒng)過(guò)程中業(yè)務(wù)單元對(duì)信道機(jī)的實(shí)時(shí)性要求最高,按鍵檢測(cè)和按鍵響應(yīng)優(yōu)先級(jí)次之,顯示模塊優(yōu)先級(jí)最低。顯示任務(wù)放在系統(tǒng)比較空閑的時(shí)候顯示不至于影響到整個(gè)系統(tǒng)的實(shí)時(shí)性能。對(duì)于同等優(yōu)先級(jí)的任務(wù)最好加上taskDelay(0)語(yǔ)句,因?yàn)橥葍?yōu)先級(jí)的任務(wù)采用分時(shí)隙調(diào)度的方式,taskDelay(0)能該任務(wù)在運(yùn)行時(shí)隙結(jié)束時(shí)被其它同等優(yōu)先級(jí)的任務(wù)搶占到CPU資源。

除端口查詢外,采用while(1)或者FOREVER類(lèi)似結(jié)構(gòu)的無(wú)限循環(huán)的任務(wù)必須擁有信號(hào)量、消息等掛起本身的能力。否則,系統(tǒng)運(yùn)行時(shí)從windView中觀察:該任務(wù)即使優(yōu)先級(jí)最低為255時(shí),也會(huì)無(wú)休止的占用大量的系統(tǒng)資源,影響系統(tǒng)實(shí)時(shí)性。

4.總結(jié)

本文試圖根據(jù)經(jīng)歷的幾個(gè)嵌入式主控軟件項(xiàng)目中提取一些設(shè)計(jì)經(jīng)驗(yàn)和心得體會(huì),有些經(jīng)驗(yàn)只是在項(xiàng)目實(shí)際開(kāi)展過(guò)程中的觀察總結(jié),拋磚引玉,希望對(duì)各位有所幫助。

第二篇:初探一種構(gòu)件化嵌入式軟件設(shè)計(jì)模型驗(yàn)證工具

1.引言

嵌入式計(jì)算系統(tǒng)已經(jīng)廣泛的應(yīng)用于生活中的各個(gè)領(lǐng)域,如:交通、能源、醫(yī)療、控制、通信、軍事等。近年來(lái)隨著計(jì)算機(jī)硬件性能的不斷提高,嵌入式系統(tǒng)中軟件的規(guī)模和復(fù)雜性不斷增加,使軟件對(duì)整個(gè)系統(tǒng)的影響逐漸占據(jù)了統(tǒng)治地位。關(guān)鍵系統(tǒng)中的嵌入式軟件失效將會(huì)導(dǎo)致生命與財(cái)產(chǎn)的重大損失。因此,嵌入式軟件通常具有極高的功能可靠性、嚴(yán)格的實(shí)時(shí)性等要求,如何保證系統(tǒng)同時(shí)滿足給定的功能和非功能需求已成為當(dāng)前高可信嵌入式計(jì)算領(lǐng)域中的研究熱點(diǎn)。目前,工業(yè)界已有一些比較有效的嵌入式軟件測(cè)試和調(diào)試方法(如:在處理器中嵌入ICE 功能,調(diào)試代理軟件,JTAG 模擬等)。但從軟件工程的角度來(lái)看,這些方法都是在系統(tǒng)的開(kāi)發(fā)中后期階段所使用,而在嵌入式軟件設(shè)計(jì)與分析的前期階段還缺乏有效的方法和工具對(duì)系統(tǒng)設(shè)計(jì)進(jìn)行分析與驗(yàn)證。

本文基于接口自動(dòng)機(jī)模型對(duì)構(gòu)件化嵌入式軟件設(shè)計(jì)(CBESD: Component-BasedEmbedded Software Designs)的分析與驗(yàn)證方法展開(kāi)進(jìn)一步研究,在Eclipse 開(kāi)放平臺(tái)上實(shí)現(xiàn)了一個(gè)CBESD的模型分析與驗(yàn)證原型工具T-CBESD(a Tool for Component-based EmbeddedSoftware Designs)。該工具的目的是應(yīng)用于構(gòu)件化嵌入式軟件開(kāi)發(fā)的設(shè)計(jì)建模階段,對(duì)設(shè)計(jì)者所關(guān)心的系統(tǒng)重要功能性質(zhì)以及與時(shí)間相關(guān)的實(shí)時(shí)行為性質(zhì)進(jìn)行嚴(yán)格形式化分析和驗(yàn)證,提高系統(tǒng)可靠性的可信度。

本文內(nèi)容安排如下:第2 節(jié)中給出了非實(shí)時(shí)功能行為驗(yàn)證以及實(shí)時(shí)功能行為驗(yàn)證的理論基礎(chǔ),包括:描述系統(tǒng)動(dòng)態(tài)行為的多種接口自動(dòng)機(jī)模型,基于場(chǎng)景的系統(tǒng)規(guī)約描述模型,以及形式化分析與驗(yàn)證的抽象算法等。在第3 節(jié)中給出了原型工具T-CBESD 的基本設(shè)計(jì)思想,非實(shí)時(shí)功能行為驗(yàn)證模塊以及實(shí)時(shí)功能行為驗(yàn)證模塊的設(shè)計(jì)與實(shí)現(xiàn),包括:工具輸入輸出接口設(shè)計(jì)、狀態(tài)空間數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、基于場(chǎng)景的系統(tǒng)規(guī)約模型的輸入預(yù)處理、具體驗(yàn)證算法的設(shè)計(jì)與實(shí)現(xiàn)等。第4 節(jié)中給出了應(yīng)用實(shí)例研究;最后是相關(guān)工作比較和結(jié)束語(yǔ),對(duì)本文中原型工具的特點(diǎn)、意義以及進(jìn)一步的工作進(jìn)行簡(jiǎn)要討論。

2.工具的理論基礎(chǔ)

軟件工程中的構(gòu)件化設(shè)計(jì)方法學(xué)通過(guò)復(fù)用和組合軟件模塊來(lái)構(gòu)造系統(tǒng),從而提高系統(tǒng)開(kāi)發(fā)效率和可靠性。通常,一個(gè)復(fù)雜的嵌入式系統(tǒng)由多個(gè)計(jì)算子系統(tǒng)構(gòu)成,其軟件系統(tǒng)也具有較高的構(gòu)件化特征,因此,構(gòu)件化的設(shè)計(jì)已成為解決嵌入式軟件設(shè)計(jì)復(fù)雜性問(wèn)題的一種手段。與此同時(shí),構(gòu)件接口之間的交互場(chǎng)景也成為體現(xiàn)系統(tǒng)行為復(fù)雜性的一個(gè)重要方面。

本文中所討論的原型工具就是使用形式化的接口自動(dòng)機(jī)模型來(lái)對(duì)系統(tǒng)構(gòu)件接口動(dòng)態(tài)行為進(jìn)行設(shè)計(jì)建模,并使用UML 交互概觀圖模型來(lái)描述多種基于場(chǎng)景的構(gòu)件交互行為規(guī)約,然后應(yīng)用形式化分析算法對(duì)設(shè)計(jì)模型是否滿足系統(tǒng)規(guī)約進(jìn)行分析和驗(yàn)證。

2.1 建模系統(tǒng)構(gòu)件以及組合行為

接口自動(dòng)機(jī)(interface automata,簡(jiǎn)稱(chēng)IA)是用來(lái)刻畫(huà)軟件構(gòu)件接口交互行為時(shí)序特征的一種形式化語(yǔ)言。它描述了一個(gè)構(gòu)件被使用的時(shí)候其對(duì)外界環(huán)境的輸入假設(shè)和輸出保證,即構(gòu)件內(nèi)方法被調(diào)用的先后次序以及構(gòu)件對(duì)外環(huán)境輸出調(diào)用信息或結(jié)果的次序。

輸入動(dòng)作可以用來(lái)建模:1)構(gòu)件內(nèi)可以被調(diào)用的方法或過(guò)程;2)通信信道的接收端;3)調(diào)用外部過(guò)程的返回等。輸出動(dòng)作可以用來(lái)建模:1)對(duì)其他構(gòu)件中的方法或過(guò)程的調(diào)用;2)通信信道的發(fā)送消息端;3)構(gòu)件中方法或過(guò)程的調(diào)用結(jié)束時(shí)的返回;4)構(gòu)件中方法或過(guò)程執(zhí)行中出現(xiàn)的異常返回,等。內(nèi)部動(dòng)作則表達(dá)了兩個(gè)構(gòu)件在組合過(guò)程中的同步交互行為。

考慮到嵌入式軟件的實(shí)時(shí)性建模需求,需要對(duì)IA 進(jìn)行實(shí)時(shí)語(yǔ)義的擴(kuò)展,以增強(qiáng)接口自動(dòng)機(jī)對(duì)實(shí)時(shí)系統(tǒng)的描述能力。直觀上,對(duì)接口自動(dòng)機(jī)每一個(gè)轉(zhuǎn)換添加時(shí)間區(qū)間約束,以表示此轉(zhuǎn)換發(fā)生的最小、最大時(shí)限;擴(kuò)展后的模型稱(chēng)為實(shí)時(shí)接口自動(dòng)機(jī)。

我們使用接口自動(dòng)機(jī)的組合狀態(tài)空間來(lái)表達(dá)多構(gòu)件系統(tǒng)的組合行為;自動(dòng)機(jī)組合狀態(tài)空間中每一條可能的狀態(tài)轉(zhuǎn)換序列用來(lái)表達(dá)多構(gòu)件系統(tǒng)的一個(gè)組合行為軌跡。基本IA 和擴(kuò)展的RTIA 組合狀態(tài)空間的定義略有不同,以下只給出了RTIA 組合空間(實(shí)時(shí)接口自動(dòng)機(jī)網(wǎng)絡(luò))的定義;不帶時(shí)間語(yǔ)義的基本接口自動(dòng)機(jī)的組合定義參見(jiàn)文獻(xiàn)。

2.2 基于場(chǎng)景的交互行為規(guī)約

在基于場(chǎng)景的系統(tǒng)規(guī)約中,通常將一個(gè)系統(tǒng)相對(duì)獨(dú)立的功能模塊建模為一個(gè)場(chǎng)景描述。這個(gè)場(chǎng)景表達(dá)了參與其中的各構(gòu)件之間如何進(jìn)行交互。進(jìn)一步的,在系統(tǒng)設(shè)計(jì)階段,還會(huì)關(guān)心有多個(gè)簡(jiǎn)單場(chǎng)景組合起來(lái)的復(fù)雜場(chǎng)景需求,即需要考慮多個(gè)簡(jiǎn)單場(chǎng)景之間的邏輯關(guān)系。

交互概觀圖(Interaction Overview Diagrams)是在UML2 規(guī)范中引入的一種用以描述系統(tǒng)中復(fù)雜交互場(chǎng)景的動(dòng)態(tài)行為模型。交互概觀圖本質(zhì)上是將活動(dòng)圖模型與順序圖模型結(jié)合在一起,圖中的每一個(gè)節(jié)點(diǎn)都可以視為一個(gè)用順序圖表達(dá)的簡(jiǎn)單交互場(chǎng)景,然后利用活動(dòng)圖所提供的順序、迭代、并發(fā)、選擇等操作將多個(gè)不同的順序圖場(chǎng)景聯(lián)系在一起;這樣就可以用來(lái)表達(dá)語(yǔ)義更為豐富的系統(tǒng)交互行為。在本文中所關(guān)心的以下幾種場(chǎng)景組合一致性問(wèn)題都可以用交互概觀圖來(lái)有效的描述:

1.存在一致性: 某個(gè)特定的場(chǎng)景D 是否在系統(tǒng)所有行為中至少出現(xiàn)一次,或者某個(gè)指定的場(chǎng)景D 是否在系統(tǒng)的所有行為中一定不會(huì)出現(xiàn)。

2.前向強(qiáng)制一致性:當(dāng)某個(gè)條件場(chǎng)景D1 出現(xiàn)時(shí),則場(chǎng)景D2 一定會(huì)隨之在系統(tǒng)后續(xù)行為中發(fā)生。

3.逆向強(qiáng)制一致性: 當(dāng)某個(gè)條件場(chǎng)景D1 出現(xiàn)時(shí),則場(chǎng)景D2 一定在D1 之前就在系統(tǒng)的行為中發(fā)生。

4.雙向強(qiáng)制一致性: 當(dāng)兩個(gè)條件場(chǎng)景D1、D2 在系統(tǒng)一個(gè)行為中先后出現(xiàn)時(shí),則在這兩個(gè)場(chǎng)景之間一定有D3 發(fā)生。

2.3 模型分析與驗(yàn)證算法

基于以上給出的接口自動(dòng)機(jī)系統(tǒng)組合行為模型以及交互場(chǎng)景系統(tǒng)規(guī)約模型,可以對(duì)2.2節(jié)中提出的多個(gè)基于功能的一致性驗(yàn)證問(wèn)題進(jìn)行分析與驗(yàn)證;同時(shí),考慮嵌入式軟件設(shè)計(jì)中的實(shí)時(shí)需求,以上每個(gè)基于功能的一致性驗(yàn)證問(wèn)題都存在一個(gè)相應(yīng)的帶時(shí)間約束的版本;即在完成功能性驗(yàn)證的同時(shí),也必須同時(shí)滿足交互場(chǎng)景中給定的時(shí)間約束。在相關(guān)研究工作中,對(duì)上述幾類(lèi)模型驗(yàn)證問(wèn)題進(jìn)行了形式化定義和分析,并分別設(shè)計(jì)了相應(yīng)的驗(yàn)證算法。算法的基本思想是對(duì)帶有不同語(yǔ)義信息的系統(tǒng)組合行為的狀態(tài)空間進(jìn)行搜索,將每一個(gè)可能的系統(tǒng)行為與基于場(chǎng)景的交互規(guī)約進(jìn)行比較,來(lái)判斷設(shè)計(jì)模型是否滿足各種系統(tǒng)規(guī)約。例如:對(duì)于存在一致性驗(yàn)證問(wèn)題,如果在組合狀態(tài)空間中順序圖D 所描述場(chǎng)景中的消息事件序列至少出現(xiàn)一次,則判定系統(tǒng)行為滿足D,其相應(yīng)的抽象算法框架參見(jiàn)文獻(xiàn)中的算法;其中所提到的投影路徑是為了處理狀態(tài)空間中環(huán)路的出現(xiàn)導(dǎo)致所檢驗(yàn)的系統(tǒng)行為路徑可能是無(wú)窮長(zhǎng)度的問(wèn)題。對(duì)于系統(tǒng)實(shí)時(shí)行為的驗(yàn)證算法,則需要進(jìn)一步考慮由于時(shí)間的引入所帶來(lái)的如何將連續(xù)時(shí)間進(jìn)行整型化處理,以及帶時(shí)間約束的投影路徑的建立;RTIA-Network 的一致性驗(yàn)證抽象算法框架參見(jiàn)文獻(xiàn)。中國(guó)代寫(xiě)論文網(wǎng)與您分享論文范文

3.T-CBESD 的設(shè)計(jì)與實(shí)現(xiàn)

基于以上的理論分析與驗(yàn)證框架,本文設(shè)計(jì)了一個(gè)原型工具T-CBESD(a Tool forComponent-Based Embedded Software Designs)。T-CBESD 的目的是應(yīng)用于構(gòu)件化嵌入式軟件開(kāi)發(fā)的設(shè)計(jì)建模階段,對(duì)設(shè)計(jì)者所關(guān)心的一些系統(tǒng)重要功能性質(zhì)以及與時(shí)間相關(guān)的實(shí)時(shí)行為性質(zhì)進(jìn)行嚴(yán)格形式化分析和驗(yàn)證,以提高系統(tǒng)可靠性的可信度。工具的基本設(shè)計(jì)原則主要包括以下兩個(gè)方面:

T-CBESD 應(yīng)當(dāng)具備跨平臺(tái)運(yùn)行、易擴(kuò)展特征:即工具應(yīng)該可以盡可能在多種不同運(yùn)行平臺(tái)上運(yùn)行,并且考慮到在未來(lái)工作中,我們將在目前的工作基礎(chǔ)上對(duì)接口自動(dòng)機(jī)模型進(jìn)行資源以及能耗等語(yǔ)義描述方面的進(jìn)一步擴(kuò)展;因此,選擇了面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言Java作為工具的實(shí)現(xiàn)語(yǔ)言。Java 具有良好的跨平臺(tái)運(yùn)行特征以及豐富的類(lèi)庫(kù)資源,并可以使用面向?qū)ο蟪绦蛟O(shè)計(jì)思想中的類(lèi)繼承等方法對(duì)工具進(jìn)行方便可靠的擴(kuò)展。

T-CBESD 應(yīng)當(dāng)具備易使用、易維護(hù)特征:用戶可以比較方便的使用工具,或進(jìn)行調(diào)整;因此,選擇了工業(yè)界廣泛使用的開(kāi)放集成開(kāi)發(fā)環(huán)境Eclipse 作為工具的運(yùn)行平臺(tái),即使用Eclipse 的插件(plug-in)技術(shù)來(lái)設(shè)計(jì)和開(kāi)發(fā)T-CBESD。用戶可以很容易在Eclipse 環(huán)境中通過(guò)插件技術(shù)來(lái)安裝、配置和使用工具;同時(shí),在T-CBESD 的輸入輸出接口中所使用的XML語(yǔ)言在Java 和Eclipse 環(huán)境中也是得到完全的支持。

主要的邏輯處理框架包括:

輸入輸出接口; UML 順序圖模型的預(yù)處理;自動(dòng)機(jī)組合模型的建立;非實(shí)時(shí)功能驗(yàn)證算法的實(shí)現(xiàn);實(shí)時(shí)功能驗(yàn)證算法的實(shí)現(xiàn)等。以下分別給出詳細(xì)說(shuō)明。

3.1 輸入輸出接口設(shè)計(jì)

T-CBESD 的輸入輸出均是以XML 文件形式來(lái)描述的系統(tǒng)設(shè)計(jì)模型、系統(tǒng)需求規(guī)約以及驗(yàn)證結(jié)果信息等。其中,工具的輸入包括:描述系統(tǒng)設(shè)計(jì)的接口自動(dòng)機(jī)模型的XML 文件和描述系統(tǒng)規(guī)約的消息交互序列的XML 文件;輸出則包括:描述系統(tǒng)組合行為的接口自動(dòng)機(jī)組合模型的XML 文件和包含驗(yàn)證結(jié)果信息的XML 文件。這里,最核心部分是接口自動(dòng)機(jī)模型的XML 文件格式的設(shè)計(jì)。在圖3 中給出了一個(gè)非實(shí)時(shí)構(gòu)件基本接口自動(dòng)機(jī)模型的XML 文件示例說(shuō)明;通過(guò)XML 的樹(shù)形標(biāo)簽格式,分別定義了自動(dòng)機(jī)名、自動(dòng)機(jī)個(gè)數(shù)(如果這是一個(gè)組合自動(dòng)機(jī))、狀態(tài)個(gè)數(shù)、狀態(tài)名、后繼狀態(tài)名、轉(zhuǎn)換個(gè)數(shù)、轉(zhuǎn)換名、轉(zhuǎn)換的出發(fā)和到達(dá)狀態(tài)名、動(dòng)作個(gè)數(shù)、動(dòng)作名、動(dòng)作類(lèi)型等數(shù)據(jù)信息,用來(lái)完整準(zhǔn)確的保存接口自動(dòng)機(jī)模型的語(yǔ)義信息。此外,對(duì)于擴(kuò)展的實(shí)時(shí)接口自動(dòng)機(jī)模型,其相應(yīng)的XML 文件格式定義中還包含與動(dòng)作相關(guān)聯(lián)的時(shí)間區(qū)間約束標(biāo)記。

在上述定義的XML 文件基礎(chǔ)上,就可以使用Java 類(lèi)庫(kù)中的DOM(文檔對(duì)象模型)方法很方便的對(duì)自動(dòng)機(jī)模型進(jìn)行解析及生成。例如:在T-CBESD 中設(shè)計(jì)了parseXmlDocument()和parseRtXmlDocument()兩個(gè)類(lèi)方法來(lái)分別對(duì)基本接口自動(dòng)機(jī)模型XML 文件和實(shí)時(shí)接口自動(dòng)機(jī)模型XML 文件進(jìn)行解析,并根據(jù)Automata,Transition 以及State 等類(lèi)定義在內(nèi)存空間創(chuàng)建相應(yīng)的自動(dòng)機(jī)對(duì)象。

3.2 UML 順序圖模型的輸入預(yù)處理

雖然 T-CBESD 的輸入輸出定義為標(biāo)準(zhǔn)XML 文檔格式,但在工具中加入了從UML 建模環(huán)境Rational Rose 的順序圖模型到T-CBESD 的XML 輸入文件(描述消息交互序列集)的自動(dòng)化轉(zhuǎn)換處理。其原因有二:

其一,現(xiàn)在工業(yè)界已存在較為成熟的圖形化建模工具,可以快速方便的繪制UML 模型圖,可以利用這些工具作為T(mén)-CBESD 的前端,而不用在T-CBESD 中重新設(shè)計(jì)復(fù)雜的用戶接口來(lái)支持圖形化建模設(shè)計(jì)。

其二,在2.2 節(jié)中提到,一個(gè)順序圖場(chǎng)景可能會(huì)包含多個(gè)不同的消息事件序列;顯然,如果讓系統(tǒng)設(shè)計(jì)與分析人員從每一個(gè)順序圖中手動(dòng)的生成所有可能的消息事件序列,這并不是件容易的事情。因此,需要提供一種從順序圖模型自動(dòng)化生成所有可能的消息事件集合的方法。

在Rational Rose 中所生成的順序圖模型文件是MDL 格式,需要先轉(zhuǎn)換成XML 格式文件,然后進(jìn)行相應(yīng)消息序列的抽取。其處理過(guò)程如圖5 中所示,首先通過(guò)在Rational Rose中加載XMI 插件將MDL 格式的文件轉(zhuǎn)換為XML 格式;然后對(duì)XML 文件進(jìn)行解析,建立文檔解析樹(shù),提取消息事件節(jié)點(diǎn),并根據(jù)順序圖中的事件發(fā)生先后順序構(gòu)造一個(gè)相應(yīng)的有向無(wú)環(huán)圖(在此,定義了順序圖的參加者類(lèi)(Element Class)、消息類(lèi)(Message Class)以及結(jié)點(diǎn)類(lèi)(Node Class)用于圖的構(gòu)造);最后設(shè)計(jì)了一個(gè)拓?fù)渑判蛩惴ǎ瑢?duì)該有向圖中的消息事件節(jié)點(diǎn)進(jìn)行拓?fù)渑判颍瑥亩玫揭粋€(gè)順序圖中所有可能的消息事件序列的集合。

3.3 自動(dòng)機(jī)組合模型的建立

接口自動(dòng)機(jī)的組合過(guò)程與一般自動(dòng)機(jī)組合的語(yǔ)義存在不同之處。在兩個(gè)接口自動(dòng)機(jī)組合的狀態(tài)空間中,有可能存在兩個(gè)構(gòu)件接口之間交互不同步的所謂“非法狀態(tài)”,在應(yīng)用驗(yàn)證算法之前必須將這些非法狀態(tài)找出來(lái)并從狀態(tài)空間中去除掉。文獻(xiàn)中給出了一個(gè)識(shí)別非法狀態(tài)集合的基于不動(dòng)點(diǎn)(Fixpoint)的抽象算法框架,基本思想是先構(gòu)造出所有可能的組合狀態(tài)的空間圖,然后逆向搜索非法狀態(tài)集。在T-CBESD 的實(shí)現(xiàn)中我們則采用正向的合法狀態(tài)集合構(gòu)造方法,其好處是避免了需要首先生成所有的狀態(tài)空間。給出了工具中基本自動(dòng)機(jī)模型的組合算法流程圖。此外,在實(shí)時(shí)接口自動(dòng)機(jī)組合的過(guò)程中還需要進(jìn)一步考慮時(shí)間約束;如在2.1 節(jié)中形式化定義表示一樣,所得到的每一個(gè)組合狀態(tài)都會(huì)有一個(gè)相應(yīng)的時(shí)間標(biāo)記值。

3.4 非實(shí)時(shí)功能性質(zhì)驗(yàn)證算法的實(shí)現(xiàn)

在3.3 節(jié)中建立的自動(dòng)機(jī)組合狀態(tài)空間的基礎(chǔ)上,就可以應(yīng)用文獻(xiàn)中的一致性驗(yàn)證算法等對(duì)3.2 節(jié)中所給出系統(tǒng)需求中的消息交互序列進(jìn)行分析驗(yàn)證。T-CBESD 中實(shí)現(xiàn)了包括存在一致性、前向一致性、逆向一致性以及雙向一致性在內(nèi)的多種形式的非實(shí)時(shí)功能行為驗(yàn)證算法。給出了工具中非實(shí)時(shí)功能性質(zhì)驗(yàn)證模塊的類(lèi)圖框架。主要包括兩大部分:一部分是自動(dòng)機(jī)模型核心類(lèi),包括Automata Class,Transition Class,State Class 以及組合模型的 Composition Class ; 另一部分則是與驗(yàn)證算法相關(guān)的類(lèi),包括:ExistConsistencyChecking Class,ActionString Class,AdjacentMatrix Class 和輔助類(lèi)TransitionNode Class。其中,存在一致性驗(yàn)證類(lèi)(ExistConsistencyChecking Class)作為功能驗(yàn)證算法類(lèi)的基類(lèi),其他形式的一致性驗(yàn)證算法類(lèi)(如:BackwardConsistencyCheckingClass,F(xiàn)orwardConsistencyChecking Class 和 BiConsistencyChecking Class 等)都依賴(lài)存在一致性驗(yàn)證類(lèi),調(diào)用其方法實(shí)現(xiàn)所需的功能。

在基類(lèi)ExistConsistencyChecking 的實(shí)現(xiàn)過(guò)程中,一個(gè)關(guān)鍵的問(wèn)題是:當(dāng)在系統(tǒng)組合狀態(tài)空間圖中搜索與UML 順序圖交互序列所對(duì)應(yīng)的投影路徑時(shí),有可能出現(xiàn)一個(gè)滿足條件的投影路徑一部分出現(xiàn)在某個(gè)環(huán)路內(nèi)部,而另一部分卻出現(xiàn)在此環(huán)路的外部路徑上的情形[11,12]。如果只是采用經(jīng)典的深度優(yōu)先遍歷或廣度優(yōu)先遍歷方法對(duì)組合狀態(tài)空間圖進(jìn)行搜索判定,將會(huì)遺漏掉這種情況。為此,在T-CBESD 中設(shè)計(jì)了動(dòng)作名表(ActionString Class)和鄰接矩陣(AdjacentMatrix Class)。其中,動(dòng)作名表是以接口自動(dòng)機(jī)的動(dòng)作名作為表頭向量,并以執(zhí)行該動(dòng)作名的轉(zhuǎn)換作為表結(jié)點(diǎn)的一張哈希表,其定義見(jiàn)圖8 所示(注:未包含類(lèi)方法說(shuō)明)。

基本思想為:對(duì)于所給出的一個(gè)消息交互序列,先根據(jù)消息名從動(dòng)作名表中依次取出與消息名所對(duì)應(yīng)的表頭結(jié)點(diǎn)以及表結(jié)點(diǎn),構(gòu)成一張與消息序列中消息次序?qū)?yīng)的消息名表。

然后遍歷這張消息名表來(lái)搜索投影路徑,搜索過(guò)程中需要根據(jù)鄰接矩陣來(lái)判斷兩個(gè)結(jié)點(diǎn)之間是否可達(dá)。

3.5 實(shí)時(shí)功能性質(zhì)驗(yàn)證算法的實(shí)現(xiàn)

在實(shí)時(shí)功能性質(zhì)驗(yàn)證算法的實(shí)現(xiàn)中,考慮到實(shí)時(shí)一致性驗(yàn)證抽象算法框架實(shí)際上包含了兩次對(duì)組合系統(tǒng)狀態(tài)空間圖的搜索過(guò)程;也就是說(shuō)在非實(shí)時(shí)功能一致性驗(yàn)證中只需找到一條滿足條件的投影路徑,而在實(shí)時(shí)功能一致性驗(yàn)證中,是需要先根據(jù)消息序列找出所有可能的投影路徑,然后進(jìn)行檢驗(yàn)。因此,T-CBESD 中依據(jù)動(dòng)作名表以及鄰接矩陣對(duì)圖進(jìn)行窮舉搜索,搜索到一條投影路徑之后并不立即結(jié)束,而是繼續(xù)找下一條投影路徑,找出所有與給定路徑相符合的投影路徑。在此基礎(chǔ)上根據(jù)所給出的時(shí)間布爾表達(dá)式對(duì)這些投影路徑進(jìn)行篩選,如果找到符合時(shí)間布爾表達(dá)的投影路徑驗(yàn)證則驗(yàn)證成功,否則,驗(yàn)證失敗。

4.實(shí)例應(yīng)用

目前,T-CBESD 的設(shè)計(jì)開(kāi)發(fā)和運(yùn)行環(huán)境是:Windows Xp 操作系統(tǒng)平臺(tái),Eclipse SDK3.4.0,Java SDK 1.6,所引用的MDL 文件是由Rational Rose 2003 生成。本節(jié)中分別給出T-CBESD 的非實(shí)時(shí)功能性質(zhì)驗(yàn)證和實(shí)時(shí)功能驗(yàn)證兩方面的實(shí)例應(yīng)用說(shuō)明。

在T-CBESD 中所構(gòu)造的構(gòu)件Communication 和User 的合法組合狀態(tài)空間(去除了非法狀態(tài)集)包括6 個(gè)組合狀態(tài):(s0|s0),(s1|s1),(s2|s1),(s3|s1),(s4|s1),(s5|s1)。對(duì)于存在一致性驗(yàn)證,不妨設(shè)順序圖中抽取的一個(gè)消息交互序列send*nack*send*ack 作為驗(yàn)證規(guī)約,顯然,直觀上就能判斷Communication 和User 的組合系統(tǒng)應(yīng)該是滿足這個(gè)規(guī)約的。

運(yùn)行T-CBESD 進(jìn)行驗(yàn)證的結(jié)果,顯示組合系統(tǒng)確實(shí)滿足存在一致性,其相應(yīng)的系統(tǒng)執(zhí)行路徑為:s0|s0??s1|s1??s2|s1??s3|s1??s4|s1??s5|s1。對(duì)于前向一致性驗(yàn)證,就本例而言,不妨設(shè)D1 消息序列為send*nack,D2 消息序列為send*ack,然后將其作為工具的系統(tǒng)規(guī)約來(lái)輸入,其驗(yàn)證結(jié)果應(yīng)該仍然是滿足。運(yùn)行T-CBESD 的驗(yàn)證結(jié)果,顯示的確存在一條系統(tǒng)執(zhí)行路徑滿足前向一致性。事實(shí)上,所找到這條路徑與存在一致性的路徑是相同的。

對(duì)于逆向存在一致性,若設(shè)D1 消息序列是send,D2 消息序列是ack,T-CBESD 給出的結(jié)果是不存在這樣的一條組合系統(tǒng)路徑滿足它。這也符合對(duì)本例的直觀判斷,即在接受到ack之后又執(zhí)行send 動(dòng)作是不合法的,因此這個(gè)存在一致性是不滿足的。對(duì)于雙向一致性,若給出的D1 消息序列是send,D2 消息序列是send,D3 消息序列是nack,驗(yàn)證的結(jié)果是搜索成功,得到的可滿足的組合系統(tǒng)執(zhí)行路徑為:s0|s0??s1|s1??s2|s1??s3|s1??s4|s1。圖13 所示為T(mén)-CBESD 的非實(shí)時(shí)功能驗(yàn)證模塊插件的界面。界面左邊部分為操作區(qū),主要提供組合、查看、工具輸入、驗(yàn)證類(lèi)型等功能選擇,界面右邊部分為分析與驗(yàn)證過(guò)程中工具所反饋的數(shù)據(jù)信息。

5.相關(guān)研究工作

SpIN是一個(gè)經(jīng)典的分布式系統(tǒng)模型檢驗(yàn)工具。系統(tǒng)每一個(gè)構(gòu)件的自動(dòng)機(jī)模型使用SpIN 中promela 語(yǔ)言所構(gòu)造的進(jìn)程(process)來(lái)表達(dá),組合系統(tǒng)的狀態(tài)空間通過(guò)計(jì)算所有自動(dòng)機(jī)異步積來(lái)得到,系統(tǒng)規(guī)約使用LTL 時(shí)序公式描述;系統(tǒng)是否滿足規(guī)約性質(zhì)則通過(guò)組合系統(tǒng)和時(shí)序公式相對(duì)應(yīng)的Buchi 自動(dòng)機(jī)進(jìn)行同步積,然后檢驗(yàn)其結(jié)果是否為空。目前SpIN在工業(yè)界硬件設(shè)計(jì)以及通信協(xié)議規(guī)約的驗(yàn)證領(lǐng)域得到了較廣泛的應(yīng)用,但對(duì)同時(shí)具有功能和非功能需求的嵌入式軟件驗(yàn)證領(lǐng)域,SpIN 并未提供相應(yīng)的支持。UppAAL是一個(gè)基于時(shí)間自動(dòng)機(jī)理論的實(shí)時(shí)系統(tǒng)仿真和驗(yàn)證工具。其基本思想為將實(shí)時(shí)系統(tǒng)的行為建模為一個(gè)實(shí)時(shí)自動(dòng)機(jī)網(wǎng)絡(luò),并進(jìn)行了數(shù)據(jù)類(lèi)型的擴(kuò)展,采用時(shí)間μ-算子作為系統(tǒng)的規(guī)約語(yǔ)言,主要對(duì)系統(tǒng)進(jìn)行安全性和活性等性質(zhì)的檢驗(yàn)。UppAAL 具有良好的圖形化編輯和模擬功能。

目前,已有一些工具以UppAAL 為核心作進(jìn)一步擴(kuò)展,如:TIMES是以時(shí)間自動(dòng)機(jī)模型驗(yàn)證為基礎(chǔ)的一個(gè)工具集環(huán)境,可以進(jìn)行建模、可調(diào)度分析、系統(tǒng)合成以及特定平臺(tái)上的代碼生成;Save-IDE則是基于構(gòu)件模型SaveCCM[20]所建立的一個(gè)支持構(gòu)件化嵌入式系統(tǒng)開(kāi)發(fā)的工具集,等等。此外,與接口自動(dòng)機(jī)相關(guān)的工具包括:Chic是第一個(gè)基于接口自動(dòng)機(jī)理論的原型工具。它是作為Jbuilder 集成環(huán)境下的一個(gè)插件模塊來(lái)設(shè)計(jì)開(kāi)發(fā)的,其目的只是用于對(duì)相關(guān)理論工作的一個(gè)初步驗(yàn)證,現(xiàn)在已經(jīng)被另一個(gè)工具Ticc所替代。

Ticc 的理論基礎(chǔ)是接口自動(dòng)機(jī)的一個(gè)擴(kuò)展版本:Sociable Interface,其基本思想仍然是檢驗(yàn)構(gòu)件接口組合中是否兼容。ptolemy II中也實(shí)現(xiàn)了基本接口自動(dòng)機(jī)模型的組合兼容性分析工作,不過(guò)ptolemy II 是一個(gè)包含了多種不同工具集的混成系統(tǒng)建模、分析、合成和代碼生成的開(kāi)發(fā)環(huán)境。此外,以法國(guó)INRIA 為中心的歐洲多個(gè)研究機(jī)構(gòu)正在構(gòu)建的OpenEmbeDD是一個(gè)以Eclipse 為開(kāi)放平臺(tái)的模型驅(qū)動(dòng)嵌入式系統(tǒng)開(kāi)發(fā)工具集。這是一個(gè)龐大的開(kāi)源工具組合環(huán)境,提供嵌入式系統(tǒng)設(shè)計(jì)(包括軟件和硬件)、模擬、驗(yàn)證、合成以及測(cè)試等各個(gè)階段的開(kāi)發(fā)支持。

與上述相關(guān)工具相比,T-CBESD 的特點(diǎn)在于:首先,可以直接使用UML 的順序圖模型作為系統(tǒng)規(guī)約輸入進(jìn)行驗(yàn)證,而不需要系統(tǒng)設(shè)計(jì)人員去重新學(xué)習(xí)時(shí)序邏輯語(yǔ)言來(lái)構(gòu)造規(guī)約說(shuō)明;避免了在大多數(shù)相關(guān)工作中需要在不同的形式模型之間進(jìn)行復(fù)雜轉(zhuǎn)換,通常這些轉(zhuǎn)換是需要相當(dāng)?shù)目臻g和時(shí)間消耗。其次,相比較上述基于接口自動(dòng)機(jī)模型的研究,本文的工作在接口自動(dòng)機(jī)組合兼容性的基礎(chǔ)上對(duì)構(gòu)件式嵌入式軟件系統(tǒng)設(shè)計(jì)模型與場(chǎng)景式規(guī)約模型之間的一致性問(wèn)題給出了一個(gè)更為完整的驗(yàn)證框架;可以進(jìn)一步進(jìn)行各類(lèi)一致性問(wèn)題的分析和驗(yàn)證;第三,通過(guò)擴(kuò)展時(shí)間區(qū)間所得到的實(shí)時(shí)接口自動(dòng)機(jī)的描述能力本質(zhì)上與時(shí)間自動(dòng)機(jī)的描述能力是等價(jià)的,并且通過(guò)在順序圖模型中使用時(shí)間不等式約束,使得所定義的實(shí)時(shí)接口自動(dòng)機(jī)網(wǎng)絡(luò)與帶時(shí)間約束的順序圖之間的一致性問(wèn)題更具有一般性。最后,Eclipse 開(kāi)放平臺(tái)給工具提供了良好的開(kāi)發(fā)、維護(hù)和使用環(huán)境。

6.結(jié)束語(yǔ)及未來(lái)工作

本文在 Eclipse 開(kāi)放平臺(tái)上設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于接口自動(dòng)機(jī)模型的構(gòu)件化嵌入式軟件設(shè)計(jì)分析與驗(yàn)證的原型工具T-CBESD。該工具的目的是應(yīng)用于構(gòu)件化嵌入式軟件開(kāi)發(fā)的設(shè)計(jì)建模階段,對(duì)系統(tǒng)重要功能性質(zhì)以及與時(shí)間相關(guān)的實(shí)時(shí)行為性質(zhì)進(jìn)行嚴(yán)格形式化分析和驗(yàn)證,使得設(shè)計(jì)者可以盡早在系統(tǒng)開(kāi)發(fā)前期發(fā)現(xiàn)錯(cuò)誤并予以修改,以降低成本并提高系統(tǒng)可靠性的可信度。論文主要內(nèi)容包括:非實(shí)時(shí)功能驗(yàn)證以及實(shí)時(shí)功能驗(yàn)證的理論基礎(chǔ);T-CBESD 的基本設(shè)計(jì)思想;工具的輸入輸出接口、狀態(tài)空間數(shù)據(jù)結(jié)構(gòu)、驗(yàn)證算法等的設(shè)計(jì)與實(shí)現(xiàn);以及應(yīng)用實(shí)例分析。

進(jìn)一步的工作包括以下幾個(gè)方面:

擴(kuò)展工具的輸入和輸出接口形式。輸入方面,目前T-CBESD 中自動(dòng)機(jī)模型的XML 文件是需要用戶手動(dòng)生成,我們希望也可以使用Rational Rose 等圖形化建模環(huán)境作為前端工具來(lái)方便用戶進(jìn)行系統(tǒng)接口自動(dòng)機(jī)模型的設(shè)計(jì)。但是接口自動(dòng)機(jī)與UML 狀態(tài)機(jī)的語(yǔ)法和語(yǔ)義都存在不同之處,需要重新設(shè)計(jì)一個(gè)中間轉(zhuǎn)換過(guò)程來(lái)處理。同時(shí),考慮在順序圖形式化定義的基礎(chǔ)上進(jìn)一步對(duì)UML 交互概觀圖進(jìn)行形式化描述,并將其作為工具的另一種擴(kuò)展形式的輸入模型。輸出方面,將設(shè)計(jì)更為完整的驗(yàn)證結(jié)果信息XML 文件格式,并考慮與軟件測(cè)試技術(shù)相結(jié)合,利用驗(yàn)證結(jié)果給出的系統(tǒng)出錯(cuò)(驗(yàn)證失敗)行為軌跡來(lái)指導(dǎo)生成相應(yīng)的測(cè)試用例。

在工具的核心算法部分,將進(jìn)一步設(shè)計(jì)并實(shí)現(xiàn)包括資源接口自動(dòng)機(jī)和能耗接口自動(dòng)機(jī)在內(nèi)的分析與驗(yàn)證算法,以擴(kuò)展T-CBESD 的功能。同時(shí),考慮到在實(shí)時(shí)接口自動(dòng)機(jī)組合過(guò)程中可能出現(xiàn)的狀態(tài)空間爆炸問(wèn)題,將對(duì)實(shí)時(shí)驗(yàn)證算法作進(jìn)一步改進(jìn),設(shè)計(jì)新的On-the-Fly 驗(yàn)證算法實(shí)現(xiàn),即:在構(gòu)造一個(gè)新?tīng)顟B(tài)的時(shí)候就對(duì)當(dāng)前路徑進(jìn)行即時(shí)驗(yàn)證。

應(yīng)用復(fù)雜的多構(gòu)件系統(tǒng)設(shè)計(jì)實(shí)例,來(lái)對(duì)工具的性能進(jìn)行檢驗(yàn)和提高。目前所運(yùn)行的實(shí)例相對(duì)比較簡(jiǎn)單,主要目的是為了檢查實(shí)現(xiàn)算法的正確性,還需要在復(fù)雜多構(gòu)件系統(tǒng)模型情形下對(duì)算法性能作進(jìn)一步檢驗(yàn)和改進(jìn)。現(xiàn)在我們正在對(duì)某無(wú)人機(jī)飛行控制軟件系統(tǒng)進(jìn)行模型分析和抽取工作,準(zhǔn)備將其作為T(mén)-CBESD 的一個(gè)復(fù)雜實(shí)例驗(yàn)證。

進(jìn)一步完善原型工具的操作界面;目前本文的工作主要關(guān)注于基本的輸入輸出處理和核心算法的設(shè)計(jì)與實(shí)現(xiàn),還需要考慮工具用戶界面接口設(shè)計(jì)的實(shí)用性和有效性。

第三篇:嵌入式圖像處理系統(tǒng)的軟件設(shè)計(jì)論文

摘要:隨著我國(guó)智能化、信息化的不斷發(fā)展,嵌入式系統(tǒng)在多媒體通信、交通控制以及個(gè)人數(shù)據(jù)處理中得到了廣泛的應(yīng)用,計(jì)算機(jī)視覺(jué)技術(shù)的應(yīng)用范圍也逐漸增強(qiáng)。嵌入式圖像處理系統(tǒng)嵌入式系統(tǒng)和計(jì)算機(jī)視覺(jué)技術(shù)的有效融合,可用于網(wǎng)絡(luò)攝像機(jī)、視頻監(jiān)控等領(lǐng)域,采用的是網(wǎng)絡(luò)化嵌入式硬件系統(tǒng)對(duì)圖像進(jìn)行處理,具有重大的運(yùn)用價(jià)值。

關(guān)鍵詞:嵌入式;圖像處理系統(tǒng);軟件設(shè)計(jì)

中圖分類(lèi)號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1674-6708(2016)156-0080-02

DOI:10.16607/j.cnki.1674-6708.2016.03.049

在很多領(lǐng)域中,由于科學(xué)技術(shù)的不斷發(fā)展,不可避免的需要使用大量的數(shù)據(jù),面對(duì)這些算法復(fù)雜的數(shù)據(jù),傳統(tǒng)的圖像處理系統(tǒng)已經(jīng)不能滿足要求。嵌入式圖像處理系統(tǒng)在通訊、醫(yī)藥等方面都發(fā)揮著非常重要的作用,正是因?yàn)楦鱾€(gè)領(lǐng)域獲得的圖像數(shù)據(jù)越來(lái)越多,如何對(duì)圖像數(shù)據(jù)快速準(zhǔn)確的進(jìn)行處理顯得格外重要。所以需要設(shè)計(jì)出更優(yōu)化的圖像處理。

1嵌入式系統(tǒng)概述

1.1嵌入式系統(tǒng)的概念

嵌入式系統(tǒng)是建立在計(jì)算機(jī)技術(shù)基礎(chǔ)上的應(yīng)用型專(zhuān)用計(jì)算機(jī)系統(tǒng),其軟件和硬件都可以剪裁,系統(tǒng)對(duì)成本、功耗、功能都提出了更高的要求,具有可靠性強(qiáng)、體積小等優(yōu)點(diǎn),可以實(shí)現(xiàn)對(duì)其他設(shè)備的監(jiān)視、控制和管理。隨著嵌入式系統(tǒng)的不斷發(fā)展,嵌入式系統(tǒng)已經(jīng)滲透到人們的生活中,無(wú)論是在工業(yè)、服務(wù)業(yè)還是消費(fèi)電子等領(lǐng)域都得到了廣泛的應(yīng)用。

1.2嵌入式系統(tǒng)的特點(diǎn)

與普通的計(jì)算機(jī)系統(tǒng)相比,嵌入式系統(tǒng)的專(zhuān)用性更強(qiáng),一般是面向特定運(yùn)用的,嵌入式處理器一般應(yīng)用在用戶設(shè)計(jì)的特定系統(tǒng)中,集成性高、體積小、功耗低,不僅具有方便攜帶的優(yōu)點(diǎn),操作系統(tǒng)更是實(shí)時(shí)操作的,可以滿足實(shí)時(shí)性較強(qiáng)的場(chǎng)合要求。將嵌入式系統(tǒng)運(yùn)用到應(yīng)用程序中,在芯片上直接運(yùn)行而不需要操作系統(tǒng),未來(lái)可以充分利用更多的系統(tǒng)資源,用戶需要選擇RTOS開(kāi)發(fā)平臺(tái),保障軟件的質(zhì)量。嵌入式系統(tǒng)主要包括硬件系統(tǒng)和軟件系統(tǒng),其中硬件系統(tǒng)是基礎(chǔ),軟件系統(tǒng)是靈魂,復(fù)雜程度非常高。

2系統(tǒng)軟件設(shè)計(jì)

基于RF5軟件系統(tǒng)總體設(shè)計(jì):嵌入式圖像處理系統(tǒng)和傳統(tǒng)處理系統(tǒng)一樣,主要包括硬件和軟件兩個(gè)方面,硬件包括系統(tǒng)的硬件平臺(tái),軟件包括嵌入式操作系統(tǒng)和圖像處理算法兩個(gè)方面。其中硬件平臺(tái)又包括圖像儲(chǔ)存模塊、通信模塊和顯示模塊等,主要是為系統(tǒng)的軟件系統(tǒng)提供支持。在圖像處理過(guò)程中,硬件系統(tǒng)可以為其提供計(jì)算、顯示、存儲(chǔ)等條件[1]。RF5是以DSP和XDAIS為基礎(chǔ)的代碼參考框架,在DSP軟件的設(shè)計(jì)和開(kāi)發(fā)中具有重要的作用,參考框架在整個(gè)程序中具有非常重要的作用,是整個(gè)運(yùn)用應(yīng)用程序的藍(lán)本。RF5的數(shù)據(jù)處理元素包括通道、單元、任務(wù)和XDAIS算法,這4個(gè)元素之間具有緊密的聯(lián)系,獨(dú)立又聯(lián)系。嵌入式操作系統(tǒng)是整個(gè)系統(tǒng)的核心系統(tǒng),提供了包括圖形處理任務(wù)管理在內(nèi)的各項(xiàng)管理,經(jīng)過(guò)硬件的初始化、圖像信息存儲(chǔ)、圖像信息顯示等過(guò)程實(shí)現(xiàn)圖像處理和存儲(chǔ)。

3軟件模塊化程序?qū)崿F(xiàn)

3.1初始化模塊

軟件系統(tǒng)的初始化模塊主要包括處理器、RF5模塊化初始化、圖像處理算法、視頻捕獲、視頻顯示通道等。處理器和系統(tǒng)板初始化是指設(shè)備重啟之后,通過(guò)軟件配置的方式對(duì)外圍設(shè)備進(jìn)行配置和選擇。系統(tǒng)在進(jìn)行工作的時(shí)候,初始化模塊是其執(zhí)行的第一個(gè)任務(wù),執(zhí)行完初始化模塊之后,程序的控制權(quán)將會(huì)轉(zhuǎn)變到調(diào)度程序中,由調(diào)度程序來(lái)調(diào)度接下來(lái)的任務(wù)。

3.2視頻捕獲和顯示模塊

3.2.1視頻捕獲的實(shí)現(xiàn)

視頻捕獲主要負(fù)責(zé)將外部的視頻解碼器解碼生成的數(shù)字視頻信號(hào)采集收集起來(lái),并且這個(gè)采集的過(guò)程非常方便,可以實(shí)現(xiàn)實(shí)時(shí)采集,最終形成的圖形處理也是可以實(shí)時(shí)處理的,可以隨時(shí)隨地對(duì)大數(shù)據(jù)的圖像進(jìn)行處理,這也是其最大的優(yōu)點(diǎn)和特點(diǎn)。采集到的數(shù)字視頻信號(hào)進(jìn)入到系統(tǒng)外擴(kuò)的存儲(chǔ)器中,從而實(shí)現(xiàn)視頻的捕獲。視頻采集可以自動(dòng)采集,當(dāng)單元進(jìn)入自動(dòng)采集狀態(tài),完成了圖像的采集之后,視頻端口都會(huì)向系統(tǒng)自動(dòng)發(fā)出中斷請(qǐng)求,中斷服務(wù)程序便開(kāi)始發(fā)揮自身的功能,對(duì)圖像的存儲(chǔ)區(qū)進(jìn)行連續(xù)更新,圖像存儲(chǔ)區(qū)一旦更新之后,圖像采集系統(tǒng)就會(huì)采集下一個(gè)圖像數(shù)據(jù),最終進(jìn)入一個(gè)循環(huán)。當(dāng)視頻端口的FIFO裝滿了采集的數(shù)據(jù)之后,會(huì)發(fā)生中斷信息,進(jìn)入EDMAISR中斷服務(wù)程序?qū)⒁曨l數(shù)據(jù)送入到SDRAM中[2]。

3.2.2視頻顯示的實(shí)現(xiàn)

視頻顯示的實(shí)現(xiàn)是通過(guò)視頻圖像顯示模塊來(lái)實(shí)現(xiàn)的,視頻圖像處理模塊處理后的圖像經(jīng)過(guò)顯示模塊處理,處理之后將圖像編碼成數(shù)字視頻流,標(biāo)準(zhǔn)數(shù)字視頻流經(jīng)過(guò)系統(tǒng)編碼轉(zhuǎn)化為虛擬視頻信號(hào),經(jīng)過(guò)解碼器之后視頻流就變成了標(biāo)準(zhǔn)的模擬視頻信號(hào),分別經(jīng)過(guò)EDMA控制器和EDMAISR之后最終進(jìn)入到視頻端口的緩沖區(qū)中,經(jīng)過(guò)緩沖器之后,信號(hào)會(huì)使EDMA中斷,送入新的圖像信號(hào),并在顯示器上顯示出來(lái),視頻顯示的流程。輸出作用在外部編輯器中。

3.3圖像處理模塊

圖像處理模塊比較靈活,是指在嵌入式的環(huán)境下實(shí)現(xiàn)對(duì)圖像的處理。在圖像處理系統(tǒng)中,又包括系統(tǒng)功能模塊和圖像增強(qiáng)模塊。系統(tǒng)功能中包含圖像增強(qiáng)功能,除了圖像功能之外,還包括圖像的幾何變換、形態(tài)運(yùn)輸和圖像分析。在圖像增強(qiáng)模塊中又包括圖像的預(yù)處理和邊緣檢測(cè)、直方圖修正、中值濾波、灰度變換調(diào)整,而圖像預(yù)處理又包括圖像平滑和圖像銳化。圖像平滑就是消除噪聲對(duì)圖像造成的影響,圖像平滑的處理是通過(guò)高斯低通濾波法來(lái)實(shí)現(xiàn),這樣做雖然可以消除圖像受到噪聲的影響,但同時(shí)也存在著一定的弊端,圖像經(jīng)過(guò)處理之后會(huì)變得模糊。圖像銳化的目的就是讓模糊的圖像重新變得清晰。圖像模糊是由于圖像受到平均或積分運(yùn)算而造成的,圖像銳化就是對(duì)其進(jìn)行逆運(yùn)算,重新使圖像變得清晰[3]。

4結(jié)論

嵌入式圖像處理系統(tǒng)的軟件系統(tǒng)主要包括初始化模塊、視頻捕獲模塊、視頻顯示模塊和圖像處理模塊,在確定了整個(gè)軟件系統(tǒng)的程序流程之后,就可以分別設(shè)計(jì)紛紛模塊的程序,最終完成整個(gè)軟件系統(tǒng)的設(shè)計(jì)。

參考文獻(xiàn)

[1]吳錫強(qiáng).探析嵌入式圖像處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)光盤(pán)與軟件,2015,12(3):307-309.[2]蔣立豐.嵌入式圖像處理系統(tǒng)的設(shè)計(jì)與研究[D].東華大學(xué),2013,22(21):11-13.[3]宋琦,牟曉光.嵌入式圖像處理系統(tǒng)設(shè)計(jì)[J].信息技術(shù)與信息化,2015,22(31):116-117

第四篇:嵌入式心得

11計(jì)科4班

115031303

4魯敏杰

嵌入式實(shí)習(xí)報(bào)告

實(shí)習(xí)內(nèi)容:學(xué)習(xí)并自己動(dòng)手在Ubuntu系統(tǒng)下制作電子相框

實(shí)驗(yàn)?zāi)康模篣buntu操作系統(tǒng)的使用,利用C語(yǔ)言編寫(xiě)程序制作電子相框第一周學(xué)習(xí):學(xué)習(xí)Ubuntu操作系統(tǒng)的簡(jiǎn)單使用

使用VMware 虛擬機(jī)搭建Ubuntu操作系統(tǒng)環(huán)境;作為主要由自由軟件構(gòu)建的操作系統(tǒng),Ubuntu具有龐大的社區(qū)力量,用戶可以方便地從社區(qū)獲得幫助。Ubuntu的一些基本命令操作如下所示:

Ls查看系統(tǒng)目錄下的文件

Cd進(jìn)入目錄 后接地址cd..返回上級(jí)

Gedit進(jìn)行編譯操作 后接需要編譯的文件

Cat查看文件 在編譯器中查看與vi 相似

Make進(jìn)行編譯make clean 清理編譯

Ctrl+Alt+F2 進(jìn)入U(xiǎn)buntu系統(tǒng)的控制臺(tái)

Ctrl+Alt +F7退出控制臺(tái)操作

ctrl + C控制臺(tái)操作時(shí)終止程序運(yùn)行

第二周學(xué)習(xí):在Ubuntu中利用C語(yǔ)言實(shí)現(xiàn)圖片的特效運(yùn)轉(zhuǎn)

電子相冊(cè)的主體結(jié)構(gòu)在編譯器中實(shí)現(xiàn)編譯,主要學(xué)習(xí)C語(yǔ)言程序的編寫(xiě)實(shí)現(xiàn)圖片的特效顯示。圖片特效的實(shí)現(xiàn)學(xué)習(xí)完畢,就開(kāi)始制作電子相冊(cè),實(shí)現(xiàn)圖片的添加。

圖片的添加:圖片加入文件中。在showpic.c文件中實(shí)現(xiàn)特效 在main.c文件中實(shí)現(xiàn)顯示。用C語(yǔ)言編寫(xiě)的特效有上到下、左到右、中間分屏、上下分屏、圓的擴(kuò)展與縮小、四分屏等。

部分特效關(guān)鍵代碼如下:

畫(huà)點(diǎn)實(shí)現(xiàn)在屏幕中設(shè)定坐標(biāo)、參數(shù)中添加了顏色

void pixel_point(struct fb_var_screeninfo fb_var,char *mem, int x, int

y, int color)//畫(huà)點(diǎn)函數(shù)

{int *buf =(int *)((fb_var.xres*y+x)*fb_var.bits_per_pixel/8 + mem);

*buf = color;

}

利用C語(yǔ)言實(shí)現(xiàn)畫(huà)圓的特效

void pixel_circle(struct fb_var_screeninfo fb_var, char *mem, int x, int

y,int len,int color)//畫(huà)圓

{int i,j;

for(i=0;i

for(j=0;j

if(((j-x)*(j-x)+(i-y)*(i-y))>(len*len))continue;

else

pixel_point(fb_var,mem,j,i,color);

}

滿屏打印輸出函數(shù)

voidpixel_full_screen(struct fb_var_screeninfo fb_var, char *mem,int color)//滿屏

{int i,j;

for(i=0;i

for(j=0;j

pixel_point(fb_var,mem,j,i,color);

usleep(1000);

}

第三周學(xué)習(xí):制作一個(gè)完整可運(yùn)行的相冊(cè)程序

編程在showpic.c函數(shù)中實(shí)現(xiàn)圖片的特效輸出;修改showpic.c添加已有特效;

編程main.c實(shí)現(xiàn)圖片及特效的可控定向顯示;完成實(shí)際操作并成功運(yùn)行通過(guò)驗(yàn)收

學(xué)習(xí)心得:

Ubuntu操作系統(tǒng)與Linux操作系統(tǒng)相似學(xué)習(xí)起來(lái)不難,超級(jí)終端的使用就是命令行的操作,這點(diǎn)在以前學(xué)習(xí)的Linux操作系統(tǒng)中有一定的基礎(chǔ)。最重要的感受就是特效算法的實(shí)現(xiàn)。這是一個(gè)學(xué)習(xí)C語(yǔ)言與linux的很好機(jī)會(huì)。出現(xiàn)問(wèn)題:

1.自下到上或者自右到左實(shí)現(xiàn)特效時(shí)候無(wú)法正常運(yùn)行,只能出現(xiàn)兩張圖片的一半效果。

2.分屏輸出出現(xiàn)很多重合的圖片,不能按照一定的速率打印。

解決問(wèn)題:

多次刷屏,當(dāng)讀出一半圖片時(shí)候,重新讀取另一半圖片以及新的另一半圖片。不能安裝預(yù)定的方式打印圖片

心得:

在為期三周的實(shí)習(xí)過(guò)程中,首先了解在VMware虛擬機(jī)上搭建的Ubuntu操作系統(tǒng),加深了對(duì)Linux系統(tǒng)的理解和認(rèn)識(shí)。其次就是學(xué)會(huì)一些基本的圖片特效的實(shí)現(xiàn),由于時(shí)間緊迫的緣故,不能熟練的掌握。但是實(shí)現(xiàn)一些基本特效還是比較容易的,對(duì)C程序又有了新的理解。總是犯一些很淺顯的錯(cuò)誤,說(shuō)明還是學(xué)的不夠扎實(shí)。這次實(shí)習(xí)也給了重新認(rèn)識(shí)自己的機(jī)會(huì),知道了以前學(xué)到的跟實(shí)踐起來(lái)還是有很大的差別,面臨工作的壓力,我們這點(diǎn)能力是不夠看的。要想找到理想的工作,同志仍需努力!

第五篇:報(bào)告嵌入式心得

專(zhuān)題課學(xué)習(xí)至今,學(xué)到了很多東西。而找工作時(shí),各種筆試面試中,深刻地體會(huì)到“嵌入式系統(tǒng)”的重要性。這讓我更堅(jiān)定了學(xué)好嵌入式系統(tǒng)的想法。

嵌入式系統(tǒng)這門(mén)課和C語(yǔ)言頗有關(guān)聯(lián),這也重新夯實(shí)了我的C語(yǔ)言基礎(chǔ)。而良好的C語(yǔ)言能力,也是學(xué)習(xí)嵌入式的必備基礎(chǔ)。我決定在學(xué)好基礎(chǔ)后,在對(duì)嵌入式進(jìn)行擴(kuò)展學(xué)習(xí)。

據(jù)了解嵌入式學(xué)習(xí)主要有兩方面:軟件和硬件。嵌入式軟件的比較多,而做硬件不多,但多是高手。嵌入式的軟件又有好多種,主要是針對(duì)不同CPU的,但是基本都是用C語(yǔ)言的,還有極少的匯編,主要在BOOT啟動(dòng)、初始代碼中。目前來(lái)說(shuō),嵌入式Linux比較流行,安卓就是基于linux內(nèi)核的。wince、Vxworks什么的貌似不多,特別是vxworks。

我也對(duì)嵌入式系統(tǒng)的應(yīng)用方面進(jìn)行了了解。現(xiàn)在在市場(chǎng)還是蠻吃香的,可從事的就業(yè)方向還是蠻多的比如:消費(fèi)類(lèi)電子(手機(jī)、PDA、游戲機(jī))、數(shù)字 多媒體(網(wǎng)絡(luò)點(diǎn)播、機(jī)頂盒)、汽車(chē)電子(導(dǎo)航儀)、醫(yī)療電子、工業(yè)控制等行業(yè)。

嵌入式系統(tǒng)是二十一世紀(jì)科技領(lǐng)域的重大創(chuàng)新,必將推進(jìn)全球經(jīng)濟(jì)社會(huì)高速發(fā)展,實(shí)現(xiàn)人類(lèi)發(fā)展史上的重大突破。科學(xué)在發(fā)展,人類(lèi)在進(jìn)步,隨著一代又一代IT精英們的不斷努力,未來(lái)的嵌入式系統(tǒng)一定會(huì)是更加方便人們的工作、學(xué)習(xí)、生活的好伴侶。

據(jù)了解,嵌入式市場(chǎng)有非常大的機(jī)會(huì),預(yù)計(jì)到2012年將有30億臺(tái)嵌入式設(shè)備交貨。這樣一個(gè)“爆炸性”的增長(zhǎng)主要是由于終端用戶越來(lái)越基于連接性的用戶體驗(yàn)及應(yīng)用程序來(lái)購(gòu)買(mǎi)具有智能、連接性、服務(wù)導(dǎo)向的設(shè)備。

嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助裝置、機(jī)器和設(shè)備運(yùn)行的裝置(”devices used to control, monitor, or assist the operation of equipment, machinery or plants)。從中可以看出嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。目前國(guó)內(nèi)一個(gè)普遍被認(rèn)同的定義是:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)業(yè)計(jì)算機(jī)系統(tǒng)。

本文從嵌入式系統(tǒng)的 等方面來(lái)概要性地介紹嵌入式系統(tǒng)。

1.嵌入式系統(tǒng)的概念

1.1嵌入式系統(tǒng)的定義

根據(jù)IEEE(電氣和電子工程師協(xié)會(huì))的定義,嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助裝置、機(jī)器和設(shè)備運(yùn)行的裝置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。從中可以看出嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。目前國(guó)內(nèi)一個(gè)普遍被認(rèn)同的定義是:以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)業(yè)計(jì)算機(jī)系統(tǒng)。

1.2 嵌入式系統(tǒng)的特點(diǎn)

1.系統(tǒng)內(nèi)核小。由于嵌入式系統(tǒng)一般是應(yīng)用于小型電子裝置的,系統(tǒng)的資源相對(duì)有限,所以內(nèi)核較之傳統(tǒng)的操作系統(tǒng)要小得多。

2.專(zhuān)用性強(qiáng)。嵌入式系統(tǒng)的個(gè)性化很強(qiáng),其中的軟件系統(tǒng)和硬件的結(jié)合非常緊密,一般要針對(duì)硬件進(jìn)行系統(tǒng)的移植,即使在同一品牌、同一系列的產(chǎn)品中也需要根據(jù)系統(tǒng)硬件的變化和增減不斷進(jìn)行修改。同時(shí)針對(duì)不同的任務(wù),往往需要對(duì)系統(tǒng)進(jìn)行較大更改,程序的編譯下載要和系統(tǒng)相結(jié)合,這種修改和通用軟件的“升級(jí)”是完全兩個(gè)概念。

3.系統(tǒng)精簡(jiǎn)。嵌入式系統(tǒng)一般沒(méi)有系統(tǒng)軟件和應(yīng)用軟件的明顯區(qū)分,不要求其功能設(shè)計(jì)及實(shí)現(xiàn)上過(guò)于復(fù)雜,這樣一方面利于控制系統(tǒng)成本,同時(shí)也利于實(shí)現(xiàn)系統(tǒng)安全。

4.高實(shí)時(shí)性的系統(tǒng)軟件(OS)是嵌入式軟件的基本要求。而且軟件要求固態(tài)存儲(chǔ),以提高速度;軟件代碼要求高質(zhì)量和高可靠性。

5.嵌入式軟件開(kāi)發(fā)要想走向標(biāo)準(zhǔn)化,就必須使用多任務(wù)的操作系統(tǒng)。嵌入式系統(tǒng)的應(yīng)用程序可以沒(méi)有操作系統(tǒng)直接在芯片上運(yùn)行;但是為了合理地調(diào)度多任務(wù)、利用系統(tǒng)資源、系統(tǒng)函數(shù)以及和專(zhuān)家?guī)旌瘮?shù)接口,用戶必須自行選配RTOS(Real-Time Operating System)開(kāi)發(fā)平臺(tái),這樣才能保證程序執(zhí)行的實(shí)時(shí)性、可靠性,并減少開(kāi)發(fā)時(shí)間,保障軟件質(zhì)量。

6.嵌入式系統(tǒng)開(kāi)發(fā)需要開(kāi)發(fā)工具和環(huán)境。由于其本身不具備自舉開(kāi)發(fā)能力,即使設(shè)計(jì)完成以后用戶通常也是不能對(duì)其中的程序功能進(jìn)行修改的,必須有一套開(kāi)發(fā)工具和環(huán)境才能進(jìn)行開(kāi)發(fā),這些工具和環(huán)境一般是基于通用計(jì)算機(jī)上的軟硬件設(shè)備以及各種邏輯分析儀、混合信號(hào)示波器等。開(kāi)發(fā)時(shí)往往有主機(jī)和目標(biāo)機(jī)的概念,主機(jī)用于程序的開(kāi)發(fā),目標(biāo)機(jī)作為最后的執(zhí)行機(jī),開(kāi)發(fā)時(shí)需要交替結(jié)合進(jìn)行。

1.3幾個(gè)關(guān)鍵概念的解釋

1、嵌入式處理器

嵌入式系統(tǒng)的核心,是控制、輔助系統(tǒng)運(yùn)行的硬件單元。范圍極其廣闊,從最初的4位處理器,目前仍在大規(guī)模應(yīng)用的8位單片機(jī),到最新的受到廣泛青睞的32位,64位嵌入式CPU。

2、實(shí)時(shí)操作系統(tǒng)

實(shí)時(shí)操作系統(tǒng)(RTOS-Real Time Operating System):

嵌入式系統(tǒng)目前最主要的組成部分。根據(jù)操作系統(tǒng)的工作特性,實(shí)時(shí)是指物理進(jìn)程的真實(shí)時(shí)間。實(shí)時(shí)操作系統(tǒng)具有實(shí)時(shí)性,能從硬件方面支持實(shí)時(shí)控制系統(tǒng)工作的操作系統(tǒng)。其中實(shí)時(shí)性是第一要求,需要調(diào)度一切可利用的資源完成實(shí)時(shí)控制任務(wù),其次才著眼于提高計(jì)算機(jī)系統(tǒng)的使用效率,重要特點(diǎn)是要滿足對(duì)時(shí)間的限制和要求。

3、分時(shí)操作系統(tǒng)

對(duì)于分時(shí)操作系統(tǒng),軟件的執(zhí)行在時(shí)間上的要求,并不嚴(yán)格,時(shí)間上的錯(cuò)誤,一般不會(huì)造成災(zāi)難性的后果。目前分時(shí)系統(tǒng)的強(qiáng)項(xiàng)在于多任務(wù)的管理,而實(shí)時(shí)操作系統(tǒng)的重要特點(diǎn)是具有系統(tǒng)的可確定性,即系統(tǒng)能對(duì)運(yùn)行情況的最好和最壞等的情況能做出精確的估計(jì)。

4、多任務(wù)操作系統(tǒng)

系統(tǒng)支持多任務(wù)管理和任務(wù)間的同步和通信,傳統(tǒng)的單片機(jī)系統(tǒng)和DOS系統(tǒng)等對(duì)多任務(wù)支持的功能很弱,而目前的Windows是典型的多任務(wù)操作系統(tǒng)。在嵌入式應(yīng)用領(lǐng)域中,多任務(wù)是一個(gè)普遍的要求。

5、實(shí)時(shí)操作系統(tǒng)中的重要概念

系統(tǒng)響應(yīng)時(shí)間(System response time):系統(tǒng)發(fā)出處理要求到系統(tǒng)給出應(yīng)答信號(hào)的時(shí)間。

任務(wù)換道時(shí)間(Context-switching time):任務(wù)之間切換而使用的時(shí)間。

中斷延遲(Interrupt latency):機(jī)器接收到中斷信號(hào)到操作系統(tǒng)作出響應(yīng),并完成換道轉(zhuǎn)入中斷程序的時(shí)間。

6、實(shí)時(shí)操作系統(tǒng)的工作狀態(tài)

實(shí)時(shí)系統(tǒng)中的任務(wù)有四種狀態(tài):運(yùn)行(Executing),就緒(Ready),掛起(Suspended),冬眠(Dormant)。

運(yùn)行:獲得CPU控制權(quán)。

就緒:進(jìn)入任務(wù)等待隊(duì)列,通過(guò)調(diào)度轉(zhuǎn)為運(yùn)行狀態(tài)。

掛起:任務(wù)發(fā)生阻塞,移出任務(wù)等待隊(duì)列,等待系統(tǒng)實(shí)時(shí)事件的發(fā)生而喚醒,從而轉(zhuǎn)為就緒或運(yùn)行。

冬眠:任務(wù)完成或錯(cuò)誤等原因被清除的任務(wù),也可以認(rèn)為是系統(tǒng)中不存在的任務(wù)。

任何時(shí)刻系統(tǒng)中只能有一個(gè)任務(wù)在運(yùn)行狀態(tài),各任務(wù)按級(jí)別通過(guò)時(shí)間片分別獲得對(duì)CPU的訪問(wèn)權(quán)。

2.嵌入式系統(tǒng)的組成

有關(guān)嵌入式系統(tǒng)的組成非常多,限于篇幅,本文只介紹其中機(jī)電最關(guān)鍵概念。嵌入式系統(tǒng)的組成

1)嵌入式系統(tǒng)硬件層。一般包括有:嵌入式處理器、存儲(chǔ)器、I/O系統(tǒng)和外設(shè) 2)嵌入式系統(tǒng)的軟件系統(tǒng)。包括:操作系統(tǒng)、應(yīng)用軟件

嵌入式系統(tǒng)的開(kāi)發(fā)工具(1)硬件開(kāi)發(fā)工具包括:仿真器等;其它(示波器等)(2)軟件開(kāi)發(fā)工具包括:編譯、連接、定位軟件,通常使用C語(yǔ)言;調(diào)試軟件。

3)中間層。它將系統(tǒng)軟件與底層硬件部分隔離,使得系統(tǒng)的底層設(shè)備驅(qū)動(dòng)程序與硬件無(wú)關(guān)。4)應(yīng)用層

一個(gè)嵌入式系統(tǒng)裝置一般都由嵌入式計(jì)算機(jī)系統(tǒng)和執(zhí)行裝置組成,如圖1-1所示,嵌入式計(jì)算機(jī)系統(tǒng)是整個(gè)嵌入式系統(tǒng)的核心,由硬件層、中間層、系統(tǒng)軟件層和應(yīng)用軟件層組成。執(zhí)行裝置也稱(chēng)為被控對(duì)象,它可以接受嵌入式計(jì)算機(jī)系統(tǒng)發(fā)出的控制命令,執(zhí)行所規(guī)定的操作或任務(wù)。

2.1硬件層

硬件層中包含嵌入式微處理器、存儲(chǔ)器(SDRAM、ROM、Flash等)、通用設(shè)備接口和I/O接口(A/D、D/A、I/O等)。在一片嵌入式處理器基礎(chǔ)上添加電源電路、時(shí)鐘電路和存儲(chǔ)器電路,就構(gòu)成了一個(gè)嵌入式核心控制模塊。其中操作系統(tǒng)和應(yīng)用程序都可以固化在ROM中。

2.1.1、嵌入式微處理器

嵌入式系統(tǒng)硬件層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不同在于嵌入式微處理器大多工作在為特定用戶群所專(zhuān)用設(shè)計(jì)的系統(tǒng)中,它將通用CPU許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)在設(shè)計(jì)時(shí)趨于小型化,同時(shí)還具有很高的效率和可靠性。

嵌入式微處理器的體系結(jié)構(gòu)可以采用馮諾依曼體系或哈佛體系結(jié)構(gòu);指令系統(tǒng)可以選用精簡(jiǎn)指令系統(tǒng)(Reduced Instruction Set Computer,RISC)和復(fù)雜指令系統(tǒng)CISC(Complex Instruction Set Computer,CISC)。RISC計(jì)算機(jī)在通道中只包含最有用的指令,確保數(shù)據(jù)通道快速執(zhí)行每一條指令,從而提高了執(zhí)行效率并使CPU硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡(jiǎn)單。

嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時(shí)鐘頻率和數(shù)據(jù)總線狂度,或集成了不同的外設(shè)和接口。據(jù)不完全統(tǒng)計(jì),目前全世界嵌入式微處理器已經(jīng)超過(guò)1000多種,體系結(jié)構(gòu)有30多個(gè)系列,其中主流的體系有ARM、MIPS、PowerPC、X86和SH等。但與全球PC市場(chǎng)不同的是,沒(méi)有一種嵌入式微處理器可以主導(dǎo)市場(chǎng),僅以32位的產(chǎn)品而言,就有100種以上的嵌入式微處理器。嵌入式微處理器的選擇是根據(jù)具體的應(yīng)用而決定的。

2.1.2、存儲(chǔ)器

嵌入式系統(tǒng)需要存儲(chǔ)器來(lái)存放和執(zhí)行代碼。嵌入式系統(tǒng)的存儲(chǔ)器包含Cache、主存和輔助存儲(chǔ)器。

1.Cache

Cache是一種容量小、速度快的存儲(chǔ)器陣列它位于主存和嵌入式微處理器內(nèi)核之間,存放的是最近一段時(shí)間微處理器使用最多的程序代碼和數(shù)據(jù)。

在嵌入式系統(tǒng)中Cache全部集成在嵌入式微處理器內(nèi),可分為數(shù)據(jù)Cache、指令Cache或混合Cache,Cache的大小依不同處理器而定。一般中高檔的嵌入式微處理器才會(huì)把Cache集成進(jìn)去。

2.主存

主存是嵌入式微處理器能直接訪問(wèn)的寄存器,用來(lái)存放系統(tǒng)和用戶的程序及數(shù)據(jù)。它可以位于微處理器的內(nèi)部或外部,其容量為256KB~1GB,根據(jù)具體的應(yīng)用而定,一般片內(nèi)存儲(chǔ)器容量小,速度快,片外存儲(chǔ)器容量大。

常用作主存的存儲(chǔ)器有:

ROM類(lèi) NOR Flash、EPROM和PROM等。

RAM類(lèi) SRAM、DRAM和SDRAM等。

其中NOR Flash 憑借其可擦寫(xiě)次數(shù)多、存儲(chǔ)速度快、存儲(chǔ)容量大、價(jià)格便宜等優(yōu)點(diǎn),在嵌入式領(lǐng)域內(nèi)得到了廣泛應(yīng)用。

3.輔助存儲(chǔ)器

輔助存儲(chǔ)器用來(lái)存放大數(shù)據(jù)量的程序代碼或信息,它的容量大、但讀取速度與主存相比就慢的很多,用來(lái)長(zhǎng)期保存用戶的信息。

2.1.3、通用設(shè)備接口和I/O接口

嵌入式系統(tǒng)和外界交互需要一定形式的通用設(shè)備接口,如A/D、D/A、I/O等,外設(shè)通過(guò)和片外其他設(shè)備的或傳感器的連接來(lái)實(shí)現(xiàn)微處理器的輸入/輸出功能。

2.2軟件系統(tǒng)

系統(tǒng)軟件層由實(shí)施多任務(wù)操作系統(tǒng)(Real-time Operation System,RTOS)、文件系統(tǒng)、圖形用戶接口(Graphic User Interface,GUI)、網(wǎng)絡(luò)系統(tǒng)及通用組件模塊組成。RTOS是嵌入式應(yīng)用軟件的基礎(chǔ)和開(kāi)發(fā)平臺(tái)。

嵌入式實(shí)時(shí)操作系統(tǒng):

實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)是嵌入式應(yīng)用軟件的基礎(chǔ)和開(kāi)發(fā)平臺(tái)。RTOS是一段嵌入在目標(biāo)代碼中的程序,系統(tǒng)復(fù)位后首先執(zhí)行,相當(dāng)于用戶的主程序,其他程序都建立在RTOS之上。

2.3中間層

硬件層與軟件層之間為中間層,也稱(chēng)為硬件抽象層(Hardware Abstract Layer,HAL)或板級(jí)支持包(Board Support Package,BSP),它將系統(tǒng)上層軟件與底層硬件分離開(kāi)來(lái),使系統(tǒng)的底層驅(qū)動(dòng)程序與硬件無(wú)關(guān),上層軟件開(kāi)發(fā)人員無(wú)需關(guān)心底層硬件的具體情況,根據(jù)BSP 層提供的接口即可進(jìn)行開(kāi)發(fā)。該層一般包含相關(guān)底層硬件的初始化、數(shù)據(jù)的輸入/輸出操作和硬件設(shè)備的配置功能。

BSP具有以下兩個(gè)特點(diǎn):

硬件相關(guān)性:因?yàn)榍度胧綄?shí)時(shí)系統(tǒng)的硬件環(huán)境具有應(yīng)用相關(guān)性,而作為上層軟 件與硬件平臺(tái)之間的接口,BSP需要為操作系統(tǒng)提供操作和控制具體硬件的方法。

操作系統(tǒng)相關(guān)性:不同的操作系統(tǒng)具有各自的軟件層次結(jié)構(gòu),因此,不同的操作系統(tǒng)具有特定的硬件接口形式。

3.嵌入式系統(tǒng)的開(kāi)發(fā)

3.1嵌入式兩種開(kāi)發(fā)

硬件,主要使用語(yǔ)言是C語(yǔ)言和匯編,例如做dsp開(kāi)發(fā),做驅(qū)動(dòng)開(kāi)發(fā),這類(lèi)的開(kāi)發(fā)對(duì)硬件要求比較高,短期內(nèi)比較難掌握,除非是專(zhuān)業(yè)人士,另外,這類(lèi)開(kāi)發(fā)的就業(yè)機(jī)會(huì)比較少,因?yàn)閲?guó)內(nèi)的硬件設(shè)計(jì)力量很弱,稍復(fù)雜的硬件都交給國(guó)外公司設(shè)計(jì),所以大學(xué)生找這樣的工作很難,這也是為什么很多這類(lèi)的畢業(yè)生都轉(zhuǎn)行去做應(yīng)用層的軟件開(kāi)發(fā)或者做網(wǎng)絡(luò)維護(hù)之類(lèi)的工作了。

軟件,主要基于嵌入式操作系統(tǒng),例如Symbian、Linux、Windows mobile、Android等等,開(kāi)發(fā)人員主要從事嵌入式操作系統(tǒng)和應(yīng)用軟件的開(kāi)發(fā)。特點(diǎn)是:比較容易上手學(xué)習(xí),就業(yè)機(jī)會(huì)多,因?yàn)榍度胧皆O(shè)備的增值很大程度上取決于嵌入式軟件,這占了嵌入式系統(tǒng)的最主要工作。越是智能設(shè)備越是復(fù)雜系統(tǒng),軟件越起關(guān)鍵作用,而且這是目前的趨勢(shì),所以需要大量的研發(fā)人員,而且就業(yè)前景也非常的看好。

3.2嵌入式系統(tǒng)開(kāi)發(fā)生命周期

硬件與軟件將同時(shí)進(jìn)行開(kāi)發(fā)。理解硬件與軟件功能相互之間的關(guān)系及界限有助于確保設(shè)計(jì)要求得到完整正確的理解和實(shí)現(xiàn)。

早在設(shè)計(jì)要求的定義與分析階段,就必須分配系統(tǒng)仿真、原型設(shè)計(jì)和行為建模結(jié)果、一旦分配結(jié)束,就可以立即著手具體的設(shè)計(jì)和實(shí)現(xiàn)。實(shí)時(shí)系統(tǒng)開(kāi)發(fā)中軟硬件的并行設(shè)計(jì)會(huì)使用到各種分析技術(shù),包括:

1.硬件與軟件仿真;

2.硬件/軟件協(xié)同仿真;

3.可調(diào)度的建模技術(shù),如速率恒定分析;

4.原型設(shè)計(jì)和漸進(jìn)式開(kāi)發(fā)。

低層仿真可以用來(lái)為總線寬度和數(shù)據(jù)流程建模,這對(duì)性能評(píng)估是非常有用的。高層仿真可以滿足功能的交互,并促成硬件/軟件權(quán)衡研究及有效性設(shè)計(jì)。

4.嵌入式系統(tǒng)的現(xiàn)狀與發(fā)展

發(fā)展現(xiàn)狀:

隨著信息化,智能化,網(wǎng)絡(luò)化的發(fā)展,嵌入式系統(tǒng)技術(shù)也將獲得廣闊的發(fā)展空間。

硬件方面,不僅有各大公司的微處理器芯片,還有用于學(xué)習(xí)和研發(fā)的各種配套開(kāi)發(fā)包。目前低層系統(tǒng)和硬件平臺(tái)經(jīng)過(guò)若干年的研究,已經(jīng)相對(duì)比較成熟,實(shí)現(xiàn)各種功能的芯片應(yīng)有盡有。而且巨大的市場(chǎng)需求給我們提供了學(xué)習(xí)研發(fā)的資金和技術(shù)力量。

從軟件方面講,也有相當(dāng)部分的成熟軟件系統(tǒng)。國(guó)外商品化的嵌入式實(shí)時(shí)操作系統(tǒng),已進(jìn)入我國(guó)市場(chǎng)的有WindRiver、Microsoft、QNX和Nuclear等產(chǎn)品。

發(fā)展趨勢(shì):

信息時(shí)代,數(shù)字時(shí)代使得嵌入式產(chǎn)品獲得了巨大的發(fā)展契機(jī),為嵌入式市場(chǎng)展現(xiàn)了美好的前景,同時(shí)也對(duì)嵌入式生產(chǎn)廠商提出了新的挑戰(zhàn),從中我們可以看出未來(lái)嵌入式系統(tǒng)的幾大發(fā)展趨勢(shì):。

1.嵌入式開(kāi)發(fā)是一項(xiàng)系統(tǒng)工程,因此要求嵌入式系統(tǒng)廠商不僅要提供嵌入式軟硬件系統(tǒng)本身,同時(shí)還需要提供強(qiáng)大的硬件開(kāi)發(fā)工具和數(shù)據(jù)庫(kù)支持。

目前很多廠商已經(jīng)充分考慮到這一點(diǎn),在主推系統(tǒng)的同時(shí),將開(kāi)發(fā)環(huán)境也作為重點(diǎn)推廣。2.網(wǎng)絡(luò)互聯(lián)成為必然趨勢(shì)。

未來(lái)的嵌入式設(shè)備為了適應(yīng)網(wǎng)絡(luò)發(fā)展的要求,必然要求硬件上提供各種通信接口。傳統(tǒng)的單片機(jī)對(duì)于網(wǎng)絡(luò)支持不足,而新一代的嵌入式處理器已經(jīng)開(kāi)始內(nèi)嵌網(wǎng)絡(luò)接口,支持更多協(xié)議。

3.精簡(jiǎn)系統(tǒng)內(nèi)核、算法,降低功耗和軟硬件成本。

未來(lái)的嵌入式產(chǎn)品是軟硬件緊密結(jié)合的設(shè)備,為了減低功耗和成本,需要設(shè)計(jì)者盡量精簡(jiǎn)系統(tǒng)內(nèi)核,只保留和系統(tǒng)功能緊密相關(guān)的軟硬件。

下載嵌入式主控軟件設(shè)計(jì)心得[精選]word格式文檔
下載嵌入式主控軟件設(shè)計(jì)心得[精選].doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    學(xué)習(xí)嵌入式心得

    嵌入式心得體會(huì) 本人大學(xué)學(xué)的是電子信息科學(xué)與技術(shù)專(zhuān)業(yè),其實(shí)這個(gè)專(zhuān)業(yè)和嵌入式?jīng)]有多大的關(guān)系,要說(shuō)有關(guān)系就是簡(jiǎn)單的講了下C語(yǔ)言語(yǔ)法,學(xué)完之后還不知道什么是C語(yǔ)言,只記住了,char,......

    軟件設(shè)計(jì)中嵌入式實(shí)時(shí)軟件的實(shí)踐論文[全文5篇]

    摘要:隨著科學(xué)技術(shù)的不斷發(fā)展,計(jì)算機(jī)行業(yè)受其影響有很大程度的進(jìn)步與發(fā)展,這使得計(jì)算機(jī)應(yīng)用水平不斷提高,尤其是嵌入式技術(shù)的推出。因?yàn)樵谟?jì)算機(jī)軟件設(shè)計(jì)中,科學(xué)、合理地應(yīng)用嵌入......

    學(xué)習(xí)嵌入式系統(tǒng)心得

    學(xué)習(xí)嵌入式系統(tǒng)心得 說(shuō)實(shí)在話在沒(méi)有學(xué)習(xí)之前,以及在學(xué)之前通過(guò)一些口中得知這是一門(mén)很不錯(cuò),很有意思的一門(mén)課。而且目前是十分吃香的一門(mén)課程,如果學(xué)好了工作很好找并且待遇也......

    學(xué)習(xí)嵌入式的心得

    嵌入式學(xué)習(xí)[轉(zhuǎn)貼]怎樣做才能快速的嵌入式了? 其實(shí),做工程是沒(méi)有捷徑可走的先說(shuō)做硬件:把你的數(shù)字電路教材和模擬電路的教材讀熟,暫時(shí)先把重點(diǎn)放在數(shù)字電路上面,接著把微機(jī)原理和......

    學(xué)習(xí)嵌入式系統(tǒng)開(kāi)發(fā)心得

    你好,我是一名嵌入式開(kāi)發(fā)愛(ài)好者.近來(lái)總是看到很多初學(xué)者(多數(shù)是在校大學(xué)生)由于沒(méi)有條件,想學(xué)習(xí)卻不知道如何下手。本人絕對(duì)能體會(huì)到學(xué)習(xí)的艱辛,而且視任何對(duì)知識(shí)技術(shù)有強(qiáng)烈追求......

    嵌入式系統(tǒng)移植+心得

    嵌入式系統(tǒng)作為近年來(lái)新興的且發(fā)展很快的學(xué)科,它的應(yīng)用越來(lái)越受到廣大技術(shù)人員的重視。尤其起可移植性,顯著的區(qū)別了通用操作系統(tǒng)。一款嵌入式操作系統(tǒng)通常運(yùn)行在不同體系結(jié)構(gòu)......

    軟件設(shè)計(jì)報(bào)告[合集]

    軟件設(shè)計(jì)報(bào)告 姓名: 方軼琦學(xué)號(hào):10005808 2013年6月18日~2013年6月28日 目 錄 第一章 軟件設(shè)計(jì)介紹 ......................................................... 1 第三章 軟......

    軟件設(shè)計(jì)辭職報(bào)告

    軟件程序員是一個(gè)工作壓力非常大的職業(yè),下面就是小編為您收集整理的軟件設(shè)計(jì)辭職報(bào)告的相關(guān)文章,希望可以幫到您,如果你覺(jué)得不錯(cuò)的話可以分享給更多小伙伴哦!軟件設(shè)計(jì)辭職報(bào)告一......

主站蜘蛛池模板: 国产精品美女久久久m| 2020年最新国产精品正在播放| 精品久久久久久777米琪桃花| 国产成人无码精品一区在线观看| 伊人天堂av无码av日韩av| 国产精品h片在线播放| 麻豆一区二区三区蜜桃免费| 国产两女互慰高潮视频在线观看| 免费无码成人av在线播放不卡| 亚洲老妇色熟女老太| 国产精品高潮呻吟av久久无吗| 思思99热久久精品在线6| 狼友av永久网站免费观看| 国产真人无码作爱免费视频app| 无码精品人妻 中文字幕| 亚洲成色综合网站在线| 国产精品手机免费| 精品国产国语对白久久免费| 蜜桃精品成人影片| 日本va欧美va欧美va精品| 日韩精品久久久肉伦网站| 中文字幕无线码| 中国超帅年轻小鲜肉自慰| 国产精品va无码免费麻豆| 色妞www精品视频二| 国产高清在线精品一区免费| 在线天堂最新版资源| 国产99视频精品免费观看9| 国产h视频在线观看| 欧美丰满熟妇bbb久久久| 亚洲一卡2卡三卡4卡无卡下载| 中文有码无码人妻在线| 精品av无码国产一区二区| 西西人体大胆www44he七| 99热在线精品免费全部| 东北妇女xx做爰视频| 国产精品手机免费| 亚洲性色av私人影院无码| 亚洲日韩精品无码专区网址| 99久久免费看少妇高潮a片| 久热这里只有精品12|