亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        單片機軟件中斷測試技術(shù)研究

        2015-06-24 13:16:47代曉倩尤志堅
        電腦知識與技術(shù) 2015年11期
        關鍵詞:軟件測試單片機

        代曉倩++尤志堅

        摘要:該文探討了單片機軟件測試的關鍵技術(shù)中斷測試技術(shù),并根據(jù)自己的測試實踐討論了型號項目軟件測試中出現(xiàn)的問題。

        關鍵詞:軟件測試;中斷測試;單片機

        中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2015)11-0195-02

        Research of interrupt testing technology of Single Chip Microcomputer

        Dai Xiao-qian,You Zhi-jian

        (Shanghai Aerospace Electronic Technology Institute, Shanghai 201109, China)

        Abstract: This paper discusses the important technology about interrupt testing of Single Chip Microcomputer software, according to the authors testing practice it discuss some issues derived from the software testing of a type of project.

        Key words: software testing; Interrupt testing; Single Chip Microcomputer

        單片機因其高可靠性已被廣泛應用于航天系統(tǒng)中,因此單片機軟件的可靠性也成為影響這些系統(tǒng)的非常關鍵的因素。由于中斷技術(shù)在軟件實時響應、多任務處理和突發(fā)事件響應中的優(yōu)勢,使得它在航天型號軟件中不可或缺。但是中斷程序執(zhí)行的隨機性,使得中斷所帶來的問題具有偶發(fā)性和隱蔽性,在軟件測試中通常很難被發(fā)現(xiàn),這給軟件測試帶來了很大的困難。

        因此,本文結(jié)合航天軟件測評工作的特點,將單片機軟件中斷測試細化到以下測試類型包括代碼審查、性能測試、余量測試、強度測試中,力求中斷測試更充分有效,更多發(fā)現(xiàn)問題。

        1 代碼審查

        在實際應用中,由于中斷和硬件、環(huán)境、以及應用密切相關,復雜性高,不可能進行充分的測試,所以必須在進行中斷測試之前做好比較完備的中斷代碼審查及分析,然后在此基礎上進行一些必要的測試。以單片機軟件為例,做好中斷的代碼審查工作,除了編碼的正確性需要得到保證之外,還需要著重對以下幾個方面進行審查。

        1.1 未使用中斷向量是否處理

        對未用中斷的中斷向量進行處理,避免觸發(fā)未用中斷或者跳到未用中斷的中斷向量區(qū)而帶來的未知影響。處理方法可以采用跳轉(zhuǎn)到統(tǒng)一的陷阱處理程序等。

        1.2 軟件復位是否進行兩次中斷返回

        MSC-51單片機有兩個中斷優(yōu)先級,如果軟件在二級中斷嵌套時走飛,隨后由軟件陷阱轉(zhuǎn)入初始化程序時,則當前中斷服務狀態(tài)標志有2個,需要進行2次RETI操作來清除中斷服務狀態(tài)標志,否則,軟件無法響應中斷請求。代碼實現(xiàn)如下:

        1.3 檢查是否存在函數(shù)重入

        Keil c51默認環(huán)境下,函數(shù)如果不做特殊處理是不可重入的。如果函數(shù)調(diào)用有重入,會產(chǎn)生不同模塊間變量相互覆蓋的風險。對于無法避免重入函數(shù)的情況,設計師可編寫兩個語句相同名稱不同的子函數(shù)分別供主程序和中斷服務程序調(diào)用。

        1.4 檢查變量類型是否合理

        在單片機高級語言編程中,對于在主程序和中斷(或在不同優(yōu)先級的中斷)中同時用到的公共變量應盡量定義為單字節(jié)變量如unsigned char型。下文描述了一個錯誤的案例,代碼如下圖。

        其中Int0為低優(yōu)先級中斷,Int1為高優(yōu)先級中斷。變量Cnt定義為16位unsigned int型,

        在單片機中分高低字節(jié)存儲。Int0中斷服務子程序中Cnt加1(C語言描述為Cnt++)對應的匯編代碼及解釋如下:

        其中“Cnt+01H”和“Cnt”分別表示存放Cnt變量的低字節(jié)和高字節(jié)數(shù)據(jù)地址。從上述匯編代碼分析可知,當Int0中斷服務子程序執(zhí)行完第一句后執(zhí)行第二句前,此時被高優(yōu)先級的Int1中斷打斷,而后在Int1中斷服務子程序中又將Cnt的高低字節(jié)均清為0,因此導致Int1中斷處理結(jié)束后,程序回到Int0中斷服務子程序執(zhí)行上面第二句代碼時,誤以為是Cnt低字節(jié)加1溢出(0xff+1),因此將Cnt高字節(jié)加1(變?yōu)?x0100),進而導致后續(xù)大于200條件判斷成立,即錯誤執(zhí)行語句“Bus1553B= ERR;”從而導致軟件復位1553B總線芯片。

        1.5 中斷資源沖突檢查

        中斷程序可以在任何時刻運行,如某一資源同時為兩個以上的中斷程序或中斷程序和主程序所使用,這時相互之間就可能發(fā)生資源沖突。當軟件中斷程序很長變量較多,并且比較復雜的情況下,中斷資源沖突檢查的難度也將大大增加。怎樣才能做好中斷資源沖突檢查呢?目前,中斷資源沖突檢查主要還是采用人工分析方法,首先列出主程序和中斷程序中使用的公共資源,包括括寄存器、變量、緩沖區(qū)、IO端口等等,并明確這些資源在函數(shù)中的訪問特性,包括只讀、只寫、讀寫特性;接著對上述資源逐一分析,一般情況下,當公共資源在中斷函數(shù)中為只讀狀態(tài),不會與主程序使用該資源產(chǎn)生沖突;而當公共資源在中斷函數(shù)中為讀寫或者只寫狀態(tài)時,就要注意資源使用沖突問題了。

        做好中斷資源沖突檢查,測評人員不光要做到對中斷程序心中有數(shù),還要對整個系統(tǒng)運行十分清楚,這需要在工程實踐中慢慢積累經(jīng)驗。

        2 性能測試

        與中斷服務程序有關的性能好壞往往與軟件質(zhì)量有著密切的聯(lián)系。通??蓮囊韵聨追矫嫒胧郑?/p>

        2.1 測試定時中斷執(zhí)行周期

        主要測試定時中斷周期設置是否合理,在被高優(yōu)先級中斷推遲執(zhí)行的情況下,執(zhí)行周期是否滿足要求。

        例如,若定時中斷程序每0.5ms執(zhí)行一次,且用來輸出某周期性控制信號,而此周期信號的頻率又被下級軟件采集使用,則當軟件中存在另一高優(yōu)先級中斷執(zhí)行將定時中斷推遲執(zhí)行后,會直接影響某周期信號的輸出,進而對下級軟件的執(zhí)行產(chǎn)生影響。

        2.2 測試中斷服務程序最長執(zhí)行時間

        通常中斷服務程序執(zhí)行時間不應太長,數(shù)據(jù)處理要盡量放在主程序中進行。在中斷服務程序中應避免出現(xiàn)延時等待的語句。發(fā)生嵌套時高優(yōu)先級的中斷處理完畢后低優(yōu)先級的中斷應還有足夠的時間繼續(xù)處理。

        測試的方法主要是利用性能測試的手段,得到高優(yōu)先級和低優(yōu)先級中斷的最長處理時間,當中斷嵌套產(chǎn)生時,高優(yōu)先級中斷最長處理時間加上低優(yōu)先級中斷最長處理時間應小于低優(yōu)先級中斷的產(chǎn)生周期。

        2.3 分析中斷執(zhí)行時間對主循環(huán)的影響

        主循環(huán)最大執(zhí)行時間要考慮主循環(huán)被中斷打斷后的最大執(zhí)行時間,并確認主循環(huán)最大執(zhí)行時間是否仍然滿足要求。

        3 余量測試

        中斷的余量測試主要測試以下兩點:

        1) 中斷執(zhí)行時間的余量,一般針對有周期性時間要求的中斷進行,測試的方法主要是利用性能測試的手段,得到中斷的最長處理時間,中斷處理時間一般要求留有20%的余量,即中斷最長處理時間不應超過中斷周期時間的80%。

        2) 堆棧使用余量

        函數(shù)/子程序嵌套、中斷嵌套以及函數(shù)和中斷之間的嵌套運行都要占用堆??臻g,而堆??臻g的不足會導致不可預知的后果。所以軟件中斷內(nèi)代碼不能太多,涉及變量也不要太多,否則可能會導致比較大的堆棧需要,甚至導致堆棧溢出。

        堆棧使用情況的測試通常是先采用人工分析方法找出程序的最大調(diào)用深度即最長執(zhí)行路徑,然后在仿真環(huán)境中運行程序,記錄SP指針的初始值,然后沿最大調(diào)用深度執(zhí)行程序記錄SP指針的最大值,最后計算堆棧空間余量??紤]系統(tǒng)升級和擴展的需要,堆棧使用余量要大于20%。

        4 強度測試

        中斷的強度測試就是測試中斷產(chǎn)生的頻率達到什么情況時軟件無法正常處理;一般都是對通訊類的中斷進行強度測試,測試的方法是逐漸縮短中斷產(chǎn)生的時間間隔直到軟件無法正常響應,得到軟件中斷處理的強度。另外值得注意的是當縮短中斷產(chǎn)生的時間間隔后,適當延長軟件測試時間,往往可以加速暴露一些資源使用沖突問題,因此在進行強度測試時,在考慮增加頻率的情況下應適當延長軟件測試時間,使軟件問題充分暴露。

        5 結(jié)束語

        本文從四大測試類型即代碼審查、性能測試、余量測試、強度測試出發(fā),全面總結(jié)了單片機軟件中斷測試技術(shù)。其中中斷代碼審查技術(shù)是重點也是基礎,性能、余量、強度測試是深入化的測試,測試人員需靈活運用上述測試技術(shù),才能較好的發(fā)現(xiàn)中斷程序的問題,提高軟件質(zhì)量。

        參考文獻:

        [1] 高鋒,單片微型計算機原理與接口技術(shù)[M].科學出版社,2007.

        [2] 柳純錄.軟件評測師教程[M]. 清華大學出版社,2005.

        猜你喜歡
        軟件測試單片機
        基于OBE的軟件測試課程教學改革探索
        計算機教育(2020年5期)2020-07-24 08:53:20
        航天軟件測試模型構(gòu)建與應用
        軟件(2020年3期)2020-04-20 01:45:34
        基于單片機的SPWM控制逆變器的設計與實現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機的便捷式LCF測量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        EXCEL和VBA實現(xiàn)軟件測試記錄管理
        電子制作(2018年16期)2018-09-26 03:27:18
        小議PLC與單片機之間的串行通信及應用
        電子制作(2018年12期)2018-08-01 00:48:04
        關于軟件測試技術(shù)應用與發(fā)展趨勢研究
        電子測試(2017年15期)2017-12-18 07:19:20
        基于單片機的平衡控制系統(tǒng)設計
        電子制作(2017年19期)2017-02-02 07:08:27
        Microchip推出兩個全新PIC單片機系列
        国产成人无精品久久久| 香蕉成人伊视频在线观看| 大肉大捧一进一出好爽视频动漫| 爱性久久久久久久久| 无码国产精品一区二区vr老人| 亚洲伦理一区二区三区| 亚洲一区二区三区ay| av免费在线播放视频| 国产精品美女久久久久av超清| 久久99久久99精品免观看| 极品诱惑一区二区三区| 亚洲大胆视频在线观看| 亚洲美女毛多水多免费视频| 亚洲av无一区二区三区久久| 青青草手机免费播放视频| 国产精品无码翘臀在线观看| 丰满少妇三级全黄| 久久精品一区二区免费播放| 免费国产在线精品三区| 久久想要爱蜜臀av一区二区三区| 曰韩无码av一区二区免费| 国产精品丝袜久久久久久不卡| 精品人妻伦九区久久aaa片69| 久久国产成人免费网站| 日本中文字幕人妻精品| 亚洲熟妇自偷自拍另类| 狠狠色狠狠色综合网| 久久久久久亚洲精品中文字幕| 亚洲国产成人久久综合一区77| 国产一区二区三区涩涩| 亚洲国产美女高潮久久久| 在线播放真实国产乱子伦| 丰满老熟妇好大bbbbb| 综合久久久久6亚洲综合| 国产一区二区三区尤物| 日韩午夜免费视频精品一区| 免费无遮挡无码永久视频| 国产成人av 综合 亚洲| 国产三级黄色片子看曰逼大片| 久久精品熟女亚洲av香蕉| 国内精品久久久人妻中文字幕|