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

        ?

        μC/OSIII的中斷響應(yīng)時間分析測量與改善

        2016-01-26 08:18:19呂海濤朱巖
        關(guān)鍵詞:嵌入式操作系統(tǒng)

        呂海濤,朱巖

        (南京理工大學(xué) 自動化學(xué)院,南京 210094)

        ?

        呂海濤,朱巖

        (南京理工大學(xué) 自動化學(xué)院,南京 210094)

        摘要:在特定的平臺下,測量了μC/OS-III的中斷響應(yīng)時間,分析了臨界區(qū)對μC/OS-III中斷響應(yīng)時間的影響,并提出了改善μC/OS-III實時性的方法。實驗結(jié)果證明,在系統(tǒng)設(shè)計不太復(fù)雜的情況下,μC/OS-III的中斷響應(yīng)時間可以控制在4 μs以內(nèi)。

        關(guān)鍵詞:嵌入式操作系統(tǒng);LPC1768;中斷響應(yīng)時間;臨界區(qū);μC/OS-III

        引言

        嵌入式實時操作系統(tǒng)(Embedded Real-time Operating System,RTOS),是指當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時,能夠接收并以足夠快的速度予以處理,處理的結(jié)果又能在規(guī)定的時間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)做出快速響應(yīng),并控制所有實時任務(wù)協(xié)調(diào)一致運行的嵌入式操作系統(tǒng)。通常的操作系統(tǒng)需要完成進(jìn)程(線程)管理、存儲管理、設(shè)備管理、作業(yè)管理、安全管理等。受到嵌入式系統(tǒng)資源限制以及特定功能的定位,它們通常被設(shè)計得非常緊湊有效。嵌入式實時操作系統(tǒng)的主要功能是線程管理。

        大多數(shù)的RTOS采用了基于優(yōu)先級的搶占式內(nèi)核調(diào)度算法,并且有以下特點:①每個線程有自己的優(yōu)先級并且通常不會改變;②活動的線程有運行態(tài)、就緒態(tài)、等待態(tài)等狀態(tài);③系統(tǒng)的內(nèi)核總是運行優(yōu)先級最高的就緒態(tài)線程;④當(dāng)一個低優(yōu)先級線程在運行時,一個高優(yōu)先級線程進(jìn)入就緒態(tài)會發(fā)生搶占,高優(yōu)先級線程會剝奪低優(yōu)先級線程的CPU控制權(quán),低優(yōu)先級線程會進(jìn)入就緒態(tài)。

        μC/OS系列實時內(nèi)核于1992年推出,開放源代碼,可以自由下載用于教育目的和非商業(yè)目的,如用于商業(yè)應(yīng)用及產(chǎn)品,則需要購買其使用許可證。μC/OS-II自1998年推出以來,因其方便移植、代碼量小、實時性強(qiáng)、可靠性高、內(nèi)核可剪裁等,成為我國計算機(jī)嵌入式應(yīng)用領(lǐng)域最受歡迎的實時操作系統(tǒng)之一。經(jīng)過多年不斷發(fā)展,已經(jīng)發(fā)展到第三代。μC/OS-III是一個全新的RTOS內(nèi)核,定位于高端32位CPU,它的功能比μC/OS-II更加強(qiáng)大,比如:支持相同優(yōu)先級和時間片輪轉(zhuǎn)調(diào)度算法;將中斷級任務(wù)調(diào)度交給系統(tǒng)任務(wù)處理,大大縮短了中斷執(zhí)行時間;采用哈希散列表機(jī)制處理時鐘節(jié)拍,真正做到了硬實時;直接向任務(wù)發(fā)信號量,簡化了程序,提高了實時性;增強(qiáng)了諸多調(diào)試功能、內(nèi)置式性能測試等等。當(dāng)然,這些功能也必然占用更多的內(nèi)存資源。

        1μC/OS-III的中斷響應(yīng)時間

        評估實時操作系統(tǒng)的最重要指標(biāo)是響應(yīng)時間,主要包括中斷響應(yīng)時間、上下文切換時間、線程返回時間等。

        中斷響應(yīng)時間是指從檢測到中斷請求到執(zhí)行中斷服務(wù)程序的第一條指令所需要的時間,是衡量嵌入式實時操作系統(tǒng)實時性能的最主要、最具有代表性的性能指標(biāo)。μC/OS-III從中斷消息或信號有直接發(fā)布和延遲發(fā)布兩種方式。μC/OS-II采用的就是直接發(fā)布模式,μC/OS-III在保留了直接發(fā)布模式的基礎(chǔ)上又新增了延遲發(fā)布模式。本文只研究μC/OS-III的直接發(fā)布模式。

        當(dāng)中斷發(fā)生時,系統(tǒng)運行狀態(tài)是不確定的,在μC/OS-III中,中斷發(fā)生時主要有以下情況:

        (1) 線程模式

        ① 系統(tǒng)運行在正常的任務(wù)(非臨界區(qū))中,此時,中斷會剝奪任務(wù)的CPU控制權(quán)。

        ② 系統(tǒng)運行在任務(wù)的臨界區(qū)中,此時中斷是關(guān)閉的,被掛起,待離開臨界區(qū)打開后會立即響應(yīng)中斷。

        (2) 處理模式

        ① 異常處理中并且處于非臨界區(qū)。當(dāng)優(yōu)先級比正在運行的中斷服務(wù)程序高時,高優(yōu)先級中斷會優(yōu)先響應(yīng),即中斷嵌套。當(dāng)比它低或與它相同時,發(fā)生的中斷會被掛起,待正在運行中斷服務(wù)程序結(jié)束后,立即響應(yīng)低優(yōu)先級中斷。

        ② 異常處理中并且處于臨界區(qū)。發(fā)生的中斷會被掛起,待中斷重新打開后,會根據(jù)優(yōu)先級決定立即響應(yīng)中斷或等待當(dāng)前異常處理結(jié)束后響應(yīng)。

        從以上的分析可以看出,中斷相對于CPU是一個異步事件。當(dāng)發(fā)生中斷時,有優(yōu)先級更高或相同的中斷在處理時,相同或高優(yōu)先級中斷服務(wù)程序時間難以確定。所以本文研究的是最高優(yōu)先級中斷的中斷響應(yīng)時間,也就是中斷發(fā)生時,沒有比它優(yōu)先級更高或相同的中斷或異常在處理。定義中斷響應(yīng)時間為:

        中斷響應(yīng)時間=中斷延遲時間+保存CPU狀態(tài)的時間+該內(nèi)核ISR進(jìn)入函數(shù)的時間[2]

        其中,中斷延遲時間指最大中斷關(guān)閉時間。

        當(dāng)中斷采用直接發(fā)布時,會采用關(guān)中斷的方法來保護(hù)臨界區(qū)。臨界區(qū)的大小取決于不同的環(huán)境,比如多個任務(wù)具有相同的優(yōu)先級,多個任務(wù)等待多個事件,同時等待多個內(nèi)核對象,以廣播方式發(fā)送消息或信號量都會導(dǎo)致臨界段代碼變長。

        當(dāng)有以上因素導(dǎo)致系統(tǒng)的臨界段代碼比較長時,可以使用延遲發(fā)布模式。在延遲發(fā)布模式下,發(fā)布信號或消息時,不會直接發(fā)布,而是將這個發(fā)布函數(shù)調(diào)用和相應(yīng)的參數(shù)寫到專用隊列中(中斷隊列),然后使中斷隊列處理任務(wù)進(jìn)入就緒態(tài)。這個任務(wù)是μC/OS-III中的內(nèi)部任務(wù),具有最高的任務(wù)優(yōu)先級,所以可以鎖定任務(wù)調(diào)度器,禁止任務(wù)調(diào)度,這樣就保護(hù)了臨界區(qū)。

        保存CPU狀態(tài)時間和該內(nèi)核ISR進(jìn)入函數(shù)的時間取決于具體的硬件,比如本文所使用的是基于Cortex-M3處理器,這個時間相對是固定的,可以通過測量得出。

        2測量原理和方法

        在μC/OS-III中,進(jìn)入和離開臨界區(qū)分別調(diào)用OS_CRITICAL_ENTER()和OS_CRITICAL_EXIT()。在OS_CRITICAL_ENTER()后記錄時間戳T1,在OS_CRITICAL_EXIT()前記錄時間戳T2,那么T2-T1為此臨界區(qū)的中斷關(guān)閉時間。臨界區(qū)長度的測量如圖1所示。

        圖1 臨界區(qū)長度的測量

        在具體的實現(xiàn)方式方面,μC/OS-III提供了測量中斷關(guān)閉時間的功能。它用CPU_IntDisMeasStart( )和CPU_IntDisMeasStop( )兩個函數(shù)來分別記錄T1和T2。要注意,在臨界區(qū)中加入了測量中斷關(guān)閉時間函數(shù),必然會增加額外的開銷,導(dǎo)致臨界區(qū)變長。通過調(diào)用CPU_IntDisMeasInit ( )初始化中斷關(guān)閉時間測量功能,連續(xù)調(diào)用以上兩個函數(shù),記錄的時間戳差TOH為測量中斷關(guān)閉時間的開銷,最后實際的中斷關(guān)閉時間T=T2-T1-TOH。打開測量中斷關(guān)閉時間功能后,每次進(jìn)入臨界區(qū),系統(tǒng)自動測量中斷關(guān)閉時間,并保存最大中斷關(guān)閉時間。

        中斷響應(yīng)時間主要通過系統(tǒng)的定時器來測量。給定時器一個匹配值TM,當(dāng)定時器的計數(shù)值達(dá)到匹配值時,產(chǎn)生中斷,在中斷程序的第一條讀取計數(shù)器的值TC,則中斷響應(yīng)時間為T=TC-TM。由前述所知,中斷響應(yīng)時間由于中斷關(guān)閉時間不同是不確定的,因此可以通過大量重復(fù)中斷來得出一系列中斷響應(yīng)時間,進(jìn)而可以得出中斷響應(yīng)時間的最小值、最大值、平均值等。

        本文測量使用的硬件平臺是蘇州鼎尚信息科技的鼎尚LPC1768嵌入式開發(fā)板,LPC1768是恩智浦公司生產(chǎn)的基于Cortex-M3的微控制器,主頻高達(dá)100 MHz,μC/OS-III已移植到開發(fā)板中。LPC1768內(nèi)部有4個定時器/計數(shù)器,定時器可以對外設(shè)時鐘(PCLK)進(jìn)行計數(shù)。系統(tǒng)默認(rèn)的PCLK為主頻的四分頻,將定時器外設(shè)設(shè)置成主頻的一分頻,即跟主頻一致為100 MHz,也就是計數(shù)器一個計數(shù)代表一個機(jī)器周期。

        本文用到了兩個計數(shù)器,計數(shù)器0用來測量最大關(guān)中斷時間,計數(shù)器1用來測量中斷響應(yīng)時間。編寫3個任務(wù):一個單次任務(wù)初始化系統(tǒng)外設(shè)功能(定時器、串口、中斷等);創(chuàng)建兩個應(yīng)用任務(wù),完成后刪除自己,兩個應(yīng)用任務(wù)是循環(huán)任務(wù),分別向?qū)Ψ桨l(fā)送信號量和消息。μC/OS-III中建立的任務(wù)如圖2所示。

        圖2 μC/OS-III中建立的任務(wù)

        第一步,測量最大關(guān)中斷時間,使能關(guān)中斷的時間測量功能。配置一個外部中斷,程序運行一段時間后,按鍵按下產(chǎn)生中斷,中斷服務(wù)程序會將當(dāng)前實際關(guān)中斷的最大值通過串口發(fā)送到計算機(jī)上。中斷延遲時間測試程序流程圖如圖3所示。

        圖3 中斷延遲時間測試程序流程圖

        第二步,測量中斷響應(yīng)時間,將關(guān)中斷時間的測量功能關(guān)閉,設(shè)置匹配值為500 000,當(dāng)計數(shù)器值與匹配值相同時產(chǎn)生中斷。中斷服務(wù)程序的第一條讀取計數(shù)器值,將讀到的值減去匹配值得差值,通過串口發(fā)送到計算機(jī),清零計數(shù)器,重復(fù)中斷1000次。中斷響應(yīng)時間測試流程圖如圖4所示。

        圖4 中斷響應(yīng)時間測試流程圖

        3實驗結(jié)果與分析

        在第一步實驗中,測量最大關(guān)中斷時間,得到的結(jié)果是325個機(jī)器周期,也就是3.25 μs。這是系統(tǒng)穩(wěn)定運行了一段時間后,測得的最大中斷延遲時間。

        在第二步實驗中,TASK1和TASK2內(nèi)部第一次無延時,第二次有延時,得到的中斷響應(yīng)時間分布如圖5和圖6所示。

        圖5 無延時中斷響應(yīng)時間分布

        圖6 有延時中斷響應(yīng)時間分布

        從圖中可以看出,無延時時,有較多的點分布在中間部分,有延時時,在32處點分布十分密集。最底端的點意味著中斷發(fā)生時,程序沒有運行在臨界區(qū),響應(yīng)時間較快。

        表1是本次實驗數(shù)據(jù)的一些統(tǒng)計指標(biāo)。最小值相同,是指當(dāng)運行在非臨界區(qū)發(fā)生中斷時的響應(yīng)時間,這個時間是最好情況下的時間。在第一步實驗中測得的中斷關(guān)閉時間是325個機(jī)器周期,所以,可以認(rèn)為系統(tǒng)在最壞情況下的中斷響應(yīng)時間是325+32=357個機(jī)器周期(3.57 μs)。實驗測得的數(shù)據(jù)均在32~357之間,符合最大中斷響應(yīng)時間。因此,任務(wù)中有延時時,系統(tǒng)的中斷響應(yīng)時間會變快,這是因為延遲會減少發(fā)送信號量、消息的頻率,因而降低了任務(wù)調(diào)度和任務(wù)切換的頻率,進(jìn)入臨界區(qū)的時間變少,系統(tǒng)平均中斷響應(yīng)時間會變短。

        表1 中斷響應(yīng)時間統(tǒng)計指標(biāo)(單位:機(jī)器周期)

        結(jié)語

        參考文獻(xiàn)

        [1] 趙立業(yè),張激,游夏.實時操作系統(tǒng)的性能分析和評估[J].計算機(jī)工程,2008(8).

        [2] Labrosse J J.嵌入式實時操作系統(tǒng)μC/OS-III[M].邵貝貝,譯.北京:北京航空航天大學(xué)出版社,2012.

        [3] 尹旭峰,苑士華,胡紀(jì)濱.ARM微處理器中斷響應(yīng)時間的實驗研究[J].計算機(jī)工程,2011(4).

        [4] 戴亮,戴勝華.μC/OS-II實時性能測試與研究[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007(7).

        呂海濤(碩士研究生),研究方向為嵌入式軟硬件設(shè)計。

        Interrupt Response Time Analysis and Improvement of μC/OS-III

        Lü Haitao,Zhu Yan

        (College of Automation,Nanjing University of Science and Technology,Nanjing 210094,China)

        Abstract:In a specific platform,the interrupt response time of μC/OS -III is measured and the critical region effect on interrupt response time is analyzed.Finally,the method of improving the real-time property of μC/OS -III is proposed.The experiment results show that the interrupt response time of μC/OS -III can be controlled under 4 μs.

        Key words:embedded operating system;LPC1788;interrupt response time;critical region;μC/OS-III

        收稿日期:(責(zé)任編輯:薛士然2015-05-14)

        中圖分類號:TP316

        文獻(xiàn)標(biāo)識碼:A

        猜你喜歡
        嵌入式操作系統(tǒng)
        基于項目驅(qū)動的“嵌入式操作系統(tǒng)”課程改革與實踐
        典型實時嵌入式操作系統(tǒng)應(yīng)用分析
        電子測試(2018年23期)2018-12-29 11:11:30
        計算機(jī)嵌入式操作系統(tǒng)分析
        基于ARM 920T S3C2440AL—40的EOS移植研究
        FATFS在嵌入式操作系統(tǒng)FreeRTOS中的移植與應(yīng)用
        雙離合器自動變速器控制系統(tǒng)的軟件開發(fā)
        關(guān)于高校嵌入式操作系統(tǒng)課程教學(xué)的探索與思考
        基于嵌入式操作系統(tǒng)的工業(yè)采集板設(shè)計
        基于高職學(xué)生特點的《嵌入式操作系統(tǒng)》課程教學(xué)改革
        應(yīng)用服務(wù)型人才培養(yǎng)體系下的嵌入式操作系統(tǒng)教學(xué)改革探索
        久久天堂av色综合| 亚洲av永久无码精品网站| 把女人弄爽特黄a大片| а√资源新版在线天堂| 人妻无码人妻有码中文字幕| 中文字幕av无码一区二区三区电影 | 国内精品91久久久久| 白白白色视频在线观看播放| 国产综合开心激情五月| 一本久久综合亚洲鲁鲁五月天| 曰本人做爰又黄又粗视频| 两个人看的www中文在线观看| 亚洲日韩AV无码美腿丝袜| 少妇高潮精品正在线播放| 国产毛片视频一区二区| 成人午夜特黄aaaaa片男男 | 欧美亚洲高清日韩成人| 亚洲又黄又大又爽毛片 | 美女视频在线观看亚洲色图 | 亚洲国产av综合一区| 人妻丰满熟妇aⅴ无码| 国产成人无码一区二区在线播放| 啪啪无码人妻丰满熟妇| 视频精品亚洲一区二区| 日韩女优图播一区二区| 精品九九人人做人人爱| 色老头在线一区二区三区| av无码一区二区三| 老岳肥屁熟女四五十路| 国产精品日日做人人爱| 99精品人妻少妇一区二区| 91久久久久无码精品露脸 | 日韩精品视频av在线观看| 国产亚洲精品久久午夜玫瑰园| 亚洲国产精品va在线看黑人| 夜夜爽无码一区二区三区| 国产大片在线观看三级| 精品粉嫩av一区二区三区| 精品免费久久久久久久| 小12箩利洗澡无码视频网站| 国产毛片一区二区三区|