www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]嵌入式微內核實時操作系統(tǒng)分析與測試

摘要:介紹嵌入式內核實時操作系統(tǒng)的體系結構;針對Wolf嵌入式操作系統(tǒng),設計一套微內核嵌入式操作系統(tǒng)測試實現方案。在Wolf操作系統(tǒng)支持下,已產業(yè)化的閱讀不耗電電子書(eBook)驗證了Wolf操作系統(tǒng)的可靠性。

    關鍵詞:嵌入式實時操作系統(tǒng)ERTOS 微內核 Wolf 軟件測試儀 eBook

1 嵌入式實時操作系統(tǒng)概述

嵌入式實時操作系統(tǒng)(ERTOS)是操作系統(tǒng)研究的一個重要分支,它與一般商用多任務OS,如UNIX,Windows等,最大的不同之處在于:商用多任務OS的目的是追求系統(tǒng)資源最大利用率和公平對待所有的系統(tǒng)請求;而ERTPS追求的是實時性、可確定性、可靠性。

自20世紀90年代以來,ERTOS發(fā)展迅速。國外著名商用EPTOS有:Wind River公司的VxWorks、IS(Integrated Systems)公司(2000年已被Wind River公司合并)的pSOS、AC(Accelerated Technology)公司的Nucleus等等。國外ERTOS很多,大多是針對不同應用的專用ERTOS或通用ERTOS。

與傳統(tǒng)的嵌入式系統(tǒng)軟件開發(fā)模式相比,雖然ERTOS會要求一些額外的開銷,但可以由現代微控制器的高速度、大存儲器以及產品提前進入市場的優(yōu)勢來彌補。優(yōu)秀的ERTOS可以對幾十個系列的嵌入式處理器MPU、微控制器MCU提供API接口。在此基礎上,可以編定出各川硬件驅動程序、產品庫函數,與通用性的應用程序一起作為產品銷售。

2 ERTOS——Wolf分析

嵌入式實時操作系統(tǒng)產品Wolf(南開津科ERTOS)是一個開放式的微內核實時操作系統(tǒng)。其基本設計思想是:

*低功耗(具有間歇式工作機制,支持哈偶結構);

*支持尖端智能輸入/輸出設備;

*支持微型大容量存儲卡(SM卡、SD卡等);

*本質安全,支持信息版權及安全保護;

*為第三方提供產品級的SDK。

具有以下特點:

*微內核結構;

*支持多種CPU產品;

*基于優(yōu)先級的搶占式調度和輪轉調度相結合的多任務調度;

*極小的內存開銷;

*高可用性、可靠性。

2.1 微內核體系結構

微內核體系結構是相對層次內核體系結構而言的。層次操作系統(tǒng)體系結構如圖1(a)所示,大部分或全部層次功能由內核實現,所有的接口功能只與相鄰層有關,系統(tǒng)和應用獨立,但其每一功能層的變化都會影響整個系統(tǒng),層間安全性低。微內核體系結構如圖1(b)所示,其基本思想是將原來屬于傳統(tǒng)如圖1(b)所示,其基本思想是將原來屬于傳統(tǒng)操作系統(tǒng)內核的一些功能和服務從內核中分出,以子系統(tǒng)(組件)的形式與內核或其它子系統(tǒng)相互作用。組件功能以服務進程的方式通過消息與微內核和其它組件相互通信來完成。微內核的主要功能就是消息交換:確認消息、在組件間傳送消息及準許對硬件操作。微內核結構的主要優(yōu)點是:系統(tǒng)具有統(tǒng)一的接口,擴展性、可靠性及支持分布式系統(tǒng)。

Wolf是一個具有微內核結構的嵌入式操作系統(tǒng),它由一個實時多任務內核和多個組件的集合組成。軟件組件都是獨立的標準構件塊,可以不用變更地從一個應用程序移到另一個應用程序。Wolf體系結構如圖2所示。

2.2 微內核剖析

Wolf多任務調度是動態(tài)基于消息觸發(fā)調度機制,任務切換由臨時事件驅動,任務間是內部同步,不同的任務能夠異步招待。Wolf內核負責維護系統(tǒng)中的所有任務的當前狀態(tài),所有任務具有以下四種狀態(tài)之一:

*就緒態(tài)(Ready),縮寫為R。一個就緒態(tài)任務是可運行的,等待高優(yōu)先級的任務釋放CPU。

*運行態(tài)(Run),縮寫為E。一個運行態(tài)的任務是一個正在使用CPU的就緒任務。任何時刻有且只有一個運行著的任務。

*阻塞態(tài)(Blocked),縮寫為B。一個任務被阻塞是由于任務自身的多個活動的必要手段。一個任務不能從就緒態(tài)到阻塞態(tài)。

*刮起態(tài)(Suspend)。一個掛起態(tài)的任務不能執(zhí)行,主要用于調試。

*任務調試程序維護1個或多個跟蹤每個任務狀態(tài)的內部列表。它有一個就緒列表和每個(任務正在等待的)同步對象的一個單獨受阻列表。就緒隊列前頭的任務是下一個要運行的任務。在受阻列表中的任何任務都被掛起,每當受阻列表中的一個任務等待的事情發(fā)生時,該任務就從受阻列表中被刪除,并被放到就緒列表中等待執(zhí)行、如圖3所示。

(1)多任務調度

任務調度是指根據一定的約束規(guī)定,將CPU分配給符合條件的任務使用。約束規(guī)則又稱為調度算法。Wolf內核采用多種調度算法分配CPU給處于Ready態(tài)(就緒態(tài))的任務。默認基于優(yōu)先級的搶占式調度算法,也支持基于時間片的輪轉(Round-Robin)調度算法。在嵌入式系統(tǒng)實時應用中,不是每次搶占都是合理的,非期待的搶占會導致系統(tǒng)出現無法預料的情況,Woif提供允許和禁止調度的功能調用實現禁止搶占機制。

(2)任務通信、同步、互斥機制

任務間通信機制是提供多任務間相互同步和通信,以協調獨立任務之間活動的機制。

①共享內存,提供數據共享。Woif采用簡單快速的禁止中斷手段保證共享數據被互斥訪問②消息隊列實現一CPU內多任務間通信和同步。Woif提供消息隊列函數庫創(chuàng)建、刪除、發(fā)送消息,消息隊列是動態(tài)建立的抽象對象,不綁定于任務一個任務。

3 微內核測試設計方案

設計嵌入式操作系統(tǒng)軟件測試方案時,我們根據系統(tǒng)分析的基本思想,定用判定表、功能矩陣將其劃分成狀態(tài)測試、系統(tǒng)調用功能測試。

(1)多任務狀態(tài)測試

下面運用判定表設計狀態(tài)轉移測試用例。首先確定狀態(tài)轉移活動(5類活動):

①運行態(tài)到阻塞態(tài)E→B;

②阻塞態(tài)到就緒態(tài)B→R;

③阻塞態(tài)到運行態(tài)B→E;

④就緒態(tài)到就緒態(tài)E→R。

⑤執(zhí)行態(tài)到就緒態(tài)E→R。

然后列出不同活動必須遵守的狀態(tài)轉換規(guī)則并編號。這里編號形式定義為:具體活動編號+數字序列編號。例如:用轉換規(guī)則編號③2,表明該規(guī)則是活動3必須遵守的第2條規(guī)則。

以下是部分轉換規(guī)則。

◇一個運行態(tài)的任務E變成阻塞態(tài)B(E→B):

①,它從一個空消息隊列中請求一個消息;或者②,它等待一個不會即將發(fā)生的事件條件;或者③,它請求一個當前不能提供的信號量標志;或者④,它請求一段目前不能提供的內存;或者⑤,它暫中止一個時間段或直到一個特殊的時刻。

◇一個阻塞態(tài)的任務B變成就緒態(tài)R(B→R):

①,B是消息等待隊列中的第一個任務,它等待的消息來到消息隊列中;或者②,一個事件發(fā)送給了B,滿足了它一直等待的事件的條件;或者③,一個信號量標志被返回,B是等待隊列中的第一個;或者④,返還的內存區(qū)允許分配給B;或者⑤,B一直在超時等待一個事件、消息、信號量或一個內存段(當超過時間間隔)。

◇一個阻塞態(tài)的任務B變成運行態(tài)(B→E):

任何一個(B→R)任務條件滿足,該任務運行優(yōu)先級就高于運行態(tài)任務,這個運行態(tài)任務是能被搶先的。

◇一個就緒態(tài)的任務R會變成運行態(tài)任務(R→E),在當前運行態(tài)任務是:

①阻塞;或者②,可搶占。R有較高的優(yōu)先級。

◇一個運行態(tài)的任務R會變成就緒態(tài)任務(E→R),當:

①任何一個阻塞狀態(tài)的任務B滿足了(E→R)的發(fā)生條件(由于當前E或一個ISR系統(tǒng)調用);或者②,滿足(R→E)的2至4條件中的任何一個條件發(fā)生。

最后,確定判定條件,建立判定表。這里有3個判定條件:當前狀態(tài)是E,或當前狀態(tài)是B,或當前狀態(tài)是R。如滿足對應規(guī)則,則填寫“Y”,不滿足對應規(guī)則,則填寫“N”。如果在判定條件的規(guī)則下,進行的活動正確,則用“√”確認,錯誤用“×”確認,尚未測試用“□”確認,無關用“⊙”確認。

表1為任務狀態(tài)判定表(部分)。

表1 任務狀態(tài)判定表(部分)

條  件 ①1 ①2 ①3 ①4 ①5 ②1 ②2 ②3 ②4 ②5
當前狀態(tài)E Y Y Y Y Y N N N N N
當前狀態(tài)B N N N N N Y Y Y Y Y
當前狀態(tài)R N N N N N N N N N N
①E→B
②B→R
③B→E
④R→E
⑤E→R × × × × ×

表1顯示了測試活動1和活動2的正確性。其中滿足條件2的活動有2個,即活動2和活動5,但由于活動5并支持對應的規(guī)則,所以結果用“×”標示。

由表1可以看出,使用判定表明晰測試覆蓋,能保持測試的完備性和一致性。

(2)多任務功能測試

首先,分析Wolf的微內核功能,將其劃分成3個測試功能域:

①面向應用層的高級系統(tǒng)服務(調用)測試域。Wolf為應用層提供豐富的系統(tǒng)調用函數,將其細分為操作系統(tǒng)服務類、內存服務類、文件系統(tǒng)服務類、I/O服務類及調試平臺服務5類。

②面向內核的多任務調度測試、任務通信測試及內存測試域。

③面向低層硬件的設備驅動測試、時鐘測試、功耗測試域。

其次,將系統(tǒng)調用函數使用的數據類型分類,如表2所列。經過數據分類,使得上百個函數測試通過20多個數據類型的測試來實現,。提高測試效率。測試提供的統(tǒng)計數字為最后的測試失敗率、覆蓋率提供依據。(N1,N2,N3,N4,N5,N6分別代表測試的次數)

表2 系統(tǒng)調用數據類型分類

數據類型 函數調用的次數 測試用例測試的個數 測試域
①String N1 N4 應用層
②Buffer N2 N5 內核層
③Integer N3 N6 應用層
       

結束語

本文在嵌入式微內核操作系統(tǒng)Wolf測試過程中設計出有效的測試方案和方法,取得良好的效果。Wolf微內核操作系統(tǒng)研制成功以來,能夠支持多種便攜式信息處理設備,例如已產業(yè)化的閱讀不耗電電子書(eBook)。

Wolf作為電子閱讀應用軟件的開發(fā)和數字圖書館閱讀終端產品開發(fā)的有利支持系統(tǒng),與北大方正Apabi電子書籍網絡出版平臺系統(tǒng)及電子出版業(yè)相結合,帶給人們一個便攜式閱讀電子書籍的新時代。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉