前言:小編為你整理了5篇嵌入式系統(tǒng)參考范文,供你參考和借鑒。希望能幫助你在寫作上獲得靈感,讓你的文章更加豐富有深度。
摘要:隨著計算機技術(shù)的發(fā)展,嵌入式系統(tǒng)被廣泛應(yīng)用到社會生產(chǎn)中。嵌入式計算機系統(tǒng)與普通的個人計算機系統(tǒng)存在很大區(qū)別,它具有節(jié)約成本、可靠性高等優(yōu)勢,主要被用于工廠生產(chǎn)設(shè)備、大型器件等的控制與監(jiān)視。而隨著人類社會對生產(chǎn)的要求越來越高,因此,需要開發(fā)一個更加高效的嵌入式系統(tǒng)?;诖?,通過運用UML語言,對嵌入式系統(tǒng)進行設(shè)計,以尋求更高效的,符合社會生產(chǎn)需求的計算機嵌入式系統(tǒng)。
關(guān)鍵詞:計算機技術(shù);嵌入式系統(tǒng);UML語言
UML語言又被稱為標(biāo)準(zhǔn)建模語言,主要是被用來進行軟件開發(fā)與支持模型化的計算機圖形化的語言。在軟件開發(fā)過程中,可以通過標(biāo)準(zhǔn)建模語言提供的可視化與模型化支撐進行軟件規(guī)格、配置及構(gòu)造的最優(yōu)化。與此同時,它還是一種易于表達(dá)、功能強大、定義良好的建模語言,基于這些優(yōu)勢,將UML語言應(yīng)用到嵌入式系統(tǒng)的開發(fā)設(shè)計中,能實現(xiàn)目前用戶對該系統(tǒng)的功能、體積、功耗及可靠性的要求。
1嵌入式系統(tǒng)應(yīng)用背景的產(chǎn)生
嵌入式系統(tǒng)是基于計算機技術(shù),融合了電子技術(shù)、半導(dǎo)體技術(shù),并對應(yīng)用領(lǐng)域?qū)嶋H需求產(chǎn)生的一種具有功能強大、可塑性強及應(yīng)用廣泛的知識集成系統(tǒng)。由于該系統(tǒng)自身的優(yōu)勢,因此,被廣泛應(yīng)用于技術(shù)、資金密集的工業(yè)生產(chǎn)中。目前,市場中的電子產(chǎn)品、汽車、數(shù)碼等都應(yīng)用了嵌入式系統(tǒng)進行生產(chǎn)。嵌入式系統(tǒng)最早形成時還形不成“系統(tǒng)”概念,因為最初的嵌入式系統(tǒng)主要是依靠單片機運行的,只能執(zhí)行單線程的工作程序[1]。隨著計算機技術(shù)及商業(yè)社會的發(fā)展需求,嵌入系統(tǒng)初步形成,可以運用計算機嵌入式系統(tǒng)進行應(yīng)用軟件的編輯,執(zhí)行任務(wù)管理和內(nèi)存管理等功能。發(fā)展到至今,嵌入式系統(tǒng)已經(jīng)可以實現(xiàn)實時的多任務(wù)操作,成為目前應(yīng)用軟件開發(fā)的主流,發(fā)展與應(yīng)用前景廣闊。
2UML語言及其框圖的應(yīng)用模式分析
UML語言是一種應(yīng)用于計算機系統(tǒng)編程的可視化建模語言,在具體應(yīng)用操作中可以實現(xiàn)滿足用戶對系統(tǒng)需求的刻畫、分析、設(shè)計集成以及實現(xiàn)和測試,實現(xiàn)系統(tǒng)功能的構(gòu)建更加合理[2]。UML建模語言可以將建立的模型數(shù)據(jù)信息運用標(biāo)準(zhǔn)的圖形元素直觀地展示在用戶、測試人員、管理人員以及開發(fā)人員或是其他項目相關(guān)人員面前,使他們可以對系統(tǒng)的功能、結(jié)構(gòu)設(shè)計進行更好的交流,實現(xiàn)對系統(tǒng)的良好構(gòu)建。目前,市場上最為常用的建模語言主要有Booch、OMT及UML三種語言,相較于其他兩種建模語言來講,UML語言更加簡化,操作簡單、適用范圍廣泛,因此,被許多企業(yè)采用。UML語言不僅可以對靜態(tài)的結(jié)構(gòu)進行建模,還可以對具有動態(tài)行為的系統(tǒng)進行建模,因此,適用于系統(tǒng)的全部開發(fā)階段。UML語言是一種可視化的建模語言,因此,該語言中的所有語素都是由一個個的框圖組成的。系統(tǒng)設(shè)計人員應(yīng)用在UML語言時,就是通過對框圖的描述來實現(xiàn)對整個系統(tǒng)的設(shè)計。UML語言的框圖有很多種,現(xiàn)針對幾種主要框圖進行分析。BusinessUseCase框圖與UseCase:這兩種框圖所對應(yīng)的語素不同,BUC框圖所代表的語素主要是對整個系統(tǒng)的機構(gòu)功能進行描述;而UC框圖則主要是根據(jù)用戶對系統(tǒng)的需求,進行系統(tǒng)功能描述。因此,經(jīng)常被用來與客戶之間進行交流,提取有效建構(gòu)信息。Class框圖:此種框圖是一種靜態(tài)圖,代表語素主要被用來對系統(tǒng)中的類進行描述。通過對該框圖的觀察,可以清楚地了解系統(tǒng)中類的內(nèi)容、功能以及結(jié)構(gòu)關(guān)系。StateChart框圖:該框圖主要被用來對建模對象的狀態(tài)及各個建模對象之間的轉(zhuǎn)換關(guān)系進行描述,主要用來提供建模系統(tǒng)的動態(tài)功能[3]。此種框圖在實際應(yīng)用中被廣泛運用到系統(tǒng)的實際建立中,可以生成系統(tǒng)構(gòu)建所需的全部代碼。Collaboration框圖與Sequence框圖:這兩種框圖都是對系統(tǒng)對象之間的相互關(guān)系進行描述的框圖。但Sequence框圖在進行描述時主要以時間順序進行,而Collaboration框圖則是針對系統(tǒng)角色與顯示對象之間的交互進行著重描述。通過Collaboration框圖,可以讓系統(tǒng)建筑師與質(zhì)量保證工程師及時了解分析對象的分布情況,若出現(xiàn)不合理狀況,系統(tǒng)建筑師便可及時進行調(diào)整或重新分配。UML語言中包含的這些框圖,在進行系統(tǒng)設(shè)計、建模以及分析的過程中,會提供多種不同的圖片表達(dá)形式,因此,可以用在系統(tǒng)開發(fā)的不同階段。將UML語言中的這些框圖應(yīng)用在嵌入式系統(tǒng)開發(fā)中,通過它們之間的有機結(jié)合可以構(gòu)建出一個功能完整、一致的高效系統(tǒng)。
摘要:傳統(tǒng)編程過程中,不僅需要消耗大量時間,同時還會出現(xiàn)軟件資源空間占用率高等問題,為了切實解決這些問題,本研究指出了一種基于嵌入式系統(tǒng)的C語言編程軟件設(shè)計架構(gòu)方法,具體闡述了模塊劃分原則以及重點注意事項,并從分層方向與分層架構(gòu)設(shè)計方法兩個方面分析了分層架構(gòu),依托于中斷服務(wù)程序,完成系統(tǒng)軟件開發(fā)與設(shè)計。
關(guān)鍵詞:嵌入式系統(tǒng);C語言;編程軟件
0引言
C語言在嵌入式軟件開發(fā)中有著非常廣泛的應(yīng)用,這是因為C語言能夠很好的匹配高級與低級語言,同時簡潔高效、靈活便捷,可以實現(xiàn)對硬件的直接操作,然而由于C語言具有較強的靈活性,也導(dǎo)致了代碼管理與維護問題較為繁瑣復(fù)雜[1]。和傳統(tǒng)形式的軟件編程相比較,嵌入式系統(tǒng)編程是以某個相應(yīng)的硬件平臺為載體的,服務(wù)的是一種專用的計算機系統(tǒng),不單單有對硬件操作的復(fù)雜性,同時還表現(xiàn)出應(yīng)用層次的通用性。所以,在實際開展軟件開發(fā)時,選取適宜的軟件框架以及優(yōu)異的設(shè)計方法,加強對項目的工程化管理,可以有效地指導(dǎo)軟件開發(fā)的層次劃分以及功能模塊規(guī)劃設(shè)計。一方面可以很好的提升高級軟件系統(tǒng)開發(fā)速度與質(zhì)量,提高后期執(zhí)行與維護的便捷性,另一方面也可以有效地提升程序代碼的重用性、延伸性以及穩(wěn)定性。為了進一步提高嵌入式系統(tǒng)視域下C語言編程軟件設(shè)計效率與品質(zhì),本文建立在現(xiàn)階段已有的主流軟件工程思想之上,將面向?qū)ο笤O(shè)計技術(shù)、分層技術(shù)等與C語言嵌入式編程結(jié)合起來,深入探討基于嵌入式系統(tǒng)的C語言編程軟件設(shè)計方法、分層架構(gòu)等,為不斷提高編程質(zhì)量與效率提供幫助。
1模塊劃分
模塊劃分主要表示為將某個龐大的、復(fù)雜程度較高的程序依照需要實現(xiàn)的不同功能,將其分割成若干個小段,并確保每一個小段都能夠完成一個相應(yīng)的功能[2]。軟件需要最大程度降低和外部模塊的接觸,進一步改善程序的可移植性能,同時明確其能夠達(dá)到的既定功能。通常來說,嵌入式系統(tǒng)涵蓋了兩個方面的模塊,分別是硬件驅(qū)動模塊以及軟件功能模塊[3]。其中一個硬件驅(qū)動模塊往往只與某個特定的硬件相匹配,而在進行軟件功能模塊劃分過程中,應(yīng)當(dāng)要最大程度符合低耦合、高內(nèi)聚的基礎(chǔ)需求[4]。在進行模塊設(shè)計與開發(fā)以達(dá)到不同功能時,需要嚴(yán)格遵守兩個關(guān)鍵性原則。(1)模塊的獨立性原則,每一個模塊均是獨立存在的,避免不同功能模塊之間出現(xiàn)信息交互的現(xiàn)象,既不會產(chǎn)生相互之間的影響,同時也不會產(chǎn)生相互之間的依存,任何一個模塊中的函數(shù)指令均不會與其他模塊變量建立聯(lián)系,不同功能模塊之間的連接是建立在函數(shù)接口基礎(chǔ)之上的。(2)正交性原則,所有的功能模塊都是唯一且確定的,而這中間的變量和其要達(dá)成的功能是相同的。在實際進行模塊劃分過程中,應(yīng)當(dāng)要特別重視以下四點注意事項:(1)當(dāng)一個功能模塊在為其他關(guān)聯(lián)功能模塊提供相關(guān)數(shù)據(jù)以及外部函數(shù)時,應(yīng)當(dāng)要在頭文件(.h)中特別注明extern字樣進行聲明。(2)某一個功能模塊內(nèi)包含的全局變量以及函數(shù)信息,應(yīng)當(dāng)要在頭文件(.c)中特別注明static字樣來聲明。(3)當(dāng)出現(xiàn)某一個功能模塊同時涵蓋有.h文件以及.c文件時,需要在該功能模塊的接口文件中基于(.h)進行聲明。(4)需要特別注意的是,(.h)頭文件中不可以對任何定量進行定義,這是由于定義變量屬于匯編方面的內(nèi)容,會根據(jù)實際要求匹配相應(yīng)的內(nèi)存[5]。
2分層架構(gòu)
摘要:單片機作為集成電路芯片在工業(yè)生產(chǎn)和電子設(shè)備中被廣泛應(yīng)用,且在嵌入式系統(tǒng)中發(fā)揮著重要的功能。筆者概述了單片機與嵌入式系統(tǒng),探討了單片機在嵌入式系統(tǒng)中的設(shè)計應(yīng)用,指出單片機可以發(fā)揮電機控制、網(wǎng)絡(luò)測試等功能,是嵌入式系統(tǒng)中的重要組成部分。應(yīng)用結(jié)果表明:單片機在嵌入式系統(tǒng)之中具有明顯的應(yīng)用優(yōu)勢,相關(guān)人員需要進一步加強技術(shù)研究,提高單片機的集成能力,推廣其在不同領(lǐng)域中的實踐應(yīng)用。
關(guān)鍵詞:單片機;嵌入式系統(tǒng);電機控制;網(wǎng)絡(luò)測試
隨著嵌入式系統(tǒng)數(shù)量及需求的不斷增加,其所生產(chǎn)的電子產(chǎn)品越來越受大眾的歡迎。此外,單片機在嵌入式系統(tǒng)中同樣發(fā)揮著不可替代的作用,其具備強大的集成功能,可以將其視為小型的微型計算機系統(tǒng)。自20世紀(jì)80年代開始,單片機集成技術(shù)越來越完善,其在嵌入式系統(tǒng)中的應(yīng)用也日益廣泛,起到測試、控制等強大功能。
1單片機與嵌入式系統(tǒng)概述
1.1單片機
單片機是具備邏輯功能的集成芯片,又被稱之為單片微控制器,其具備計算機的相應(yīng)功能,相比較計算機而言,其僅僅缺少I/O設(shè)備。單片機產(chǎn)生于20世紀(jì)80年代初,20世紀(jì)90年代逐漸普及,其生產(chǎn)和集成技術(shù)應(yīng)用也日益廣泛,集成能力更強。單片機在系統(tǒng)之中應(yīng)用依靠其擴展功能,可以靈活地應(yīng)用在多個領(lǐng)域之中。芯片技術(shù)的完善為其功能應(yīng)用奠定了良好的基礎(chǔ),其存在SOC層和SPI接口,通過接口可以與其他系統(tǒng)連接在一起,是一種具備可擴展性的嵌入式系統(tǒng)[1]。
1.2嵌入式系統(tǒng)
摘要:嵌入式系統(tǒng)分析的時候,最重要和最關(guān)鍵的就是功耗問題,想要保證有效降低功耗,應(yīng)該從系統(tǒng)角度來分析嵌入式系統(tǒng)問題,低功耗嵌入式系統(tǒng)不但需要硬件設(shè)備的保證,也需要系統(tǒng)軟件技術(shù)的支持,合理優(yōu)化配合系統(tǒng)軟件和硬件技術(shù),才能達(dá)到真正降低嵌入式系統(tǒng)功耗的目的,本文主要分析了嵌入式系統(tǒng)低功耗軟件技術(shù)。
關(guān)鍵詞:嵌入式系統(tǒng);低功耗;軟件技術(shù)
一、嵌入式系統(tǒng)功耗問題概述
目前,不斷發(fā)展計算機技術(shù),開始廣泛應(yīng)用嵌入式系統(tǒng),越來越高要求系統(tǒng)功耗問題。在嵌入式系統(tǒng)中應(yīng)用電池供電的便攜設(shè)備,因為是有限的電池存儲量,不能持續(xù)為設(shè)備提供電量。一般來說,為了能夠具備比較高性能,需要合理安置高性能CPU,依據(jù)實際運行規(guī)范,適當(dāng)提高外圍設(shè)備數(shù)量,會降低系統(tǒng)功耗,衡量嵌入式系統(tǒng)性能的關(guān)鍵就是低耗能,為了能夠具備最平衡的高耗能和高性能需求,在符合系統(tǒng)實際運行性能要求基礎(chǔ)上,盡可能降低系統(tǒng)耗能,從而確??梢蚤L期運行系統(tǒng),從軟件和硬件兩方面分析系統(tǒng)節(jié)能問題[1]。
二、嵌入式系統(tǒng)低功耗軟件技術(shù)設(shè)計
(一)應(yīng)用軟件編寫的節(jié)能設(shè)計。
第一,中斷替代系統(tǒng)中查詢。系統(tǒng)簡單應(yīng)用中,不管應(yīng)用哪種程序方式都不會出現(xiàn)很大差異,差別大的就是消耗功率。中斷方式處理系統(tǒng)中,中央處理器可以不做任何事,或者能夠直接進入到等待或停止模式;如果是查詢形式,需要中央處理器不斷訪問I/O寄存器,出現(xiàn)額外功率。第二,代替子程序。設(shè)計人員都知道,相比較讀RAM來說,讀Flash消耗功耗比較小,因此,在設(shè)計CPU的時候,RAM會展現(xiàn)低功耗性能,但是僅僅只能一次調(diào)用子程序,子程序進入到CPU以后,會暫時存儲中央處理器寄存器,離開系統(tǒng)的時候,CPU會彈出寄存器,此時至少需多次操作RAM,因此,設(shè)計人員在設(shè)計程序系統(tǒng)的時候,利用宏來代替子程序來。設(shè)計中是在子程序、還是宏上調(diào)用系統(tǒng)沒有很大區(qū)別,但是編譯的時候會依據(jù)中央處理器進行實施,避免調(diào)用子程序,但是最重要的就是增加代碼數(shù)量,上述方式可以適當(dāng)降低系統(tǒng)功耗[2]。
摘要:為構(gòu)建一個強實時性和高可靠性的嵌入式系統(tǒng),提出了一種嵌入式系統(tǒng)的雙機熱備方法。該方法首先采用“先啟為主”的主備機身份識別機制確認(rèn)主備機身份;然后為主備機之間的心跳通信配備了2條心跳線,并且在處于正常工作運行狀態(tài)的主機上創(chuàng)建一個互斥信號量,以此確定當(dāng)前只有一臺機器處于工作狀態(tài),避免了雙主機現(xiàn)象的出現(xiàn);建立主備機同步通信機制,確保主備機的狀態(tài)和相互之間接收數(shù)據(jù)的實時通信;通過對主備機工作狀態(tài)的實時監(jiān)測,及時診斷系統(tǒng)故障,并采用主備機自動切換算法實現(xiàn)雙機熱備功能。
關(guān)鍵詞:嵌入式軟件;軟件測試;雙機熱備;實時系統(tǒng)
目前,嵌入式系統(tǒng)的健壯性和穩(wěn)定性是用戶和系統(tǒng)設(shè)計人員都十分關(guān)注的問題。如果在嵌入式系統(tǒng)運行過程中,因為系統(tǒng)硬件或者軟件故障導(dǎo)致整個系統(tǒng)無法繼續(xù)正常工作,則可能會帶來不可預(yù)知的影響和損失。因此,為了維護嵌入式系統(tǒng)的高可用性和高可靠性,必須采取適當(dāng)?shù)拇胧﹣肀WC嵌入式系統(tǒng)不間斷的穩(wěn)定運行,雙機容錯技術(shù)就是在這樣的背景下產(chǎn)生并在嵌入式系統(tǒng)中得到了廣泛應(yīng)用[1]。當(dāng)前嵌入式系統(tǒng)中最常見的雙機容錯技術(shù)有無磁盤型、共享磁盤型、磁盤鏡像型、共享和鏡像共存型等,這些方法大多應(yīng)用在專用的容錯系統(tǒng)中,應(yīng)用在通用的容錯系統(tǒng)中的較少[2]。上述這些方法大都是在應(yīng)用層實現(xiàn)容錯的功能,因此不可避免地會帶來以下問題:①增加設(shè)計人員的工作量,設(shè)計人員在實現(xiàn)具體業(yè)務(wù)的同時必須考慮容錯功能的實現(xiàn);②數(shù)據(jù)容錯的可靠性難以保證,設(shè)計人員只要有考慮不周的地方,就可能導(dǎo)致容錯系統(tǒng)無法正確備份,導(dǎo)致備份失效;③系統(tǒng)可擴展性較差,一旦在系統(tǒng)中增加新的功能,設(shè)計人員必須重新考慮備份功能的實現(xiàn),系統(tǒng)的可測試性和可維護性差。為了能夠有效地保證嵌入式系統(tǒng)穩(wěn)定、可靠、有效和持續(xù)運行,本文提出了一種嵌入式系統(tǒng)的雙機熱備方法。該方法能夠保證設(shè)備在無人監(jiān)管的情況下不間斷正常運行,具有技術(shù)成熟、運行成本低和任務(wù)可靠性較高等優(yōu)點。
1雙機熱備系統(tǒng)概述
雙機熱備技術(shù)一般是在服務(wù)器系統(tǒng)出現(xiàn)臨時故障時采取的一種熱備份技術(shù),通過對服務(wù)器系統(tǒng)的熱備份,可以避免服務(wù)器系統(tǒng)發(fā)生故障時產(chǎn)生的長時間服務(wù)中斷,確保服務(wù)器系統(tǒng)能夠長時間可靠運行。雙機熱備概念分為廣義和狹義2種。從廣義上講,就是將2臺服務(wù)器中的重要服務(wù)進行相互備份,并且2臺服務(wù)器共同執(zhí)行同一服務(wù)。當(dāng)任意1臺服務(wù)器運行時出現(xiàn)故障,另外1臺服務(wù)器在最短的時間內(nèi)接管該故障服務(wù)器的一切服務(wù),該接管工作不需要人工進行干預(yù),保證整個服務(wù)器系統(tǒng)正常不間斷運行。狹義上講,服務(wù)器數(shù)據(jù)同時寫入2臺服務(wù)器中,或者這2臺服務(wù)器采用1個共享存儲設(shè)備。在同一時間2臺服務(wù)器只有1臺處于激活(工作)狀態(tài),另外1臺處于靜默狀態(tài)。當(dāng)處于激活狀態(tài)的服務(wù)器故障時,通過心跳機制激活另外1臺服務(wù)器,讓其接管當(dāng)前工作。雙機熱備系統(tǒng)采用故障隔離的工作原理,將發(fā)生故障的設(shè)備以故障點轉(zhuǎn)移的方式讓處于熱備份狀態(tài)的正常設(shè)備接管當(dāng)前工作,保證整個系統(tǒng)的不間斷運行。故障的恢復(fù)不是在故障設(shè)備上,而是在熱備份的設(shè)備上,熱備份的方式不是用來修復(fù)當(dāng)前故障設(shè)備,而僅僅是將故障隔離。雙機熱備系統(tǒng)中的關(guān)鍵技術(shù)有主備機身份識別技術(shù)、主備機之間心跳通信技術(shù)、主備機同步技術(shù)和主備機故障檢測和切換技術(shù)等。
2主備機身份識別
目前大多數(shù)的雙機熱備系統(tǒng)都采用在主備機端安裝不同軟件的方式。這種方法的優(yōu)點是程序開發(fā)較為簡便、邏輯清晰;缺點是靈活性較差、不便于維護。為了使主機和備機具有完全對等性,采用“先啟為主”的主備機身份識別機制,即先啟動的為主機,后啟動的為從機?!跋葐橹鳌钡闹鱾錂C身份識別機制采用端口監(jiān)聽的方法實現(xiàn)。首先在主機和備機上分別配置好對方的IP地址和通信端口號,在嵌入式系統(tǒng)的任務(wù)啟動后立即創(chuàng)建一個套接字并向?qū)Ψ酵ㄐ哦丝诎l(fā)出連接請求。如果連接成功說明對方已經(jīng)啟動,本機標(biāo)識為備機;如果連接失敗將本機標(biāo)識為主機,并將套接字綁定到主備機通信端口進行監(jiān)聽。這樣,無論備機何時啟動,主機都會接受備機的連接請求并與之建立連接。