基于VxWorks的環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于VxWorks的環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于VxWorks的環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于VxWorks的環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于VxWorks的環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 西安電子科技大學(xué)碩士學(xué)位論文基于VxWorks的環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)與實(shí)現(xiàn)姓名:譚沛申請(qǐng)學(xué)位級(jí)別:碩士專(zhuān)業(yè):計(jì)算機(jī)技術(shù)指導(dǎo)教師:徐學(xué)洲;辛明瑞201103 本文以載人航天飛行器環(huán)境控制與生命保障系統(tǒng)的環(huán)控?cái)?shù)據(jù)處理計(jì)算軟件中的應(yīng)用。從保證該軟件實(shí)時(shí)性、可靠性、準(zhǔn)確性的角度出發(fā),本文據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)方案:根據(jù)環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)的約束條件和使逑到峁掛醞餳芄溝腣操作系統(tǒng)裁剪;定制開(kāi)發(fā)了基于作,并按照各個(gè)模塊要實(shí)現(xiàn)的功能以及多任務(wù)思想進(jìn)行編程實(shí)現(xiàn);針對(duì)環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)的功能需求,進(jìn)行了軟件功能測(cè)試,驗(yàn)證了本軟件整體功能的可行性,達(dá)到了設(shè)計(jì)要求。該論文的研究完成后,環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件

2、在目前功能的基礎(chǔ)上,增加了操作系統(tǒng)作為應(yīng)用軟件的支撐平臺(tái),應(yīng)用軟件可采用多種任務(wù)共同完成復(fù)雜的功能,處理大量數(shù)據(jù)。如此便可在降低系統(tǒng)復(fù)雜度的同時(shí)滿(mǎn)足功能和性能的需求,滿(mǎn)足飛行器環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)的任務(wù)需求。同時(shí)其具體分析、設(shè)計(jì)、驗(yàn)證的結(jié)果還可以為今后其它航天飛行器同類(lèi)產(chǎn)品的設(shè)計(jì)提供參考和建議。 瑀籨猵; 琣, 珻 第一章緒論課題背景及來(lái)源載人航天飛行相比較人造衛(wèi)星有著特殊的任務(wù)要求,所以載人航天飛行是一項(xiàng)非常復(fù)雜且安全可靠性要求很高的系統(tǒng)工程。環(huán)境控制與生命保障系統(tǒng)簡(jiǎn)稱(chēng)蚧房厴窒低是載人航天飛行器的一個(gè)關(guān)鍵組成部分,承擔(dān)了飛行器艙內(nèi)環(huán)境控制、生命保障、應(yīng)急生命保障和防滅火安全技術(shù)等任務(wù),在密閉的

3、飛船艙內(nèi)創(chuàng)造一個(gè)安全適宜的生存環(huán)境,其工作性能直接關(guān)系到航天員的健康和生命安全】。環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)作為環(huán)控生保分系統(tǒng)管理和控制的核心,對(duì)整個(gè)飛行器任務(wù)的完成起著舉足輕重的作用,從飛船到空間站,飛行器的系統(tǒng)越來(lái)越龐大復(fù)雜,飛行器飛行時(shí)間也由現(xiàn)在的幾天幾周到未來(lái)的幾年,環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)需要處理的數(shù)據(jù)量也大幅增加,因此需要一個(gè)性能,可髕德路串口通道與環(huán)控檢測(cè)設(shè)備通訊路串口通道用于內(nèi)部雙機(jī)串口通訊環(huán)控?cái)?shù)據(jù)處理應(yīng)用軟件為運(yùn)行于環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)上的嵌入式軟件,是一個(gè)主備冷冗余計(jì)算機(jī)系統(tǒng)。環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)的主、備機(jī)硬件完全相同。環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)完成以下功能:對(duì)環(huán)控生保分系統(tǒng)各終端設(shè)備參數(shù)的采集和處

4、理;對(duì)環(huán)控生保分系統(tǒng)相關(guān)部件的控制,發(fā)出控制指令;通過(guò)串口與環(huán)控檢測(cè)裝置和總線(xiàn)接口與數(shù)管惺萃?;涂偩€(xiàn)接收總線(xiàn)命令、傳感器數(shù)據(jù);完成裝置及軟件自檢;完成環(huán)數(shù)雙機(jī)冗余管理,完成對(duì)傳感器系 數(shù)的更新等。本文研究的意義以滿(mǎn)足型號(hào)需求。足未來(lái)航天計(jì)算機(jī)的應(yīng)用需要。 第一章緒論的多個(gè)航天其上經(jīng)過(guò)飛行驗(yàn)證,該操作系統(tǒng)具備的功能和性能可以滿(mǎn)足航天計(jì)算機(jī)嵌入式軟件的需求。理計(jì)算機(jī)軟件的設(shè)計(jì)與實(shí)現(xiàn),設(shè)計(jì)出滿(mǎn)足飛行器環(huán)控?cái)?shù)據(jù)處理任務(wù)的需求及后續(xù)飛行器環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件,以滿(mǎn)足未來(lái)空間站環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)的需求。本課題的研究完成后,在飛行器艙內(nèi)環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件目前功能的基礎(chǔ)上,增加了操作系統(tǒng)作為應(yīng)用軟件的支

5、撐平臺(tái),并且根據(jù)工程應(yīng)用,針對(duì)采用多種任務(wù)共同完成復(fù)雜的功能,處理大量數(shù)據(jù),如此便可在降低系統(tǒng)復(fù)雜度的同時(shí)滿(mǎn)足功能和性能的需求,滿(mǎn)足飛行器環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)的任務(wù)需求。同時(shí)其具體分析、設(shè)計(jì)、驗(yàn)證的結(jié)果還可以為今后其它航天飛行器同類(lèi)產(chǎn)品的設(shè)計(jì)提供參考。本文章節(jié)安排軟件,包括軟件設(shè)計(jì)方法、實(shí)現(xiàn)過(guò)程和相關(guān)細(xì)節(jié)等問(wèn)題,對(duì)相關(guān)知識(shí)背景做了介紹,包括僮饗低車(chē)奶氐愫妥槌桑寮噸職目7鞒毯蚔操作系統(tǒng)的裁剪方法等論文的結(jié)構(gòu)安排如下:對(duì)僮饗低車(chē)哪諍四?樽雋訟晗附檣埽詈蠼檣芰藇操作系統(tǒng)的裁剪方法。任務(wù)思想進(jìn)行劃分,把系統(tǒng)分為應(yīng)用層和底層兩部分,并將應(yīng)用層分為五個(gè)模塊:數(shù)值計(jì)算、狀態(tài)分析和控制處理、數(shù)據(jù)組幀、通訊處理和

6、冗余管理:底層模塊分定時(shí)器服務(wù)處理、傳感器數(shù)據(jù)更新和處理。然后就各個(gè)模塊要實(shí)現(xiàn)的功能 測(cè)試方法。 推出的一個(gè)實(shí)時(shí)操作系統(tǒng),是專(zhuān)門(mén)為實(shí)時(shí)嵌入式系統(tǒng)設(shè)計(jì)開(kāi)發(fā)的操作系統(tǒng)內(nèi)核,為程序員提供了高效的實(shí)時(shí)多任務(wù)調(diào)度、中斷管理,實(shí)時(shí)的系統(tǒng)資源以及實(shí)時(shí)的它以其良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中。環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)采用的狤要選擇適當(dāng)模塊來(lái)裁剪和配置系統(tǒng),這有效地保證了系統(tǒng)的安全性和可靠性。系統(tǒng)的鏈接器可按應(yīng)用的需要自動(dòng)鏈接一些目標(biāo)模塊。這樣,通過(guò)目標(biāo)模塊之間的按需組合,可得到許多滿(mǎn)足功能需求的應(yīng)用。輔以時(shí)間片輪轉(zhuǎn)調(diào)度方式,這一調(diào)度策略使操作系統(tǒng)能夠

7、響應(yīng)高優(yōu)先級(jí)的任務(wù),而且任務(wù)本身的開(kāi)銷(xiāo)也非常小,實(shí)現(xiàn)了很好的實(shí)時(shí)性; 運(yùn)行環(huán)境見(jiàn)可以方便的移植。 管理與調(diào)度、任務(wù)同步與通信、中斷管理、內(nèi)存管理等。疧、與嬡蕕拇捍鍵嘀指袷交疐約癙接口的異步疧,因此可以快速靈活的對(duì)設(shè)備和文件進(jìn)行操作。、蚑齲視糜誆煌撓沒(méi)肪場(chǎng)齎的疧系統(tǒng),相同或不同種類(lèi)的文件系統(tǒng)。上層網(wǎng)絡(luò)協(xié)議的可移植性。而且提供了包括、峁誦檳餑詿嬤鄭鏡腗和可選的琕軟件設(shè)計(jì)時(shí)通常將應(yīng)用劃分成獨(dú)立的、相互作用的程序集合。對(duì)于每個(gè)程序,當(dāng)其執(zhí)行時(shí),我們稱(chēng)之為任務(wù)。多任務(wù)提供一種機(jī)制,使得應(yīng)用可以控制響應(yīng)多重的、離散的現(xiàn)實(shí)世界中的事件。一個(gè)多任務(wù)的環(huán)境允許將實(shí)時(shí)應(yīng)用構(gòu)造成一套獨(dú)立的任務(wù)集合,每個(gè)任務(wù)擁有各自

8、的執(zhí)行線(xiàn)程和自己的系統(tǒng)資源集合,完成不同的功能。系統(tǒng)運(yùn)行過(guò)程中,系統(tǒng)內(nèi)核并不以獨(dú)立的形式存在,沒(méi)有自己的任務(wù)。當(dāng)系統(tǒng)時(shí)系統(tǒng)內(nèi)核的任務(wù)可以直接或共享訪(fǎng)問(wèn)大多數(shù)系統(tǒng)資源,同時(shí)擁有足夠的分離的上下文來(lái)維護(hù)各自的控制線(xiàn)程。這些任務(wù)共同合作來(lái)實(shí)現(xiàn)整個(gè)系統(tǒng)的功能。多 任務(wù)由系統(tǒng)內(nèi)核調(diào)度運(yùn)行。在上下文交換時(shí),任務(wù)的上下文保存在任務(wù)控制任務(wù)的執(zhí)行點(diǎn)、也就是任務(wù)的程序計(jì)數(shù)器。 系統(tǒng)內(nèi)核模塊主要具備以下的功能:基于優(yōu)先級(jí)搶占式的任務(wù)調(diào)度內(nèi)核;消息隊(duì)列和信號(hào)量管理功能;中斷管理功能。內(nèi)存管理功能任務(wù)管理與調(diào)度任務(wù)是系統(tǒng)內(nèi)核分配的可調(diào)度的最小單位;它在操作系統(tǒng)軟件環(huán)境中是不可進(jìn)一步劃分的最小單元;每個(gè)任務(wù)相對(duì)于處理器

9、的執(zhí)行體是進(jìn)程,不同任務(wù)在自己的執(zhí)行進(jìn)程中并發(fā)運(yùn)行,競(jìng)爭(zhēng)系統(tǒng)資源;一個(gè)任務(wù)執(zhí)行一個(gè)緊密相關(guān)的計(jì)算序列,而這樣的不同計(jì)算序列可以并發(fā)執(zhí)行。在多任務(wù)環(huán)境中,多個(gè)任務(wù)共享一個(gè)撾竦鞫裙芙獵時(shí)間適當(dāng)分配給各任務(wù),以使多任務(wù)協(xié)調(diào)運(yùn)行。系統(tǒng)內(nèi)核中提供調(diào)度能力的模塊是調(diào)度器。調(diào)度器的主要功能是為彼此競(jìng)爭(zhēng)資源的各種進(jìn)程分配處理器的運(yùn)行時(shí)間。調(diào)度器使用基于優(yōu)先級(jí)搶占算法分配處理器,使用此算法可以在各個(gè)優(yōu)先級(jí)對(duì)應(yīng)的就緒進(jìn)程隊(duì)列的內(nèi)部實(shí)現(xiàn)輪轉(zhuǎn)調(diào)度的特性。從而保證,在任何情況下正在處理器上執(zhí)行的進(jìn)程都是所有處于就緒狀態(tài)的進(jìn)程中優(yōu)先級(jí)最高的一個(gè)。調(diào)度器在軟件運(yùn)行過(guò)程中,選擇最合適的任務(wù)調(diào)入羅表示搶占 進(jìn)程搶占控制:當(dāng)一個(gè)

10、進(jìn)程持有處理器控制時(shí),優(yōu)先級(jí)的占先模式會(huì)隨時(shí)準(zhǔn)任務(wù)運(yùn)行狀態(tài):圖任務(wù)狀態(tài)轉(zhuǎn)移圖 之一時(shí),該任務(wù)就會(huì)進(jìn)入就緒態(tài):任務(wù)延時(shí)到時(shí);系統(tǒng)啟動(dòng)處于掛起態(tài)的任務(wù)時(shí);處于阻塞狀態(tài)的任務(wù)待阻塞的條件滿(mǎn)足時(shí)。阻塞態(tài):當(dāng)一個(gè)任務(wù)等待某種資源不可獲得時(shí),這個(gè)任務(wù)處于阻塞狀態(tài)。在獲得了等待的資源后,任務(wù)可由阻塞態(tài)轉(zhuǎn)入就緒態(tài)。延遲態(tài):一個(gè)任務(wù)睡眠一段時(shí)間,即延遲執(zhí)行一段時(shí)間。執(zhí)行這個(gè)系統(tǒng)調(diào)用的任務(wù)在延遲時(shí)間間隔到時(shí)之前一直處于延遲狀態(tài),時(shí)間間隔到時(shí),任務(wù)將會(huì)恢復(fù)為就緒狀態(tài)。掛起態(tài):主要用于調(diào)試的一個(gè)輔助狀態(tài),掛起禁止任務(wù)的執(zhí)行。并可通過(guò)“就緒任務(wù)”系統(tǒng)調(diào)用恢復(fù)任務(wù)的就緒狀態(tài)。為了控制任務(wù)的執(zhí)行,系統(tǒng)內(nèi)核必須能夠掛起當(dāng)前運(yùn)

11、行的任務(wù),而恢復(fù)其他先前被掛起任務(wù)的執(zhí)行,這種操作即任務(wù)切換,進(jìn)程切換或稱(chēng)上下文切換。調(diào)度器負(fù)責(zé)將處理器分配給后繼進(jìn)程。進(jìn)行一個(gè)上下文切換時(shí),調(diào)度器保存當(dāng)前進(jìn)程的上下文,并且恢復(fù)將獲得處理器的進(jìn)程的上下文。保存和恢復(fù)上下文的過(guò)程是存儲(chǔ)調(diào)入所有有關(guān)進(jìn)程的重要信息,使進(jìn)程可以繼續(xù)執(zhí)行,不受進(jìn)程切換過(guò)程影響。進(jìn)行上下文切換必須保存或恢復(fù)的所有信息位于進(jìn)程控制塊中。根據(jù)需要分配進(jìn)程的堆??臻g,并進(jìn)行初始化;根據(jù)需要分配用戶(hù)控制例程線(xiàn)程并沒(méi)有立即啟動(dòng),而是處于掛起狀態(tài),只有執(zhí)行啟動(dòng)這個(gè)線(xiàn)程的系統(tǒng)調(diào)用,它才能轉(zhuǎn)入就緒狀態(tài)。用于將調(diào)用線(xiàn)程或其它線(xiàn)程設(shè)置為掛起狀態(tài)。直到應(yīng)用程序執(zhí)行“就緒任務(wù)”之后,任務(wù)才退出

12、掛起狀態(tài)?!叭蝿?wù)掛起”所執(zhí)行的主要操作就是將任務(wù)狀態(tài)轉(zhuǎn)換為掛起狀態(tài)。在這個(gè)執(zhí)行過(guò)程中,系統(tǒng)將首先將線(xiàn)程的狀態(tài)設(shè)置為掛起狀態(tài),接著將這個(gè)線(xiàn)程從其所在的就緒線(xiàn)程隊(duì)列中刪除,再根據(jù)需要調(diào)整系統(tǒng)的優(yōu)先級(jí)結(jié)構(gòu),最后計(jì)算系統(tǒng)將調(diào)度的下一個(gè)線(xiàn)程,必要時(shí)設(shè)置進(jìn)行線(xiàn)程切換的標(biāo)志。“就緒任務(wù)”用于恢復(fù)一個(gè)線(xiàn)程的執(zhí)行狀態(tài),允許它再次競(jìng)爭(zhēng)處理器和其它資源。負(fù)責(zé)將處于延遲狀態(tài)的線(xiàn)程轉(zhuǎn)換到就緒狀態(tài),使用這個(gè)功能,線(xiàn)程可以基于其當(dāng)前優(yōu)先級(jí)競(jìng)爭(zhēng)處理器和其它系統(tǒng)資源。線(xiàn)程啟動(dòng)之后,調(diào)度器就可以對(duì)它進(jìn)行調(diào)度,在適當(dāng)?shù)臅r(shí)候?qū)⑵疝D(zhuǎn)入執(zhí)行狀態(tài)。 在多任務(wù)環(huán)境中,多個(gè)任務(wù)之間不可避免的存在相互協(xié)同的關(guān)系,需要進(jìn)行同的上下文進(jìn)行訪(fǎng)問(wèn)。如下

13、圖所示圖共享內(nèi)存機(jī)制互斥信號(hào)量:為解決內(nèi)在互斥問(wèn)題、優(yōu)先級(jí)繼承、刪除安全以及遞歸問(wèn)題等 計(jì)數(shù)信號(hào)量:類(lèi)似于二進(jìn)制信號(hào)量,但其跟蹤信號(hào)量被釋放的次數(shù),適用于單個(gè)資源多個(gè)實(shí)例需要保護(hù)的情況。以二值信號(hào)量為例說(shuō)明處理流程,如圖、圖所示。二進(jìn)制信號(hào)量可以看成一個(gè)標(biāo)志,對(duì)應(yīng)資源是可用還是不可用。當(dāng)一個(gè)任務(wù)任務(wù)立即繼續(xù)執(zhí)行;如果信號(hào)量不可用,任務(wù)會(huì)被阻塞來(lái)等待信號(hào)量。圖獲取信號(hào)的處理流程 圖釋放信號(hào)的處理流程內(nèi)核提供了統(tǒng)一的接口對(duì)信號(hào)量進(jìn)行控制,除信號(hào)量創(chuàng)建由信號(hào)量類(lèi)型決定外,對(duì)信號(hào)量的操作函數(shù)相同。表為信號(hào)量操作主要的函數(shù)接口表。表信號(hào)量庫(kù)函數(shù)接口分配和初始化二進(jìn)制信號(hào)量分配和初始化互斥信號(hào)量分配和初始

14、化技術(shù)信號(hào)量釋放信號(hào)量將所有等待該信號(hào)的任務(wù)喚醒信號(hào)量能解決多任務(wù)間協(xié)調(diào)問(wèn)題,但因傳遞的信息有限,還遠(yuǎn)遠(yuǎn)不能滿(mǎn)足任 圖消息隊(duì)列示意圖稱(chēng)、能排列的消息最大數(shù)目及每個(gè)消息的最大長(zhǎng)度等信息。與消息隊(duì)列類(lèi)似,中斷服務(wù)程序能夠向管道寫(xiě)入,但不能從管道讀取。管道提供了一個(gè)消息隊(duì)列不具備的總要特性。中斷管理在嵌入式系統(tǒng)中,除任務(wù)外,中斷處理是另外的一個(gè)執(zhí)行線(xiàn)程單元,系統(tǒng)通常都是通過(guò)中斷與外部設(shè)備進(jìn)行交互。中斷處理不歸屬于操作系統(tǒng)內(nèi)核調(diào)度,而行時(shí)會(huì)保護(hù)好現(xiàn)場(chǎng),將原任務(wù)的臨時(shí)變量、程序計(jì)數(shù)器、寄存器等壓到堆棧里,等到中斷執(zhí)行完成后再恢復(fù)。中斷處理一般分為中斷響應(yīng)和中斷處理兩個(gè)步驟。中斷響應(yīng)由硬件觸發(fā),中斷處理由

15、軟件實(shí)現(xiàn)。械鬧卸洗砉?jié)?篬 中斷處理流程見(jiàn)圖。中斷向量表執(zhí)行順序事件圖中斷處理流程內(nèi)存管理誦惺鋇哪詿娌季秩繽盡 一 共享數(shù)據(jù)獠糠摯占涫怯閃礁齪甓逍緯蒘,與所要求內(nèi)存長(zhǎng)度的內(nèi)存塊,則結(jié)束搜索。然后該算法從所找到的內(nèi)存塊中劃分出所要求大小的內(nèi)存空間分配給用戶(hù),并把余下的部分進(jìn)行合并,合并后的內(nèi)存 運(yùn)行所必須的功能模塊,同時(shí)去掉一些冗余代碼,以減少操作系統(tǒng)尺寸和提高安應(yīng)用程序開(kāi)發(fā)過(guò)程中的應(yīng)用晗贛迷詰謁惱輪薪脅,可確定使用到得管理、消息隊(duì)列管理、任務(wù)管理與調(diào)度、內(nèi)存管理、中斷管理等操作系統(tǒng)基本功根據(jù)前面對(duì)操作系統(tǒng)裁剪需求的分析,以及操作系統(tǒng)正常運(yùn)行所需的功能模 。焉叩臹,騭操作系統(tǒng)模塊進(jìn)行模塊級(jí)裁剪,

16、以得到所需模塊與別的模塊之間的關(guān)聯(lián)關(guān)系等信表 媧髖渲硬件 菩藕帕剖藕帕斐斐撾根據(jù)第一步中所得到的功能模塊可以清楚的知道那些大模塊在最后的軟件運(yùn)如蹲榧絳騞組件、遠(yuǎn)程調(diào)用榧僮饗低車(chē)魘宰榧、僮饗低辰涌謐榧絳虻魘詗及調(diào)試協(xié)議榧鏽、路由卻及組件等,這些內(nèi)容都是以獨(dú)立的文件夾存在的,因此可將這些功根據(jù)表中所列的操作系統(tǒng)模塊,可知哪些源碼文件是在軟件運(yùn)行過(guò)程中用、廡苣?槎際塹賴(lài)模瓹文件,然后對(duì)這些內(nèi)核源碼中不會(huì)被編譯的源碼文件及的進(jìn)行裁剪;用的接口函數(shù)表確定出哪些函數(shù)不會(huì)被應(yīng)用程序調(diào)用,然后對(duì)這些不會(huì)被應(yīng)用程荢裁剪 對(duì)開(kāi)發(fā)環(huán)境中不使用的頭文件進(jìn)行裁剪,只保留與裁剪后內(nèi)核相對(duì)應(yīng)的頭文件,并對(duì)保留的頭文件與編程

17、語(yǔ)言和處理器結(jié)構(gòu)相關(guān)的條件編譯進(jìn)行修改。對(duì)頭文件中不使用的函數(shù)和變量引入聲明進(jìn)行了修改,只保留內(nèi)核中包含的函數(shù)和變量聲明。在每個(gè)模塊文件夾的文件中,都有各源碼文件的編譯鏈接對(duì)象目標(biāo)文件,針對(duì)以上裁剪,將已經(jīng)裁剪掉的源文件從路徑中刪除。譯出裁剪版的操作系統(tǒng)庫(kù)文件。僮饗低巢眉敉瓿珊螅綽胛募幼畛醯觶跎俚個(gè),代碼行數(shù)從最初的萬(wàn)行,減少到目前的蛐校鈧氈嘁氳玫降腣上述整個(gè)過(guò)程中的每個(gè)步驟,操作系統(tǒng)內(nèi)核都進(jìn)行了嚴(yán)格的功能驗(yàn)證和測(cè)試,裁剪后操作系統(tǒng)運(yùn)行正常。本章小結(jié)本章深入分析了諍恕諞喚誚蠽操作系統(tǒng)的概述,介紹了僮饗低車(chē)姆購(gòu)?fù)夏[矗壞詼誚檣芰薞操作系統(tǒng)的特點(diǎn)和組成,從僮饗低車(chē)撓諾惴矯娼辛瞬觶玍的功能模塊組成信號(hào)

18、量、消息隊(duì)列和管道等任務(wù)間通信方式;第六節(jié)分析了中斷管理機(jī)制,對(duì)中 理論基礎(chǔ)。 第三章基于芄溝陌寮噸職麭開(kāi)發(fā)第三章基于芄溝陌寮噸職麭開(kāi)發(fā)支持硬件初始化、中斷處理、硬件時(shí)鐘管理、地址映射、內(nèi)存大小確定等。在低持校珺是介于底層硬件和上層軟件之間的底層軟件開(kāi)發(fā)包,它主要用來(lái)屏蔽底層硬件,在硬件驅(qū)動(dòng)程序和操作系統(tǒng)之間提供了一個(gè)標(biāo)準(zhǔn)接口,通過(guò)該接口,操作系統(tǒng)內(nèi)核和應(yīng)用程序可以進(jìn)行硬件系統(tǒng)的初始化并調(diào)用外設(shè)的驅(qū)動(dòng)程序接口管理系統(tǒng)外設(shè)。痮十 繕募稍次募肺募繞淥募萇傻奈募蛌存檔庫(kù)上上上上抵 第三章基于芄溝陌寮噸職麭開(kāi)發(fā)有:被啟動(dòng)的任務(wù)“”;堆棧的大小;可用內(nèi)存的起始點(diǎn);內(nèi)存的頂端地址。甤:初始化疧系統(tǒng);初始化

19、驅(qū)動(dòng)程序;創(chuàng)建設(shè)備;用來(lái)產(chǎn)生用戶(hù)的應(yīng)用。7且桓鮒鴆皆黽庸艿墓蹋嚀騫倘縵攏骸】因此我們選用了芄溝腂模板進(jìn)行修改設(shè)計(jì)。調(diào)試方法。魘苑誑7過(guò)程中是最常用的一種方法。其過(guò)程設(shè)備校煞掄嫫韉腃在目標(biāo)設(shè)備的硬件環(huán)境下運(yùn)行來(lái)調(diào)試軟件。如圖所調(diào)試方法。目標(biāo)設(shè)備通過(guò)并口與逝淦髁櫻鳥(niǎo)適配器通 諍械魘苑愕啤檬靜韃飭科仁侄蔚魘訠,類(lèi)似在調(diào)試應(yīng)機(jī)與目標(biāo)設(shè)備之間的通信。咎峁聳視糜詬髦痔寤峁溝腂模板,本課題首先在躢目錄下新建“蔽募兇魑N頤荁開(kāi)發(fā)的目錄,行饕M瓿扇糠止鰨浩簾沃卸希跏薊疌;配置內(nèi)存系統(tǒng);初始化 第三章基于芄溝陌寮噸職麭開(kāi)發(fā)畇包含設(shè)備或系統(tǒng)相關(guān)的匯編語(yǔ)言函數(shù)。喊璞富螄低誠(chéng)喙氐腃語(yǔ)言函數(shù)。喊諫璞趕喙氐暮甓澹鏑頻率、等

20、待周期配置等。:用戶(hù)命令行下的編譯,控制映像文件的生成。其中定義了若干宏變量。由前面章節(jié)可知,巧璞剛舳韉幕?,B的定制需要根據(jù)環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)的硬件配置需求進(jìn)行。根據(jù)環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)的工作需求,選用的啟動(dòng)方式為基于腣映段從邪嵋浦罵中,然后將控制權(quán)轉(zhuǎn)移給械腣映像的初始化代碼,初始化進(jìn)行、堆棧等初始化工作。分別配置為和配置為,駼為了精簡(jiǎn)柯跡梢愿萑砑棖笊境鼴包中一些無(wú)關(guān)文件,包括甤、結(jié)果有錯(cuò)誤提示,則表示此函數(shù)在正常軟件流程中需要用到,不可刪除,反之說(shuō)明此函 進(jìn)入 魘訠息即可知道代碼運(yùn)轉(zhuǎn)流程等信息來(lái)進(jìn)行盲調(diào)。支持包:肂包組成模塊描述如下:相關(guān)實(shí)現(xiàn)程序跏薊?椋訟低襯諍四?橐糝的入口畇代碼。甤提供特定

21、目標(biāo)板的程序。系統(tǒng)依賴(lài)的程序,包括系統(tǒng)依賴(lài)的用匯編語(yǔ)言寫(xiě)的程序。畇甤配置系統(tǒng)時(shí)鐘和輔助時(shí)鐘的程序。時(shí)鐘定時(shí)器配置管理,下面針對(duì)這兩部分功能模塊進(jìn)行詳細(xì)介紹。標(biāo)板的初始化,完成數(shù)據(jù)段的搬移、非初始化數(shù)據(jù)段的初始化,并裝載響應(yīng)硬件設(shè)備的 第三章基于芄溝陌寮噸職麭開(kāi)發(fā)核的初始化過(guò)程,使得系統(tǒng)內(nèi)核模塊能夠在特定平臺(tái)上正常運(yùn)轉(zhuǎn)。渲煤統(tǒng)跏薊疌釉叵低砇映像萌撾裼美窗滄扒絳頡唇璞浮跏薊疺庫(kù)、調(diào)用應(yīng)用嚀宓某跏薊碳巒。甋甤圖系統(tǒng)初始化過(guò)程圖 成時(shí)鐘節(jié)拍,用戶(hù)設(shè)定數(shù)量的時(shí)鐘節(jié)拍形成定時(shí)器的延時(shí)。本章小結(jié) 第四章環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)第四章環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)需求分析需求分析在軟件開(kāi)發(fā)過(guò)程具有非常重要的

22、地位,按照軟件工程化的思想,首先對(duì)環(huán)采集實(shí)驗(yàn)艙內(nèi)環(huán)控生保分系統(tǒng)的各種測(cè)控參數(shù),并對(duì)其進(jìn)行算術(shù)平均濾波處理;對(duì)底層軟件采集到的數(shù)據(jù)進(jìn)行數(shù)值計(jì)算,并根據(jù)參數(shù)計(jì)算結(jié)果確定是否發(fā)出報(bào)警信根據(jù)計(jì)算的采集數(shù)據(jù)進(jìn)行狀態(tài)分析,根據(jù)分析結(jié)果對(duì)環(huán)控生保分系統(tǒng)內(nèi)的各相關(guān)控?fù)?jù),并接收總線(xiàn)指令和數(shù)據(jù);通過(guò)兩個(gè)獨(dú)立的接口與環(huán)控生保分系統(tǒng)相關(guān)設(shè)備、另一機(jī)環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件進(jìn)行數(shù)據(jù)通訊;完成對(duì)裝置及軟件的自檢,并根據(jù)自檢結(jié)果完成設(shè)備的冗余管理;性能需求包括:通過(guò)對(duì)上述功能及性能的需求分析可知,環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件具有如下特胗布涌詼啵杉刂浦噶睢敝印總線(xiàn)接口和串口等。從軟件功能的需求分析可知,環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件任務(wù)多、

23、接口復(fù)雜且對(duì)實(shí)時(shí)性要求比較高,如果仍采用傳統(tǒng)順序加中斷的軟件結(jié)構(gòu)進(jìn)行實(shí)現(xiàn),軟件結(jié)構(gòu)勢(shì)必會(huì)變 得異常復(fù)雜。因此必須采用操作系統(tǒng)和應(yīng)用程序相結(jié)合的方式進(jìn)行軟件開(kāi)發(fā)。這種方式數(shù)據(jù)處理計(jì)算機(jī)軟件的功能和性能需求,因此在環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的開(kāi)發(fā)中包功能中的系統(tǒng)時(shí)鐘和輔助時(shí)鐘配置管理功能。軟件總體設(shè)計(jì)及功能劃分通過(guò)前面的分析得知環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件功能多、接口復(fù)雜,因此我們?cè)谶M(jìn)行體系結(jié)構(gòu)設(shè)計(jì)時(shí)采用了分層的方法。這主要是因?yàn)橐粋€(gè)良好的分層結(jié)構(gòu)具備以下優(yōu)占【刀 第四章環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)有更強(qiáng)功能的構(gòu)件替換,上層的應(yīng)用程序也不會(huì)受到影響。為了使軟件結(jié)構(gòu)清晰,通過(guò)分層方法將環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件分

24、為兩層:應(yīng)用軟件部分和底層軟件部分,然后再根據(jù)功能不同在每個(gè)分層中劃分模塊設(shè)計(jì)。訊處理、冗余管理和控制底層軟件動(dòng)作等工作。根據(jù)應(yīng)用層軟件的任務(wù)需求,可確定應(yīng)用層軟件完成的是與硬件設(shè)備及操作系統(tǒng)無(wú)關(guān)的純軟件即可實(shí)現(xiàn)的任務(wù),因此應(yīng)用層軟件任務(wù)不需調(diào)用操作系統(tǒng)接口函數(shù),只需調(diào)用底層軟件提供的接口函數(shù)即可完成任務(wù)。據(jù)發(fā)送與接收,裝置自檢、串口通訊等工作。因底層軟件需完成的工作與多任務(wù)環(huán)境密切相關(guān)所以對(duì)操作系統(tǒng)接口函數(shù)進(jìn)行的調(diào)用工作全部放在底層軟件部分。應(yīng)用軟件、底層軟件、僮饗低掣瀉桶寮噸職的結(jié)構(gòu)如圖所示:應(yīng)用層軟件制處理。雙機(jī)內(nèi)部串口圖環(huán)控?cái)?shù)據(jù)處理軟件系統(tǒng)構(gòu)成圖 該模塊主要功能為調(diào)用底層接口函數(shù),獲取

25、采集數(shù)據(jù),判斷數(shù)據(jù)的有效性,如果數(shù)據(jù)有效,則對(duì)數(shù)據(jù)進(jìn)行計(jì)算,計(jì)算包括對(duì)采集參數(shù)的換算,如將采集的電壓值轉(zhuǎn)換為壓力值。對(duì)重要參數(shù)的數(shù)值進(jìn)行平均值的求取,獲取平均值。該模塊包括以下幾個(gè)子模塊:采集數(shù)據(jù)提取子模塊、數(shù)據(jù)有效性判別子模塊和參數(shù)公式換算子模塊。中是邏輯流程圖如下圖所示:圖采集數(shù)據(jù)提取流程圖據(jù)傳輸過(guò)程中是否存在錯(cuò)誤,來(lái)判斷采集數(shù)據(jù)是否有效;設(shè)計(jì)約束:計(jì)算采集數(shù)據(jù)是否有效算法:邏輯流程圖如下圖所示: 第四章環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)圖數(shù)據(jù)有效性判斷流程圖采樣值換算成電壓值;再將采集數(shù)據(jù)按對(duì)應(yīng)的公式進(jìn)行換算,轉(zhuǎn)換成物理量數(shù)據(jù),以浮點(diǎn)數(shù)表示,并且對(duì)重要參數(shù)取平均值。 圖參數(shù)公式換算流程圖該模塊

26、主要功能為根據(jù)數(shù)值計(jì)算的結(jié)果,完成對(duì)部件的狀態(tài)分析,分析環(huán)控分系統(tǒng)圖參數(shù)公式換算流程圖 第四章環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)規(guī)定合適進(jìn)行組幀。通信協(xié)議規(guī)定格式和內(nèi)容要求進(jìn)行組幀,總線(xiàn)通訊數(shù)據(jù)一共藎諭攀總線(xiàn)通訊數(shù)據(jù)每幀頭都有幀標(biāo)識(shí),幀尾無(wú)標(biāo)識(shí),幀標(biāo)識(shí)后有校驗(yàn)和邏輯流程圖如下圖所示:計(jì)算數(shù)組數(shù)據(jù)校驗(yàn)和圖數(shù)據(jù)組幀流程圖通訊處理模塊用來(lái)處理耐妒鶯痛赗的通訊數(shù)據(jù)。和數(shù)管之間通過(guò)型叮頭窒低郴房丶觳庾爸靡約爸鞅富渫齊串口進(jìn)行通 訊。通訊處理模塊主要包括一下子模塊:數(shù)管通訊、環(huán)控檢測(cè)裝置通訊、主備機(jī)通訊。軟件的傳感器數(shù)據(jù)更新模塊接口函數(shù)進(jìn)行數(shù)據(jù)更新??诎l(fā)送至分系統(tǒng)環(huán)控檢測(cè)裝置。邏輯流程圖如下圖所示:圖數(shù)據(jù)組幀流

27、程圖 第四章環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)底層接口模塊包括外部設(shè)備接口模塊和與應(yīng)用層軟件接口函數(shù)兩部分。外部設(shè)備接口模塊完成環(huán)控?cái)?shù)據(jù)處理裝置各外部設(shè)備控制接口的初始化和與應(yīng)用層軟件接口函數(shù)串口通信模塊、周期自檢模塊、定時(shí)器服務(wù)處理模塊,傳感器數(shù)據(jù)更新模塊、處理模塊等,以及各功能模塊與應(yīng)用層軟件接口函數(shù),完成應(yīng)用層調(diào)用此函數(shù)時(shí)返回應(yīng)用層軟件所需要的數(shù)據(jù)及信息。底層接口模塊具有以下幾個(gè)功能:信號(hào)采集和應(yīng)用層軟件接口函數(shù)該模塊主要完成采集參數(shù)的功能,并將數(shù)據(jù)存入緩沖區(qū)等待應(yīng)用層軟件調(diào)用。功能需求:采集環(huán)控生保分系統(tǒng)的各種測(cè)控參數(shù),并對(duì)其進(jìn)行算術(shù)平均濾波處理。設(shè)計(jì)約束:閱飭拷次采集并進(jìn)行數(shù)字濾波。放信號(hào)

28、量藕挪杉撾裰謝竦瞇藕帕縮后開(kāi)始采集,并且獲取信號(hào)量時(shí)首先要判斷是否超時(shí),并根據(jù)超時(shí)情況進(jìn)行信號(hào)采集任務(wù)管理。信號(hào)采集任務(wù)中首先對(duì)設(shè)備主備機(jī)狀態(tài)進(jìn)行采集,以供應(yīng)用層接口函數(shù)調(diào)用,然后開(kāi)始對(duì)環(huán)控生保分系統(tǒng)各傳感器組件的各種測(cè)控參數(shù)數(shù)據(jù)共沸藕漚醒凡杉懇宦沸藕挪杉次,然后通過(guò)溫瞬恚糇畬籩島妥钚擔(dān)溆路的平均值,將數(shù)據(jù)寫(xiě)入緩沖區(qū)等 調(diào)用操作系統(tǒng)接口函數(shù):。邏輯流程圖如下圖所示:【采集主備機(jī)狀態(tài)采集分系統(tǒng)數(shù)據(jù),上返回圖數(shù)據(jù)組幀流程圖該模塊主要完成控制指令的發(fā)送的功能,1峽刂貧髡方詿蔥兄噶畹耐郎鮮涑齙目刂菩藕盼個(gè)脈算法:控制指令發(fā)送任務(wù)發(fā)起后一直等待計(jì)數(shù)制信號(hào)量當(dāng)應(yīng)用層軟令,如有未執(zhí)行指令,將接收到的指令存入

29、指令隊(duì)列,如沒(méi)有未執(zhí)行指令,執(zhí)行相應(yīng)指沖寬度和脈沖之間間隔為應(yīng)用層傳遞的參數(shù)脈寬和脈寬間隔。邏輯流程圖如下圖所示: 第四章環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)士士粵返回圖數(shù)據(jù)組幀流程圖功能需求:通過(guò)芟囈涌謨朧芊窒低矯軟件進(jìn)行數(shù)據(jù)通訊;將應(yīng)用軟件處理后的數(shù)據(jù)、分系統(tǒng)工作狀態(tài)信號(hào)及報(bào)警信號(hào)及時(shí)上送數(shù)管分系統(tǒng);實(shí)現(xiàn)相關(guān)傳感發(fā)后,首先清總線(xiàn)中斷,然后讀取總線(xiàn)芯片畝顏恢剛耄緩笫頭判藕帕縮,芟咄度撾窕竦瞇藕帕縮后,先進(jìn)行堆棧指針的合法性判斷,如果堆棧據(jù)子地址和數(shù)據(jù)內(nèi)容確定總線(xiàn)通訊方式,如果是數(shù)據(jù)發(fā)送指令,將應(yīng)用層軟件組幀好的 第四章環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)該模塊主要完成通過(guò)串口與分系統(tǒng)環(huán)控檢測(cè)裝置和主備機(jī)間的

30、通信功能需求:通過(guò)串口實(shí)現(xiàn)與分系統(tǒng)環(huán)控檢測(cè)裝置的通信,完成數(shù)據(jù)的發(fā)送和接收的功能;通過(guò)雙機(jī)內(nèi)部串口,實(shí)現(xiàn)主備機(jī)之間的通信。設(shè)計(jì)約束:計(jì)算數(shù)據(jù)校驗(yàn)和,與數(shù)據(jù)幀中的校驗(yàn)和比較算法:串口通訊任務(wù)發(fā)起后會(huì)一直等待消息隊(duì)列和,當(dāng)串口產(chǎn)生中斷后,首先判斷串口狀態(tài)寄存器是否正確,如串口狀態(tài)寄存器無(wú)異常,讀取串口數(shù)據(jù),然后將數(shù)據(jù)存入消息隊(duì)列發(fā)送給串口通訊任務(wù)。當(dāng)應(yīng)用層軟件調(diào)用串口通訊接收數(shù)據(jù)函數(shù)后,根據(jù)應(yīng)用層命令接收串口數(shù)據(jù),并計(jì)算接收數(shù)據(jù)的校驗(yàn)和與接收到的數(shù)據(jù)中校驗(yàn)位進(jìn)行校驗(yàn),功能碼校驗(yàn),通過(guò)返回值告知應(yīng)用層軟件通信結(jié)果,并根據(jù)接收數(shù)據(jù)類(lèi)型的不同進(jìn)行超時(shí)判斷,通訊主動(dòng)方在超過(guò)設(shè)定時(shí)間沒(méi)有收到回應(yīng)報(bào)文時(shí)進(jìn)行發(fā)

31、送重試,如重試未成功,則向應(yīng)用層返回通訊錯(cuò)誤返回值。調(diào)用操作系統(tǒng)接口函數(shù):、。邏輯流程圖如下圖所示: 第四章環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)檢測(cè)結(jié)果寫(xiě)入“環(huán)數(shù)自檢狀態(tài)標(biāo)志”的相應(yīng)位置;自檢:將寫(xiě)攵畏殖部分,計(jì)算代碼段按字節(jié)累加,計(jì)算累加和,與預(yù)先存在械睦奐雍捅冉希綣嗟齲蟣礱鱎數(shù)據(jù)正常,否則,表明髡綺灰恢?jǐn)n蟣礱鱎工作異常,并將檢測(cè)結(jié)果寫(xiě)入“環(huán)數(shù)自檢狀態(tài)標(biāo)志”的相應(yīng)位置;調(diào)用操作系統(tǒng)接口函數(shù):。 功能需求:定時(shí)產(chǎn)生輔助時(shí)鐘中斷,每次時(shí)鐘中斷后在中斷處理程序中進(jìn)行處理以控制指令脈寬定時(shí)。算校驗(yàn)和,將數(shù)據(jù)分三塊寫(xiě)入存儲(chǔ)器。算法:軟件調(diào)用傳感器數(shù)據(jù)更新接螅崾頭判藕帕縮,傳感器數(shù)據(jù)更新任務(wù)玡占浞治H??繖沃蜰

32、甯鑾蠐糜詿娣幀傳感器數(shù)據(jù)及校驗(yàn)軟件調(diào)用。邏輯流程圖如下圖所示: 第四章環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)釋放信號(hào)量上計(jì)算獲得數(shù)據(jù)的校驗(yàn)和進(jìn)行數(shù)據(jù)三取二比對(duì)返回當(dāng)出現(xiàn)異常時(shí)會(huì)進(jìn)入陷阱,為保證系統(tǒng)可靠性,需要對(duì)進(jìn)行針對(duì)性處理,并將信息下傳至地面。信息傳送給應(yīng)用層并針對(duì)不同進(jìn)行處理處理后,針對(duì)信息進(jìn)行異常處理,將號(hào)、系統(tǒng)錯(cuò)誤類(lèi)型和錯(cuò)誤地址 媧骺刪勒砦,在匭雌詡洌饔胕將硬件復(fù)位:指令訪(fǎng)問(wèn)一取指錯(cuò)誤莘夢(mèng)室斐葑霸卮砦、布砦螅拇嫫鞫汛砦。調(diào)用操作系統(tǒng)接口函數(shù):。是否是單比特錯(cuò)上結(jié)束 第四章環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)因采用分層設(shè)計(jì),應(yīng)用層軟件和底層軟件的交互都是通過(guò)接口函數(shù)的形式完成的,在軟件運(yùn)行過(guò)程中,應(yīng)用層通

33、過(guò)調(diào)用底層軟件的接口函數(shù)完成特定的工作,此部分接口函數(shù)由底層軟件提供給應(yīng)用層,底層軟件和應(yīng)用層軟件接口函數(shù)功能如表所示函數(shù)實(shí)現(xiàn)自檢功能并更新自檢信息采集模擬量數(shù)據(jù)模擬量采集模塊采集主備機(jī)狀態(tài)采集電機(jī)開(kāi)度值!猻定時(shí)器管理處理模塊獲取號(hào) 本章小結(jié) 第五章軟件測(cè)試與驗(yàn)證第五章軟件測(cè)試與驗(yàn)證測(cè)試內(nèi)容軟件測(cè)試是重要的軟件質(zhì)量保證活動(dòng),為了驗(yàn)證環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的設(shè)計(jì)是否滿(mǎn)足需求,需要進(jìn)行靜態(tài)測(cè)試、單元測(cè)試和功能測(cè)試,靜態(tài)測(cè)試和單元測(cè)試需要專(zhuān)門(mén)的測(cè)試軟件,動(dòng)態(tài)測(cè)試需要將環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件與裁剪進(jìn)行軟件功能測(cè)試。測(cè)試過(guò)程中如有測(cè)試用例不能達(dá)到的代碼,需要進(jìn)行人工走查,確定代碼無(wú)誤。靜態(tài)測(cè)試測(cè)試項(xiàng):測(cè)

34、試軟件是否滿(mǎn)足航天編程規(guī)范的要求,是否有不符合編程規(guī)范的代碼。航天編程規(guī)范是專(zhuān)門(mén)為航天器軟件編寫(xiě)的軟件編程規(guī)范,該規(guī)范規(guī)定了在航天器軟件編程中需要遵守的編程約定準(zhǔn)則,準(zhǔn)則分為強(qiáng)制類(lèi)規(guī)則和推薦類(lèi)規(guī)則:強(qiáng)制類(lèi)規(guī)則為應(yīng)執(zhí)行的規(guī)范,編程人員在軟件編程中必須嚴(yán)格執(zhí)行此規(guī)范;推薦類(lèi)規(guī)則為參考執(zhí)行的規(guī)范,編程人員可參考執(zhí)行。測(cè)試結(jié)果:環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件中無(wú)違反航天編程規(guī)范強(qiáng)制類(lèi)規(guī)范的代碼,有部分代碼違反推薦類(lèi)規(guī)范,對(duì)推薦類(lèi)規(guī)范違反處進(jìn)行人工走查,經(jīng)分析確定不會(huì)對(duì)軟件功能性能產(chǎn)生任何影響,環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件滿(mǎn)足航天編程規(guī)范的要求。單元測(cè)試靜態(tài)測(cè)試工具:測(cè)試項(xiàng):測(cè)試軟件的代碼語(yǔ)句覆蓋率、代碼分支覆蓋率和

35、條件判定覆蓋率都測(cè)試結(jié)果:環(huán)控?cái)?shù)據(jù)處理軟件的語(yǔ)句覆蓋率、分支覆蓋率和條件判定覆蓋率,滿(mǎn)足單元測(cè)試要求。 軟件功能測(cè)試首先需要建立軟件測(cè)試環(huán)境,環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件測(cè)試需要硬件環(huán)境和軟件環(huán)境如表、表所示表用于軟件測(cè)試環(huán)境的硬件、接口設(shè)備和固件通用機(jī),口,模擬控制指令通道,模擬產(chǎn)生模擬量輸入表用于軟件測(cè)試環(huán)境的硬件、接口設(shè)備和固件序號(hào)環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件憊斧環(huán)控計(jì)算機(jī)環(huán)控計(jì)算機(jī)軟件一測(cè)試平臺(tái)專(zhuān)檢習(xí)測(cè)試用計(jì)算機(jī)圖軟件測(cè)試環(huán)境圖 第五章軟件測(cè)試與驗(yàn)證弈踒口口弼碿?;l鑰警櫥臻豣詘牛烘甇內(nèi)目嘿隹諮沽溜搖窩鬢器:裎弧口圃一薨砍搬口夏船囊嬙揶云巧嘲御酗。螄;口盛版耣一示妻曼簍些鯉鯉事繁換事閘妻宴曼延塞蘧司

36、瑣躨壁箋生苧稿目型曼鯉防秈妻曼簍些墨事急灰钅墅陋;墅楚星里疆莖墨夏 啦曼曼構(gòu)鐋堡曼壁羔軁:仿鼴冉匐譬尋認(rèn)口冉司薯內(nèi)鑫蔈嶁螄,冉司奠葛一雎蕾息宅動(dòng)曩哭浴纋置壓甀蕖衰蕾鼢盛奠囊匿座舶翻酷:乎鞠瑚畫(huà)匿蕾量硝化正曩恢嘁,翌一一建壓并氣露開(kāi)圖總線(xiàn)指令發(fā)送 圈要衛(wèi)目愛(ài)曩壓玹瓣冉瞄夏入巨岫舶內(nèi)目爵夏艦巨臌口莊息壓疆鏖魅分疰盯簋盅筨趁巧酬蕺嘲島岫巧菇語(yǔ)謝蔽矗妊刖叫船哞撅:療掰眥曠劇到型剖劇劇劁劇劇舳E裭關(guān)于圖 第五章軟件測(cè)試與驗(yàn)證通過(guò)環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件測(cè)試平臺(tái)上位機(jī)軟件,對(duì)模擬量輸入進(jìn)行設(shè)置,模擬量輸入分別設(shè)置為、和,包含邊界值及正常值,然后通過(guò)測(cè)試平臺(tái)上位機(jī)軟件“常規(guī)遙測(cè)參數(shù)”界面觀(guān)察環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)

37、軟件采集的數(shù)據(jù)是否與模擬量輸入設(shè)置值一致。測(cè)試結(jié)果:環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件采集的數(shù)據(jù)與模擬量輸入設(shè)置值相同,信號(hào)采集功能正常。通過(guò)環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件測(cè)試平臺(tái)上位機(jī)軟件的“總線(xiàn)指令發(fā)送”功能控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件接收到總線(xiàn)指令后會(huì)轉(zhuǎn)發(fā)控制指令,因此此項(xiàng)測(cè)試可以控制指令反饋驗(yàn)證控制指令是否執(zhí)行正常,每條指令是否執(zhí)行三次,使用示波器測(cè)量控制指令脈沖寬度是否為士。測(cè)試結(jié)果:測(cè)試平臺(tái)上位機(jī)軟件控制指令反饋與發(fā)送的控制指令一致,控制指令發(fā)送正常,每一路控制指令脈沖寬度測(cè)量結(jié)果為士,每條控制指令執(zhí)模擬功能,試平臺(tái)上位機(jī)軟件的“常規(guī)遙測(cè)參數(shù)送顯”界面,遙測(cè)數(shù)據(jù)和分系統(tǒng)工作狀態(tài)信號(hào)及報(bào)警信號(hào)是否能夠正確下傳。

38、理計(jì)算機(jī)發(fā)送要數(shù)命令,觀(guān)察測(cè)試平臺(tái)“常規(guī)遙測(cè)參數(shù)送顯”界面,遙測(cè)數(shù)據(jù)和分系統(tǒng)工作狀態(tài)信號(hào)及報(bào)警信號(hào)是否能夠正確下傳。使用測(cè)試平臺(tái)上位機(jī)軟件發(fā)送數(shù)據(jù)注入命令,觀(guān)察觀(guān)察測(cè)試平臺(tái)上位機(jī)軟件的“常規(guī)遙測(cè)參數(shù)送顯”界面中的數(shù)據(jù)注入出錯(cuò)次數(shù),出錯(cuò)次數(shù)為零,說(shuō)明軟件運(yùn)行正常。 測(cè)試結(jié)果分析系統(tǒng)的優(yōu)越性。環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件任務(wù)較多,且邏輯關(guān)系復(fù)雜,使用好的為系統(tǒng)服務(wù),不會(huì)由于任務(wù)多而產(chǎn)生不必要的邏輯混亂。在環(huán)控?cái)?shù)據(jù)處理計(jì) 第五章軟件測(cè)試與驗(yàn)證是由僮饗低懲瓿傻?,V的中斷管理功能是非常高效和可靠的,提高了中斷切換時(shí)間,工作效率較之早期環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)使用的單片機(jī)平臺(tái)有了質(zhì)的提高,單片機(jī)中斷切換和管理需考慮寄存器的使用、時(shí)序關(guān)系等因素,不同優(yōu)先級(jí)的中斷,需要注意會(huì)嵌套執(zhí)行的中斷不能使用同一組寄存器,因此僅統(tǒng)就可節(jié)省大量工作量,并且單片機(jī)的軟件是完全順序執(zhí)行的,如果有多個(gè)任務(wù),只有當(dāng)一個(gè)任務(wù)完成后下一個(gè)任務(wù)才能得到執(zhí)行,沒(méi)有任務(wù)優(yōu)先級(jí)的說(shuō)法,而基多任務(wù)順利可靠的完成工作;并且經(jīng)過(guò)源碼級(jí)裁剪,最終軟件可執(zhí)行文件映像大件平臺(tái)上,及時(shí)環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)的硬件環(huán)境改變,對(duì)環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件并不會(huì)帶來(lái)太大影響。經(jīng)過(guò)各項(xiàng)嚴(yán)格測(cè)試,環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件現(xiàn)已通過(guò)驗(yàn)收,交付用戶(hù)使本章小結(jié)本章首先對(duì)環(huán)控?cái)?shù)據(jù)處理計(jì)算機(jī)軟件的測(cè)試工作進(jìn)行了描述,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論