谷惠敏
(商丘醫(yī)學(xué)高等??茖W(xué)校 河南 商丘 476100)
嵌入式實(shí)時(shí)軟件在計(jì)算機(jī)軟件設(shè)計(jì)中的運(yùn)用分析
谷惠敏
(商丘醫(yī)學(xué)高等專科學(xué)校 河南 商丘476100)
嵌入式軟件因其專業(yè)性與實(shí)時(shí)處理的特點(diǎn),在計(jì)算機(jī)軟件設(shè)計(jì)中被廣泛的運(yùn)用,直接影響著計(jì)算機(jī)軟件設(shè)計(jì)的質(zhì)量,本文基于推廣嵌入式實(shí)時(shí)軟件在計(jì)算機(jī)軟件設(shè)計(jì)中的應(yīng)用,采用理論敘述方法,細(xì)述探討了嵌入式實(shí)時(shí)軟件在計(jì)算機(jī)軟件設(shè)計(jì)中的運(yùn)用原理,并以此為依據(jù),細(xì)述了基于嵌入式實(shí)時(shí)軟件進(jìn)行計(jì)算機(jī)軟件開發(fā)和設(shè)計(jì)需注意的要點(diǎn),進(jìn)而對計(jì)算機(jī)軟件設(shè)計(jì)嵌入式實(shí)時(shí)軟件的運(yùn)用進(jìn)行了系統(tǒng)探討,以供業(yè)內(nèi)人士交流探討。
嵌入式實(shí)時(shí)軟件;計(jì)算機(jī)軟件設(shè)計(jì);軟件開發(fā);運(yùn)用
在計(jì)算機(jī)軟件設(shè)計(jì)過程中應(yīng)用嵌入式實(shí)時(shí)軟件,有助于簡化設(shè)計(jì)流程,提升設(shè)計(jì)效率和設(shè)計(jì)質(zhì)量,具有一定的研討價(jià)值。文中先是對嵌入式實(shí)時(shí)軟件以及其在計(jì)算機(jī)軟件設(shè)計(jì)中的運(yùn)用進(jìn)行介紹,之后再重點(diǎn)從計(jì)算機(jī)軟件設(shè)計(jì)嵌入式實(shí)時(shí)軟件的設(shè)計(jì)和開發(fā)以及計(jì)算機(jī)軟件設(shè)計(jì)嵌入式實(shí)時(shí)軟件的運(yùn)用,進(jìn)行論述。
1.1嵌入式實(shí)時(shí)軟件概述
所謂嵌入式實(shí)時(shí)軟件是以計(jì)算機(jī)技術(shù)為基礎(chǔ)設(shè)計(jì)的一種軟硬件可裁剪,且對系統(tǒng)功能、可靠性、成本、體積、功耗均有嚴(yán)格要求的應(yīng)用型計(jì)算機(jī)系統(tǒng)。近些年來,隨著科學(xué)技術(shù)水平的不斷提升機(jī)信息化進(jìn)程的推進(jìn),計(jì)算機(jī)漸而融入我們的日常生活,由此,相關(guān)的計(jì)算機(jī)軟件也開始在諸多領(lǐng)域得到廣泛應(yīng)用。這之中,嵌入式實(shí)時(shí)軟件因?yàn)槠渖婕胺秶鷱V泛、穩(wěn)定性好、操作簡單、價(jià)格合宜而頗受業(yè)內(nèi)人士肯定。實(shí)質(zhì)上,不僅如此,嵌入式實(shí)時(shí)軟件在計(jì)算機(jī)軟件設(shè)計(jì)中應(yīng)用還可提高設(shè)計(jì)出的軟件產(chǎn)品的質(zhì)量,亦能彌補(bǔ)軟件產(chǎn)品缺陷。故而可最大限度的滿足軟件使用者對于計(jì)算機(jī)軟件的需求,同時(shí)也可保證軟件在計(jì)算機(jī)軟件設(shè)計(jì)中得到有效應(yīng)用。
1.2嵌入式實(shí)時(shí)軟件在計(jì)算機(jī)軟件設(shè)計(jì)中的運(yùn)用原理
嵌入式實(shí)時(shí)軟件同通用計(jì)算機(jī)軟件之間存在顯著的差異,這也是導(dǎo)致嵌入式使用軟件在計(jì)算機(jī)軟件設(shè)計(jì)中運(yùn)行原理有異的根本原因。在計(jì)算機(jī)軟件設(shè)計(jì)中,嵌入式實(shí)時(shí)軟件可以在緩存機(jī)制、動態(tài)分配、預(yù)測指令執(zhí)行等設(shè)計(jì)中產(chǎn)生積極的良性作用,即在改變計(jì)算機(jī)軟件實(shí)時(shí)操作性的同時(shí)也增加了軟件設(shè)計(jì)的應(yīng)用性和安全性。雖然同通用計(jì)算機(jī)系統(tǒng)存在差異,但是兩者在設(shè)計(jì)時(shí)均需同時(shí)考量軟件及硬件的設(shè)計(jì)。其中,軟件包含操作系統(tǒng)軟件(OS)和應(yīng)用程序編程,硬件包含處理器或微處理器、存儲器、外設(shè)器件、I/O端口、圖形控制器等。在計(jì)算機(jī)軟件設(shè)計(jì)的應(yīng)用中,由應(yīng)用程序來控制系統(tǒng)的運(yùn)作和行為,操作系統(tǒng)控制應(yīng)用程序編程與硬件的交互作用。此外,嵌入式微處理器的設(shè)計(jì)是嵌入式實(shí)時(shí)軟件設(shè)計(jì)的核心,目前設(shè)計(jì)方案中多應(yīng)用ATglRM9200處理器。而對于軟件模塊的設(shè)計(jì)也是設(shè)計(jì)重心,其設(shè)計(jì)質(zhì)量的優(yōu)劣直接關(guān)系到計(jì)算機(jī)軟件設(shè)計(jì)的安全性、通用性和可操作性。
在計(jì)算機(jī)軟件設(shè)計(jì)中運(yùn)用嵌入式實(shí)時(shí)軟件對于軟件設(shè)計(jì)而言,不僅可以提高軟件設(shè)計(jì)效率,還可以簡化計(jì)算機(jī)開發(fā)流程。同通用計(jì)算機(jī)系統(tǒng)不同,后者開發(fā)無需特定的開發(fā)環(huán)境,而計(jì)算機(jī)軟件設(shè)計(jì)嵌入式實(shí)時(shí)軟件的開發(fā)通常財(cái)通交叉開發(fā)的方式。但是前者設(shè)計(jì)和開發(fā)均相對較為簡單,實(shí)施步驟為:第一,分析計(jì)算機(jī)軟件系統(tǒng)的需求;第二,根據(jù)需求開始軟件系統(tǒng)設(shè)計(jì)并編寫應(yīng)用程序代碼;第三,測試軟件,分析測試結(jié)果,完善計(jì)算機(jī)軟件設(shè)計(jì)。顯然,嵌入式實(shí)時(shí)軟件開發(fā)流程簡便,這無疑為提升計(jì)算機(jī)軟件的穩(wěn)定性提供了保障。不過,在軟件設(shè)計(jì)過程中,也應(yīng)當(dāng)注意落實(shí)軟件數(shù)據(jù)初始化和格式化等工作的穩(wěn)步施行。由上可知,在運(yùn)用嵌入式實(shí)時(shí)軟件進(jìn)行計(jì)算機(jī)軟件設(shè)計(jì)時(shí),設(shè)計(jì)人員應(yīng)當(dāng)熟練掌握基于嵌入式實(shí)時(shí)軟件進(jìn)行軟件開發(fā)方面的相關(guān)知識 (見圖1),盡量避免人為設(shè)計(jì)的失誤。例:在進(jìn)行計(jì)算機(jī)軟件設(shè)時(shí)脫離于計(jì)算機(jī)硬件結(jié)構(gòu)。這樣的疏忽會極大地降低軟件設(shè)計(jì)對硬件的粘性和依賴性,必定會影響軟件系統(tǒng)在計(jì)算機(jī)應(yīng)用過程中的可靠性和實(shí)用性。故而,在計(jì)算機(jī)軟件設(shè)計(jì)過程中,需盡量規(guī)避軟件同硬件兩者之間脫離,以此提高計(jì)算機(jī)軟件在應(yīng)用過程的操作性能。
圖1 嵌入式軟件開發(fā)知識體系結(jié)構(gòu)圖
嵌入式實(shí)施軟件在計(jì)算機(jī)軟件設(shè)計(jì)中的運(yùn)用是提升計(jì)算機(jī)軟件系統(tǒng)設(shè)計(jì)科學(xué)性、功能性和可操作性的一種良好方式。下文將細(xì)述嵌入式實(shí)時(shí)軟件在計(jì)算機(jī)軟件設(shè)計(jì)中的運(yùn)用步驟,以為嵌入式實(shí)時(shí)軟件更為合理的運(yùn)用提供參考依據(jù)。
3.1劃分計(jì)算機(jī)軟件并行任務(wù)
嵌入式ROTS微內(nèi)核是開發(fā)計(jì)算機(jī)軟件應(yīng)用程序的基礎(chǔ)平臺,對于計(jì)算機(jī)系統(tǒng)而言,是保障系統(tǒng)功能實(shí)現(xiàn)的關(guān)鍵所在和重要基石,而這同嵌入式ROTS微內(nèi)核的結(jié)構(gòu)(見圖1)和多項(xiàng)功能(資源管理、任務(wù)管理及控制、任務(wù)間通信、任務(wù)互斥與同步等)不無關(guān)系。在運(yùn)用嵌入式實(shí)時(shí)軟件進(jìn)行計(jì)算機(jī)軟件設(shè)計(jì)時(shí),先行將計(jì)算機(jī)軟件系統(tǒng)劃分為一個(gè)個(gè)獨(dú)立的任務(wù),不僅可以簡化后期軟件設(shè)計(jì)的流程,同時(shí)也為嵌入式ROTS模型的優(yōu)化完善及系統(tǒng)運(yùn)行的協(xié)調(diào)修正提供了良好條件。
圖2 嵌入式實(shí)時(shí)操作系統(tǒng)結(jié)構(gòu)圖
基于嵌入式實(shí)時(shí)軟件劃分計(jì)算機(jī)軟件系統(tǒng)并行任務(wù)時(shí),首先應(yīng)當(dāng)對計(jì)算機(jī)應(yīng)用程序的數(shù)據(jù)轉(zhuǎn)換進(jìn)行詳實(shí)分析和計(jì)算,續(xù)而根據(jù)分析結(jié)果確定數(shù)據(jù)執(zhí)行的順序,最后以計(jì)算機(jī)應(yīng)用系統(tǒng)數(shù)據(jù)通信的異步關(guān)系為依據(jù),將一個(gè)數(shù)據(jù)轉(zhuǎn)換或多個(gè)數(shù)據(jù)并行轉(zhuǎn)化作為一個(gè)任務(wù)進(jìn)行劃分。其中,關(guān)于應(yīng)用系統(tǒng)數(shù)據(jù)通信的異步關(guān)系應(yīng)當(dāng)考量兩個(gè)方面:其一,系統(tǒng)內(nèi)部功能。根據(jù)系統(tǒng)功能完成的時(shí)間或任務(wù)之間的緊密程度進(jìn)行任務(wù)劃分。如:將同事件激活任務(wù)一起完成的系統(tǒng)功能劃分在一起,作為一個(gè)任務(wù);抑或?qū)⒔?jīng)由統(tǒng)一事件驅(qū)動的任務(wù)合并劃分為一個(gè)任務(wù)。其二,I/O功能。在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,對I/O設(shè)備的控制需要計(jì)算機(jī)應(yīng)用程序輪詢,但是因?yàn)檩喸冃枰加么罅緾PU資源,為了保證I/O驅(qū)動正常的前提下滿足計(jì)算機(jī)軟件系統(tǒng)的使用性,故而多采用中斷驅(qū)動的方式。
3.2存儲映像布局并組織任務(wù)
在將系統(tǒng)應(yīng)用功能劃分為一個(gè)個(gè)相對單獨(dú)的任務(wù)之后,則需開始進(jìn)行任務(wù)組織,任務(wù)組織方式的選擇主要取決于單獨(dú)任務(wù)之間的邏輯關(guān)系和數(shù)據(jù)轉(zhuǎn)換關(guān)系,而任務(wù)的管理功能和組織功能則同嵌入式操作系統(tǒng)存在緊密聯(lián)系。其中,嵌入式操作系統(tǒng)的操作系統(tǒng)并不完整,因此需同應(yīng)用程序駐留或保存在ROM或FLASH中。而為了保證操作系統(tǒng)可以在后續(xù)應(yīng)用中穩(wěn)定運(yùn)行,則需要在任務(wù)組織時(shí)合理安排并優(yōu)化計(jì)算機(jī)軟件系統(tǒng)布局。針對軟件系統(tǒng)布局,應(yīng)當(dāng)將應(yīng)用系統(tǒng)存儲映像的布局以及從物理零地址調(diào)取的存儲器作為考慮的重點(diǎn)。系統(tǒng)加電之后,在物理零地址上設(shè)置可以執(zhí)行的代碼。一般情況而言,嵌入式應(yīng)用系統(tǒng)是從ROM開始啟動,ROM在初始化時(shí)位于嵌入式應(yīng)用系統(tǒng)的物理零地址,該地址之后會存放計(jì)算機(jī)系統(tǒng)的中斷向量。這種方式的優(yōu)勢在于其最為簡單便捷,可以有效提升處理器調(diào)取中斷向量的速度。另外還有一種組織方式是分散載入法,本次暫按不表。
3.3應(yīng)用實(shí)時(shí)性與任務(wù)調(diào)度
基于嵌入式實(shí)時(shí)軟件進(jìn)行計(jì)算機(jī)軟件設(shè)計(jì),需重點(diǎn)考量嵌入式實(shí)時(shí)應(yīng)用系統(tǒng)的實(shí)時(shí)性。系統(tǒng)實(shí)時(shí)性分為軟實(shí)時(shí)性和硬實(shí)時(shí)性。其中,軟實(shí)時(shí)性要求系統(tǒng)需在一定時(shí)限之內(nèi)完成任務(wù),但是可以出現(xiàn)一定范圍內(nèi)的時(shí)間延遲;硬實(shí)時(shí)要求系統(tǒng)必須在一定時(shí)限范圍內(nèi)完成任務(wù),如果超過時(shí)間將會造成不利后果。這邊要求計(jì)算機(jī)軟件系統(tǒng)任務(wù)的調(diào)度方式的選擇應(yīng)當(dāng)盡量采用基于優(yōu)先級的可搶占調(diào)度方式(見表3)。該種方式是指微內(nèi)核會根據(jù)系統(tǒng)任務(wù)的緊急情況對軟件系統(tǒng)任務(wù)進(jìn)行是否優(yōu)先處理的安排,并依據(jù)優(yōu)先等級不同劃分系統(tǒng)任務(wù),以此減少優(yōu)先任務(wù)的響應(yīng)時(shí)間。
圖3 搶先式多任務(wù)調(diào)度示意圖
3.4任務(wù)與時(shí)鐘間通信
提供時(shí)鐘服務(wù)是每個(gè)計(jì)算機(jī)軟件在設(shè)計(jì)過程中均應(yīng)當(dāng)考慮到的問題之一,同樣,嵌入式實(shí)時(shí)軟件也存在時(shí)鐘,常以“l(fā)ick”來標(biāo)記。因此,基于嵌入式實(shí)時(shí)軟件進(jìn)行計(jì)算機(jī)軟件設(shè)計(jì)時(shí),需設(shè)計(jì)計(jì)算機(jī)軟件系統(tǒng)的時(shí)間服務(wù),保證每個(gè)人物具備自己的時(shí)鐘,以便定期控制執(zhí)行動作。許多嵌入式實(shí)時(shí)軟件操作系統(tǒng)都具有郵箱、信號量、信號、隊(duì)列等機(jī)制,以保障軟件資源和系統(tǒng)任務(wù)之間通信與同步的實(shí)現(xiàn)。
3.5系統(tǒng)初始化
在運(yùn)用嵌入式實(shí)時(shí)軟件進(jìn)行計(jì)算機(jī)軟件開發(fā)和設(shè)計(jì)時(shí),如此促使系統(tǒng)初始化并執(zhí)行是需要重點(diǎn)考慮的另一個(gè)問題。位于嵌入式操作系統(tǒng)微內(nèi)核和底層硬件之間的硬件抽象層是編寫系統(tǒng)初始化代碼之處,主要負(fù)責(zé)和實(shí)現(xiàn)系統(tǒng)的引導(dǎo)和初始化。同通用計(jì)算機(jī)軟件系統(tǒng)不同,嵌入式實(shí)施軟件并不具有BIOS,故而,軟件開發(fā)者需要通過設(shè)計(jì)方案實(shí)現(xiàn)系統(tǒng)引導(dǎo)和初始化代碼,經(jīng)由一系列固定指令序列執(zhí)行諸如定義入口點(diǎn)、初始化存儲系統(tǒng)、設(shè)置異常中斷向量、初始化RAM變量等系統(tǒng)初始化工作。最后,通過轉(zhuǎn)移指令或設(shè)置指令加載嵌入式軟件系統(tǒng),進(jìn)入系統(tǒng)任務(wù)調(diào)度即可。
綜上所述,基于嵌入式實(shí)時(shí)軟件,利用分層結(jié)構(gòu)進(jìn)行計(jì)算機(jī)軟件設(shè)計(jì),不僅增加了系統(tǒng)設(shè)計(jì)的靈活性,還簡化了系統(tǒng)設(shè)計(jì)的復(fù)雜性,值得推廣應(yīng)用。本文從嵌入式軟件出發(fā),簡析了嵌入式實(shí)時(shí)軟件在計(jì)算機(jī)軟件設(shè)計(jì)中的運(yùn)用及原理,并就計(jì)算機(jī)軟件設(shè)計(jì)嵌入式實(shí)時(shí)軟件的設(shè)計(jì)和開發(fā)進(jìn)行討論,從劃分計(jì)算機(jī)軟件并行任務(wù)、存儲映像布局并組織任務(wù)、應(yīng)用實(shí)時(shí)性與任務(wù)調(diào)度、任務(wù)與時(shí)鐘間通信、系統(tǒng)初始化,5個(gè)方面重點(diǎn)闡述了計(jì)算機(jī)軟件設(shè)計(jì)嵌入式實(shí)時(shí)軟件的運(yùn)用。
[1]馬宇馳.計(jì)算機(jī)軟件設(shè)計(jì)中嵌入式實(shí)時(shí)軟件的應(yīng)用探析[J].信息通信,2014(4):104.
[2]李允,桂盛霖,陳更,等.嵌入式實(shí)時(shí)軟件模型開發(fā)環(huán)境研究[J].計(jì)算機(jī)科學(xué),2012(z3):226-229,244.
[3]李禹松.嵌入式實(shí)時(shí)軟件在計(jì)算機(jī)軟件設(shè)計(jì)中的應(yīng)用[J].硅谷,2013(18):16,37.
[4]王妍,黃山.試論計(jì)算機(jī)軟件設(shè)計(jì)中嵌入式實(shí)時(shí)軟件的應(yīng)用[J].青年科學(xué)(教師版),2014(11):55.
[5]張嵐.嵌入式實(shí)時(shí)軟件在計(jì)算機(jī)軟件設(shè)計(jì)中的應(yīng)用[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2015(1):71,73.
[6]馮川放,馬季.基于嵌入式LINUX系統(tǒng)的實(shí)時(shí)進(jìn)程調(diào)度算法的研究[J].計(jì)算機(jī)應(yīng)用與軟件,2014(12):278-282.
The application of embedded real-time software in a computer software design analysis
GU Hui-min
(Shangqiu Medical College,Shangqiu 476100,China)
The characteristics of embedded software for its professionalism and real-time processing,is widely used in computer software design,directly affecting the quality of computer software design,this article is based on promoting the application of embedded real-time software in a computer software design,use the theory of narrative method,elaborate discussed the application of embedded real-time software in a computer software design principle,and on this basis,elaborate the based on embedded real-time software for computer software development and design,the main points of the need to pay attention to the use of computer software design of embedded real-time software system is discussed in this paper,for the industry communication.
embedded real-time software;computer software design;software development;using
TN0
A
1674-6236(2016)09-0169-03
2015-06-02稿件編號:201506036
谷惠敏(1979—),女,河南商丘人,碩士,講師。研究方向:計(jì)算機(jī)技術(shù)及應(yīng)用。