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
主站蜘蛛池模板: 三上悠亚在线精品二区| 黄色a一级视频| 国产原创自拍不卡第一页| 国产jizzjizz视频| 人人91人人澡人人妻人人爽| 九一九色国产| 日韩视频免费| 久久久久久高潮白浆| 亚洲AV无码乱码在线观看代蜜桃 | 美女扒开下面流白浆在线试听| 亚洲视频三级| 在线观看热码亚洲av每日更新| 999国产精品永久免费视频精品久久| 爱做久久久久久| 五月婷婷亚洲综合| 午夜限制老子影院888| 日韩小视频网站hq| 国产欧美在线| 国产精品第一区在线观看| 99视频在线免费| 国产激爽大片高清在线观看| 亚洲综合极品香蕉久久网| 伊人网址在线| 色综合天天视频在线观看| 日韩欧美网址| 自慰网址在线观看| 夜精品a一区二区三区| av性天堂网| 国产久草视频| 亚洲最大福利网站| 精品人妻AV区| 四虎成人免费毛片| 日韩国产欧美精品在线| 黄色三级网站免费| 在线观看亚洲成人| 国产精品久久自在自2021| 午夜日b视频| 99久久精品国产综合婷婷| 四虎成人精品在永久免费| 国产午夜人做人免费视频| 成人福利在线视频| 老司国产精品视频91| 国产爽歪歪免费视频在线观看| 97精品伊人久久大香线蕉| 亚洲国产成人麻豆精品| 亚洲福利视频网址| 色屁屁一区二区三区视频国产| 久久综合久久鬼| 女人18毛片一级毛片在线| 99热这里只有免费国产精品| 久视频免费精品6| 亚洲精品第五页| 欧美日本在线观看| 欧美综合在线观看| 欧美成人亚洲综合精品欧美激情| 国产情侣一区| 激情无码字幕综合| 亚洲成人在线免费| 国产免费好大好硬视频| 国产精品久久久精品三级| 国产成熟女人性满足视频| 亚洲午夜18| 婷五月综合| 91精品国产情侣高潮露脸| 不卡午夜视频| 国产小视频在线高清播放| 波多野结衣无码中文字幕在线观看一区二区| 日韩在线视频网站| 三级国产在线观看| 强乱中文字幕在线播放不卡| 亚洲国产成人精品无码区性色| 亚洲综合天堂网| 99久久精品国产精品亚洲| 免费jizz在线播放| av尤物免费在线观看| 国产精品手机在线观看你懂的| 欧美亚洲国产精品第一页| 无码国产伊人| 蜜桃臀无码内射一区二区三区| 国产精女同一区二区三区久| 91人妻日韩人妻无码专区精品| 日韩精品毛片人妻AV不卡|