李潤(rùn)昊
關(guān)鍵詞 計(jì)算機(jī)軟件 嵌入式 實(shí)時(shí)軟件
嵌入式實(shí)時(shí)軟件是指在某些條件限制下優(yōu)化開(kāi)發(fā)服務(wù)過(guò)程,借助計(jì)算機(jī)資源、軟件異步和多程序等特性,通過(guò)發(fā)揮其優(yōu)化作用,從而達(dá)到優(yōu)化計(jì)算機(jī)軟件性能的目的。分析嵌入式實(shí)時(shí)軟件的突出優(yōu)勢(shì)以及其性能提升方案,不斷優(yōu)化軟件結(jié)構(gòu)和運(yùn)行速度等,對(duì)于進(jìn)一步提升嵌入式實(shí)時(shí)軟件在實(shí)際應(yīng)用中的表現(xiàn)而言有著重要作用。在設(shè)計(jì)嵌入式實(shí)時(shí)軟件時(shí),需要關(guān)注緩存、命令執(zhí)行等,通過(guò)優(yōu)化、升級(jí)結(jié)構(gòu)實(shí)現(xiàn)集成式操作控制,最大化發(fā)揮嵌入式實(shí)時(shí)軟件的綜合價(jià)值。
1應(yīng)用原理
嵌入式實(shí)時(shí)軟件即指集成多種相互聯(lián)系的硬件并同時(shí)運(yùn)作的運(yùn)行平臺(tái),目前在各大領(lǐng)域有著極為廣泛的應(yīng)用[1] 。例如,在日常生活中使用的電視、電話、數(shù)碼相機(jī)等,其中均含有嵌入式實(shí)時(shí)軟件結(jié)構(gòu)。計(jì)算機(jī)軟硬件是嵌入式實(shí)時(shí)軟件控制的重要組成部分,其重要作用在于確保在軟件設(shè)計(jì)過(guò)程中可以應(yīng)用嵌入式軟件展開(kāi)實(shí)際操作,保證開(kāi)發(fā)出的軟件產(chǎn)品具備豐富的功能,以及可以在規(guī)定時(shí)間之內(nèi)保質(zhì)保量地完成軟件功能設(shè)計(jì),確保計(jì)算機(jī)系統(tǒng)不會(huì)因軟件開(kāi)發(fā)而受損。嵌入式實(shí)時(shí)軟件系統(tǒng)在設(shè)計(jì)過(guò)程中通過(guò)采用專業(yè)技術(shù)模型,提高軟硬件系統(tǒng)的集成度,從而進(jìn)一步提高計(jì)算機(jī)系統(tǒng)與嵌入式實(shí)時(shí)軟件的結(jié)合程度,實(shí)現(xiàn)對(duì)二者功能的高度融合,提高計(jì)算機(jī)系統(tǒng)的處理能力,實(shí)現(xiàn)遠(yuǎn)程計(jì)算機(jī)軟件設(shè)計(jì),同時(shí)還能夠?yàn)椴捎糜?jì)算機(jī)技術(shù)設(shè)計(jì)軟件提供必要的服務(wù)支持。
2特征及優(yōu)點(diǎn)
2.1實(shí)用性強(qiáng)
簡(jiǎn)單來(lái)說(shuō),嵌入式實(shí)時(shí)軟件就是對(duì)應(yīng)用于嵌入式系統(tǒng)中的軟件的統(tǒng)稱。同時(shí),也只有將嵌入式實(shí)時(shí)軟件應(yīng)用于嵌入式系統(tǒng),才能充分發(fā)揮其價(jià)值。在設(shè)計(jì)嵌入式實(shí)時(shí)軟件的過(guò)程中,需要充分結(jié)合市場(chǎng)變化和客戶特點(diǎn),最大化地滿足其個(gè)性化和共性化需求。
2.2靈活度高
嵌入式實(shí)時(shí)軟件的應(yīng)用形式為直接嵌入硬件內(nèi)部,因此為了確保提高軟硬件的結(jié)合度,在設(shè)計(jì)過(guò)程中必須保證其體積控制在一定范圍之內(nèi),只有這樣才能大量節(jié)省設(shè)計(jì)資源。基于此,所設(shè)計(jì)出的軟件才符合設(shè)計(jì)需求的同時(shí)完成不同硬件的結(jié)合,也不會(huì)影響硬件的性能。
2.3能耗低、啟動(dòng)速度快
嵌入式實(shí)時(shí)軟件的主要載體為硬件設(shè)施,對(duì)于系統(tǒng)性能的要求并不高,相對(duì)而言空間與資源占用更小,有著更快的啟動(dòng)速度,使用更為靈活、方便,能夠充分滿足用戶對(duì)于提升軟件運(yùn)行速度的需求。
2.4系統(tǒng)穩(wěn)定性高
由于非嵌入式實(shí)時(shí)軟件一般安裝在系統(tǒng)硬盤(pán)之上,在運(yùn)行過(guò)程中一旦出現(xiàn)故障,則很可能影響整個(gè)系統(tǒng)的正常運(yùn)作。而采用嵌入式實(shí)時(shí)軟件則可以有效避免這一問(wèn)題,能夠保證系統(tǒng)在更為安全的環(huán)境中運(yùn)行。
3意義
作為信息技術(shù)發(fā)展的產(chǎn)物,計(jì)算機(jī)已經(jīng)被廣泛應(yīng)用在日常生活的各個(gè)方面,尤其是隨著集成電路、微處理器的高速發(fā)展,各種高性能的計(jì)算機(jī)層出不窮。而嵌入式系統(tǒng)以其體積小、功耗低等特點(diǎn)在工業(yè)領(lǐng)域得到了廣泛應(yīng)用。要提高嵌入式實(shí)時(shí)軟件的完整性,就要設(shè)計(jì)出穩(wěn)定可靠的電路系統(tǒng)和合理的軟件結(jié)構(gòu)。
軟件設(shè)計(jì)的核心在于確保硬件電路正常運(yùn)行、數(shù)據(jù)收集與處理不受影響,這也是其價(jià)值所在。嵌入式實(shí)時(shí)軟件適合安裝于系統(tǒng)運(yùn)行環(huán)境較為嚴(yán)苛、有著較高功耗與豐富功能的專用型計(jì)算機(jī)中,應(yīng)用嵌入式實(shí)時(shí)軟件的關(guān)鍵則在于研究信息化的計(jì)算機(jī)技術(shù),需要在確保實(shí)時(shí)性、可裁剪性的特質(zhì)下實(shí)現(xiàn)對(duì)內(nèi)部信號(hào)的處理和對(duì)用戶需求的響應(yīng)。例如,電視、計(jì)算機(jī)、智能手機(jī)等設(shè)備的應(yīng)用系統(tǒng)實(shí)際上都是基于嵌入式實(shí)時(shí)軟件而設(shè)計(jì)的。嵌入式實(shí)時(shí)軟件所具有的重要價(jià)值表現(xiàn)在維持系統(tǒng)平穩(wěn)運(yùn)行,確保外接設(shè)備、MCU 等能夠正常工作。
動(dòng)態(tài)分配、緩存等也是嵌入式實(shí)時(shí)軟件的重要功能。在嵌入式系統(tǒng)設(shè)計(jì)流程中,關(guān)鍵在于對(duì)微處理器的應(yīng)用,處理器的型號(hào)不同,其性能、功能、兼容的操作系統(tǒng)等也有著很大的差異,因此在設(shè)計(jì)過(guò)程中就需要結(jié)合用戶需求確定芯片型號(hào)。在設(shè)計(jì)過(guò)程中,還需要加入監(jiān)控模塊,用于時(shí)刻監(jiān)控系統(tǒng)運(yùn)行是否穩(wěn)定,識(shí)別出影響系統(tǒng)正常運(yùn)行的因子,如采用看門(mén)狗完成對(duì)系統(tǒng)的復(fù)位等。在軟件設(shè)計(jì)過(guò)程中,還要關(guān)注對(duì)安全隱患的識(shí)別和分析,確保軟件設(shè)計(jì)能夠有效規(guī)避各類運(yùn)行風(fēng)險(xiǎn)。
4應(yīng)用方法
將嵌入式實(shí)時(shí)軟件應(yīng)用于軟件系統(tǒng)時(shí),設(shè)計(jì)者必須按照軟件設(shè)計(jì)程序完成各個(gè)流程的操作,應(yīng)當(dāng)盡可能控制各類人工差錯(cuò)。例如,在設(shè)計(jì)軟件結(jié)構(gòu)時(shí),設(shè)計(jì)者需要重視對(duì)軟硬件系統(tǒng)的區(qū)分,盡可能避免軟件過(guò)分依賴硬件的問(wèn)題,從而提高系統(tǒng)的實(shí)時(shí)性與穩(wěn)定性。另外,計(jì)算機(jī)軟件中嵌入式實(shí)時(shí)軟件的應(yīng)用,對(duì)于完成數(shù)據(jù)初始化、結(jié)構(gòu)格式化而言也有重要作用,在設(shè)計(jì)過(guò)程中,通過(guò)設(shè)計(jì)人員的努力從而豐富軟件結(jié)構(gòu)與功能。嵌入式實(shí)時(shí)軟件在軟件系統(tǒng)中的應(yīng)用也能夠?yàn)橄到y(tǒng)設(shè)計(jì)提供便利。
4.1劃分任務(wù)
在任務(wù)劃分階段,首要流程為數(shù)據(jù)分析和數(shù)據(jù)分類,劃分為有應(yīng)用價(jià)值和無(wú)應(yīng)用價(jià)值兩種類型,并結(jié)合轉(zhuǎn)換與執(zhí)行的具體需求,充分發(fā)揮轉(zhuǎn)換與分類的作用。一般而言,可從五個(gè)角度切入,即應(yīng)用程序方面、用戶接口方面、循環(huán)周期方面、異步方面、同步方面,通過(guò)強(qiáng)化配合與協(xié)調(diào)實(shí)現(xiàn)資源整合,發(fā)揮出軟件系統(tǒng)應(yīng)有的價(jià)值,尤其要突出程序輪詢、中斷系統(tǒng)的應(yīng)用價(jià)值,實(shí)現(xiàn)對(duì)I/ O 事件的統(tǒng)計(jì)和驗(yàn)證,從而逐步靠近長(zhǎng)期目標(biāo)。在這種處理模式下,當(dāng)計(jì)算機(jī)系統(tǒng)處于運(yùn)行狀態(tài)時(shí),部分程序?qū)⒄加肅PU 資源。而通過(guò)發(fā)揮出應(yīng)用程序的輪詢和終端模塊的作用時(shí),則能夠統(tǒng)計(jì)和驗(yàn)證數(shù)據(jù),并完成數(shù)據(jù)采集,進(jìn)而保證系統(tǒng)數(shù)據(jù)的準(zhǔn)確性,進(jìn)一步提高系統(tǒng)的時(shí)效性、穩(wěn)定性[2] 。
4.2提高組織任務(wù)、存儲(chǔ)映像布局的合理性
在任務(wù)劃分和設(shè)計(jì)階段完成之后,其功能性將得以充分展現(xiàn)。在實(shí)際操作過(guò)程中,既需要關(guān)注數(shù)據(jù)的轉(zhuǎn)換,也需要確保軟件的邏輯性,為避免受到負(fù)面因素的影響,應(yīng)當(dāng)同時(shí)在FLASH 和ROM 上進(jìn)行儲(chǔ)存。在數(shù)據(jù)信息調(diào)取的過(guò)程中,為了確保軟件能夠充分發(fā)揮出信息調(diào)取和儲(chǔ)存的作用,按照設(shè)計(jì)標(biāo)準(zhǔn)開(kāi)發(fā)出其應(yīng)有的功能,就需要對(duì)軟件系統(tǒng)進(jìn)一步優(yōu)化,最大化地為嵌入式實(shí)時(shí)軟件的應(yīng)用創(chuàng)造有利條件。
4.3應(yīng)用流程及應(yīng)用重點(diǎn)
在軟件設(shè)計(jì)過(guò)程中,必須關(guān)注每一流程的設(shè)計(jì)重點(diǎn)。原因在于當(dāng)軟件設(shè)計(jì)中出現(xiàn)任何一個(gè)微小的誤差,均可能帶來(lái)巨大的經(jīng)濟(jì)損失,或是因計(jì)算機(jī)軟件系統(tǒng)無(wú)法正常運(yùn)行而影響設(shè)計(jì)單位的口碑[3] 。所以,在軟件設(shè)計(jì)過(guò)程中,必須確保每一位軟件設(shè)計(jì)者都具有充足的理論知識(shí)和豐富的實(shí)踐經(jīng)驗(yàn),快速找到嵌入式實(shí)時(shí)軟件的設(shè)計(jì)重點(diǎn),確保最大程度達(dá)到嵌入式實(shí)時(shí)軟件的應(yīng)用成效,有效避免計(jì)算機(jī)軟件設(shè)計(jì)出現(xiàn)程序錯(cuò)亂和誤差。在嵌入式實(shí)時(shí)軟件系統(tǒng)的設(shè)計(jì)過(guò)程中,必須確保計(jì)算機(jī)軟硬件始終處于高度結(jié)合的狀態(tài)。原因在于若設(shè)計(jì)過(guò)程中軟硬件系統(tǒng)各自獨(dú)立,則必然會(huì)影響軟件設(shè)計(jì)流程,而保證軟硬件始終處于結(jié)合狀態(tài)的目的正在于提高計(jì)算機(jī)軟件系統(tǒng)的穩(wěn)定性。與此同時(shí),嵌入式實(shí)時(shí)軟件在運(yùn)行過(guò)程中可能會(huì)出現(xiàn)數(shù)據(jù)丟失的問(wèn)題,為此必須提前做好數(shù)據(jù)備份,確保滿足客戶的數(shù)據(jù)恢復(fù)需求。
4.4實(shí)時(shí)應(yīng)用與調(diào)度任務(wù)
在應(yīng)用嵌入式實(shí)時(shí)軟件過(guò)程中可以從兩個(gè)方面對(duì)其應(yīng)用情況進(jìn)行分析和理解,即硬實(shí)時(shí)性和軟實(shí)時(shí)性[4] 。在實(shí)際操作過(guò)程中,軟件可以直接體現(xiàn)出應(yīng)用的實(shí)時(shí)性,能夠在不同階段表現(xiàn)出不同程度的滯后性,要求操作者提高關(guān)注度,堅(jiān)持優(yōu)選原則,在計(jì)算機(jī)任務(wù)調(diào)度過(guò)程中選擇優(yōu)先級(jí)更高的調(diào)度方式??紤]到軟件系統(tǒng)在使用過(guò)程中可以通過(guò)多種渠道完成優(yōu)化和升級(jí),要求在具體優(yōu)化過(guò)程中結(jié)合任務(wù)的實(shí)際要求和任務(wù)目標(biāo)來(lái)調(diào)整等級(jí),并適當(dāng)加入新的等級(jí),實(shí)現(xiàn)對(duì)任務(wù)的分解,盡可能提高對(duì)關(guān)鍵任務(wù)的響應(yīng)速度,全面提升系統(tǒng)響應(yīng)速度,從而提升工作效率。
4.5任務(wù)和時(shí)鐘間通信
嵌入式實(shí)時(shí)軟件具有多種功能,通常包括軟實(shí)時(shí)和硬實(shí)時(shí)。兩種功能的區(qū)別在于任務(wù)完成時(shí)間上,即軟實(shí)時(shí)允許將任務(wù)滯后完成,硬實(shí)時(shí)則相反。如果某一優(yōu)先級(jí)的任務(wù)較多,微內(nèi)核依據(jù)任務(wù)的緊急情況,自行增強(qiáng)優(yōu)先程度,按照優(yōu)先級(jí)對(duì)任務(wù)進(jìn)行劃分和排序,此舉的目的在于減少系統(tǒng)完成重要任務(wù)所需時(shí)間。在嵌入式實(shí)時(shí)軟件的設(shè)計(jì)過(guò)程中,應(yīng)當(dāng)加入系統(tǒng)時(shí)鐘模塊,對(duì)模塊進(jìn)行控制。嵌入式實(shí)時(shí)軟件中包括信號(hào)傳遞、排序等程序,能夠?qū)崿F(xiàn)對(duì)系統(tǒng)任務(wù)與軟件資源的協(xié)調(diào)同步,同時(shí)具有信息傳遞功能[5] 。
4.6分布式嵌入系統(tǒng)評(píng)價(jià)體系
分布式嵌入系統(tǒng)是指通過(guò)分解對(duì)計(jì)算能力要求較高的分析任務(wù),將其劃分為不同的小目標(biāo),同時(shí)通過(guò)傳遞信息的方式將其發(fā)配至網(wǎng)絡(luò)計(jì)算機(jī)中進(jìn)行處理,接著將所得到的處理結(jié)果進(jìn)行匯總并再次處理,如此得出的便是最終處理結(jié)構(gòu)。主要通過(guò)資源分配與調(diào)度算法展開(kāi)針對(duì)嵌入式系統(tǒng)的評(píng)價(jià)。其中,資源分配即指數(shù)據(jù)儲(chǔ)存器、處理器、網(wǎng)絡(luò)等自我填補(bǔ)設(shè)備;調(diào)度算法即指通過(guò)判斷任務(wù)的優(yōu)先級(jí),從而確保等級(jí)更高的任務(wù)能夠得到優(yōu)先處理。分布式嵌入系統(tǒng)的可靠性即指通過(guò)提高系統(tǒng)整體運(yùn)行的安全程度和完整程度,從而提高分布式嵌入系統(tǒng)的可靠程度。
在衡量系統(tǒng)可靠性時(shí),可以從設(shè)計(jì)、驗(yàn)證、分析和評(píng)估等角度切入。分布式嵌入系統(tǒng)器件的可靠性主要體現(xiàn)在規(guī)定的時(shí)間段和運(yùn)行環(huán)境下,分布式嵌入系統(tǒng)服務(wù)表現(xiàn)的持續(xù)性,通過(guò)分析系統(tǒng)的這一指標(biāo),能夠?qū)ζ渌布笜?biāo)的服務(wù)能力做出判斷。為了充分且準(zhǔn)確地展示出嵌入式計(jì)算機(jī)系統(tǒng)的綜合性能,在確定系統(tǒng)性能評(píng)價(jià)指標(biāo)時(shí),應(yīng)當(dāng)遵循的原則包括:一是代表原則,即指標(biāo)能夠展現(xiàn)出系統(tǒng)在某一方面所具有的特質(zhì);二是可信原則,即能夠提供準(zhǔn)確、足量的信息數(shù)據(jù);三是使用原則,即能夠滿足使用需求;四是獨(dú)立原則,即應(yīng)當(dāng)選擇與性能關(guān)聯(lián)度更小的指標(biāo)。
5發(fā)展趨勢(shì)
嵌入式實(shí)時(shí)軟件的作用表現(xiàn)在能夠?qū)崿F(xiàn)遠(yuǎn)程操控、應(yīng)用程序設(shè)計(jì),從而滿足遠(yuǎn)程、實(shí)時(shí)控制的需求。為了滿足廣大用戶對(duì)嵌入式實(shí)時(shí)軟件的使用需求,在軟件設(shè)計(jì)過(guò)程中,還需要進(jìn)一步完善信號(hào)量和信號(hào)隊(duì)列機(jī)制等,應(yīng)當(dāng)確保系統(tǒng)任務(wù)與資源分配能夠同步進(jìn)行。在軟件信息處理能力不斷提升的背景下,進(jìn)一步提高操作效率、軟件性能,有助于全面擴(kuò)大和提升嵌入式實(shí)時(shí)軟件的應(yīng)用范圍和應(yīng)用水平。
嵌入式實(shí)時(shí)軟件中既包括軟件模塊,也包括硬件模塊,通過(guò)提高軟硬件的集成度,則同樣有助于提高其應(yīng)用水平。盡管信息時(shí)代的到來(lái)給嵌入式實(shí)時(shí)軟件帶來(lái)了很好的發(fā)展契機(jī),但“打鐵還需自身硬”,在嵌入式技術(shù)層面需要不斷突破。首先,嵌入式實(shí)時(shí)軟件和硬件設(shè)施是無(wú)法剝離的整體,硬件設(shè)施是發(fā)揮嵌入式實(shí)時(shí)軟件優(yōu)勢(shì)的載體,只有擺脫硬件設(shè)施的束縛和限制,嵌入式實(shí)時(shí)軟件才能夠獲得長(zhǎng)遠(yuǎn)發(fā)展。其次,嵌入式實(shí)時(shí)軟件系統(tǒng)作為嵌入式實(shí)時(shí)軟件運(yùn)行的基礎(chǔ)保障設(shè)施,也應(yīng)當(dāng)不斷進(jìn)行優(yōu)化升級(jí),以滿足用戶需求。再次,要努力跳出鏡像內(nèi)存的框架,或是找到更好的定制途徑,完善嵌入式實(shí)時(shí)軟件的功能,滿足多樣化和個(gè)性化需求,從而開(kāi)辟更大的市場(chǎng)。最后,嵌入式實(shí)時(shí)軟件的開(kāi)發(fā)需要資源和人才的支撐,作為數(shù)字時(shí)代發(fā)展的客觀要求,我們應(yīng)當(dāng)高度重視專業(yè)人才的培養(yǎng),加大軟件開(kāi)發(fā)的投入力度,為嵌入式實(shí)時(shí)軟件的優(yōu)化升級(jí)提供堅(jiān)實(shí)的資源和人才保障。