999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種VxWorks平臺下的軟件看門狗設計缺陷及改進方法

2016-10-18 07:48:11蹇彪李佳
現代計算機 2016年16期
關鍵詞:系統設計

蹇彪,李佳

(工業和信息化部電子第五研究所,廣州510610)

一種VxWorks平臺下的軟件看門狗設計缺陷及改進方法

蹇彪,李佳

(工業和信息化部電子第五研究所,廣州510610)

介紹VxWorks平臺下基于定時器實現的軟件看門狗的一種設計缺陷,提供一種利用VxWorks中的信號量同步和任務優先級實現的改進方法。測試結果表明改進后的看門狗能夠有效地提高系統運行的可靠性。

VxWorks;看門狗;定時器;設計缺陷

0 引言

國防工業系統中,尤其是航空航天領域中的一些利用嵌入式計算機軟件作為控制核心的系統,如飛控系統、發動機控制系統等,通常需要工作在惡劣環境中,因此對系統可靠性的要求都比較高。這些系統的嵌入式軟件在運行過程中,可能由于硬件電路的干擾,造成軟件的異常跳轉,從而形成非設計的死循環,導致軟件“跑飛”、功能失效等異常情況,這時候軟件若不能及時復位重新恢復正常運行,可能導致整個系統任務失敗的嚴重后果。為了提高系統可靠性,這些系統通常都需要設計看門狗,在系統發生錯誤“跑飛”時,能夠及時地對系統進行復位,使系統從故障狀態下恢復正常運行。

1 看門狗

看門狗是指在系統中通過軟件或硬件方式在一定的時間周期內監控系統的運行狀況,如果在規定的時間內沒有收到來自系統的觸發信號,則將系統強制復位,以保證系統在受到干擾或故障時仍然能夠維持正常的工作狀態[1]。

單片機等無操作系統的嵌入式軟件屬于單任務應用,看門狗一般由寄存器、定時器和看門狗電路等部件構成,其原理如圖1所示。CPU正常工作過程中,寄存器計數值需要在一定的延時周期內被清零,如果沒有清零動作,看門狗電路將產生一個復位信號使系統重新啟動或者通過一個非屏蔽中斷執行故障恢復子程序。軟件設計邏輯如圖2所示,清看門狗計數器的命令必須在主程序內,如果看門狗沒有被清零,復位后軟件將從啟動程序(地址0x0000)開始運行[2]。因此設計看門狗時需要計算主程序的運行時間,通常選擇看門狗延時周期遠遠高于計算出的循環時間,或者在測試到的循環時間基礎上預留較大余量。

圖1 微處理器通過計數清除看門狗定時器

VxWorks、uC/OS、Linux等嵌入式操作系統都能夠支持多任務環境,因此這些平臺下嵌入式軟件的軟件結構也不再由單一的主循環和中斷服務函數構成,而是由若干個不同優先級的任務和中斷服務函數構成。由于操作系統在一定程度上降低了應用系統中軟件設計的工作量,所以這些平臺下嵌入式軟件的看門狗設計一般通過軟件方式實現。設計方式根據實際使用需求的不同可以分為以下兩種。一種是僅需要提供應用軟件的基本運行保護,通過設計一個看門狗定時中斷,在中斷服務程序中執行“喂狗”操作即可。當中斷服務程序異常,即系統已無法提供最基本的服務時執行復位重啟。另一種是需要保護特定的核心任務,通過設置一個更低級別的看門狗任務來守護核心任務,在看門狗任務中執行“喂狗”操作,當核心任務失敗時執行復位重啟[3]。

圖2 應用看門狗的程序設計基本流程

2 設計缺陷介紹

某機載系統的嵌入式軟件運行在VxWorks平臺下,該軟件作為整個系統的控制中樞,使用VxWorks的看門狗定時器設計了軟件看門狗,用于提高系統的運行可靠性。軟件結構如圖3所示。看門狗定時器設計在看門狗任務中,當軟件運行異常,看門狗任務無法輪詢分配到CPU運行時間時,看門狗定時器計數無法被及時清零,觸發看門狗“狗叫”,VxWorks系統復位,軟件重新啟動運行。

圖3 軟件結構圖

為了驗證看門狗對系統安全保護措施的有效性,在軟件測試過程中通過故障注入方式分別在各工作任務和通信任務中插樁注入包含延時語句的故障代碼,模擬軟件“跑飛”的異常運行情況。注入的故障代碼的觸發條件由與被測軟件通信的上位機下發的通信指令決定,以保證故障的觸發條件和觸發時機可控。測試結果如表1所示。

表1 看門狗測試結果

測試結果表明,該軟件看門狗僅能夠保護比看門狗任務優先級高的工作任務,無法保護低優先級任務。并且在高優先級的通信任務異常時,看門狗不但未成功復位,系統還出現了“假死機”現象。通過對問題現象的隔離分析,發現系統失去響應是因為看門狗定時器中斷執行復位失敗。當通信任務“跑飛”觸發看門狗定時器回調函數執行REBOOT進行復位時,系統需要先保存中斷現場,并將程序指針重新指向程序入口地址。但是由于此時通信任務正在轉發處理通信數據,堆棧數據量較大,導致中斷現場保存時間過長,定時器中斷被其他外部中斷打斷了處理過程而未能及時返回。軟件復位最終未能完成,程序指針未能成功指向程序入口地址,引起了VxWorks操作系統的任務調度紊亂、喪失實時性。

通過以上分析,定位了該軟件導致看門狗保護策略失效的設計缺陷為:①僅能保護比看門狗任務優先級高的任務;②在定時器中斷回調函數中執行了會導致中斷阻塞的REBOOT操作。

3 設計改進方法

VxWorks提供了二進制、互斥和計數等三種信號量用于實現任務間的通信、同步和互斥。由于互斥信號量不可以在中斷服務程序中釋放,計數信號量只是在二進制信號量基礎上增加了對信號量釋放次數的計數,而二進制信號量在經過高度優化后,是所有任務間通信機制中,速度最快、最常用的手段[4-5]。因此,針對上述軟件設計缺陷,利用二進制信號量對看門狗功能進行了設計改進。改進后的軟件結構如圖4所示。

主要改進措施為:①更改了看門狗喂狗操作所在任務和需要保護的工作任務的任務優先級,將看門狗喂狗操作放到低優先級任務中,比所有需要保護的工作任務的優先級低;②新建一個具有最高優先級的看門狗復位執行任務,以確保REBOOT復位動作能夠立即被執行;③刪除看門狗定時器中斷回調函數中的REBOOT操作語句,改為釋放復位信號量的方式通知具有最高優先級的看門狗復位任務執行REBOOT操作。

圖4 改進后的軟件結構圖

對改進后的軟件看門狗按照表1執行了回歸測試,所有測試結果均為通過。測試結果表明,任意工作任務、通信任務等出現異常“跑飛”情況下,系統均能夠觸發看門狗成功地執行復位重啟。

4 結語

本文介紹了VxWorks平臺下某機載系統嵌入式軟件中存在的一種看門狗設計缺陷,通過對軟件缺陷原因進行分析,提出了利用信號量同步和任務優先級實現的改進方法。通過回歸測試驗證表明,改進后的看門狗設計方法能夠有效地提高嵌入式系統運行的可靠性,具有較強的工程應用價值。

[1]李觀文,衣平,鄧英華.看門狗技術在改善系統可靠性中的應用.機床電氣[J],2005,1:26-27.

[2]王彬,李文新,李得天,劉禮.通過看門狗軟件設計提高抗干擾能力的方法.計算機技術與發展[J],2012,22(10):188-189.

[3]Kovacs G,Kiss B,Eric N.Watchdog–A Practical Approach of Fault Detection[C].Information Control Problems in Manufacturing.[s.l.]: [s.n.],2006:124-126.

[4]王才善,陳光武.基于VxWorks的實時多任務程序設計機制分析.鐵路計算機應用[J],2009,18(5):12-15.

[5]武華,劉軍偉.基于VxWorks的多任務程序設計.計算機技術與發展[J],2011,21(9):163-165.

JIAN Biao,LI Jia
(Research Center of Software Quality Engineering,CEPREI,Guangzhou 510610)

Introduces the design detect of software watchdog,which is implemented based on timer of VxWorks,provides an improvement method, which uses synchronized semaphore and task priority.Test results show that this method improves the reliability effectively of the system.

VxWorks;Watchdog;Timer;Design Detect

1007-1423(2016)16-0047-04DOI:10.3969/j.issn.1007-1423.2016.16.014

蹇彪(1987-),男,湖南常寧人,碩士,研究方向為嵌入式軟件測試

2016-05-04

2016-05-25Design Defect of Software Watchdog and Its Improvement Method Based on VxWorks

李佳(1988-),女,湖南長沙人,本科,研究方向為軟件可靠性

猜你喜歡
系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 综合人妻久久一区二区精品 | 制服丝袜亚洲| 精品天海翼一区二区| 成人免费黄色小视频| 日韩黄色在线| www.91中文字幕| 亚洲国产91人成在线| 日本午夜视频在线观看| 人妻中文字幕无码久久一区| 国产精品青青| 日韩福利视频导航| 天天色天天综合网| 精品人妻一区二区三区蜜桃AⅤ| 国产你懂得| 亚洲成a人片在线观看88| 噜噜噜综合亚洲| 青青草原国产一区二区| 亚洲精品无码高潮喷水A| 国产综合精品日本亚洲777| 狠狠色成人综合首页| 日韩a级毛片| 国外欧美一区另类中文字幕| 国产一区二区精品福利| 91国内在线观看| 亚洲国内精品自在自线官| 久久精品最新免费国产成人| 在线观看免费人成视频色快速| 中文字幕在线不卡视频| 成年人国产网站| 99re这里只有国产中文精品国产精品 | 亚洲欧美另类日本| 中文字幕色在线| 日本国产精品一区久久久| 九九视频在线免费观看| 91精品啪在线观看国产91| 国产成人无码AV在线播放动漫| 色网站免费在线观看| 国产精品久久自在自2021| 亚洲第一成人在线| 8090成人午夜精品| 无码网站免费观看| 免费无码AV片在线观看中文| 黄色网站在线观看无码| 她的性爱视频| 91亚洲免费| 99re视频在线| 亚洲国产中文欧美在线人成大黄瓜| 97se亚洲综合在线韩国专区福利| 九色综合伊人久久富二代| 国产第二十一页| 久久亚洲黄色视频| 亚洲日产2021三区在线| 永久在线精品免费视频观看| 午夜欧美理论2019理论| 精品无码视频在线观看| 在线看片中文字幕| 日本道中文字幕久久一区| 亚洲欧美一区二区三区图片| 五月激激激综合网色播免费| 91娇喘视频| 亚洲中文字幕在线一区播放| 美女一区二区在线观看| 99精品福利视频| 91麻豆精品国产高清在线| 久久青草热| 伊人AV天堂| 亚洲视频二| 亚洲一级毛片在线观播放| 国产网站免费看| 高清无码一本到东京热| 久久久精品无码一区二区三区| 久久情精品国产品免费| 成年A级毛片| 2021国产精品自产拍在线| 久青草国产高清在线视频| 国产精品自在线拍国产电影| 无码国产伊人| 亚洲热线99精品视频| 精品亚洲麻豆1区2区3区 | 在线无码九区| 欧美成a人片在线观看| 亚洲欧洲一区二区三区|