日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 通過任務(wù)分割提高嵌入式系統(tǒng)的實(shí)時(shí)性

          通過任務(wù)分割提高嵌入式系統(tǒng)的實(shí)時(shí)性

          作者: 時(shí)間:2010-01-15 來源:網(wǎng)絡(luò) 收藏


          3.1 對(duì)RTOS的分析與計(jì)算

          當(dāng)然,長(zhǎng)必須結(jié)合中所使用的內(nèi)核,以及各對(duì)的要求情況,進(jìn)行必要的分析計(jì)算,才能保證的合理性和有效懷,具體的步驟如下:

          ①分析共有多少個(gè),這些任務(wù)對(duì)的要求有多高,求出各個(gè)任務(wù)所要求的最小執(zhí)行頻率f1,f2,f3……fn。

          ②計(jì)算目前各任務(wù)的實(shí)際執(zhí)行時(shí)間t1,t2,t3……tn。

          ③確定中的長(zhǎng)任務(wù)

          如果max(t1,t2,t3……tn)≤min(1/f1,1/f2,1/f3……1/fn)

          則此系統(tǒng)中不存在長(zhǎng)任務(wù)。

          如果max(t1,t2,t3……tn)>min(1/f1,1/f2,1/f3……1/fn)

          則存在長(zhǎng)任務(wù),而且執(zhí)行時(shí)間為max(t1,t2,t3……tn)的那個(gè)任務(wù)就是要找的長(zhǎng)任務(wù)。

          ④分析此長(zhǎng)任務(wù)是否需要

          分析一下是什么原因?qū)е聢?zhí)行的時(shí)間過長(zhǎng),這個(gè)時(shí)間還能夠程序的優(yōu)化來縮短?如果能,則不需要進(jìn)行任務(wù)分割;否則要對(duì)這個(gè)長(zhǎng)任務(wù)進(jìn)行分割。

          3.2 任務(wù)分割

          常用的任務(wù)分割的方法有以下兩種:

          ①將長(zhǎng)任務(wù)按功能分為若干個(gè)小模塊,每一個(gè)模塊構(gòu)成一個(gè)小任務(wù),每個(gè)小任務(wù)執(zhí)行一個(gè)相對(duì)獨(dú)立的功能,且要保證執(zhí)行時(shí)間tmin(1/f1,1/f2,1/f3……1/fn)。各個(gè)任務(wù)被內(nèi)核順序調(diào)用,合起來完成整個(gè)任務(wù)的功能。

          ②有的長(zhǎng)任務(wù)比較特殊,例如鍵盤任務(wù)和動(dòng)態(tài) LED顯示任務(wù),很難按照方法1所說的把它分成若干個(gè)功能相對(duì)獨(dú)立的小模塊。這時(shí),一般是按照方便保存現(xiàn)場(chǎng)信息原則,強(qiáng)制將其分割成若干個(gè)小任務(wù),每個(gè)任務(wù)在min(1/f1,1/f2,1/f3……1/fn)時(shí)間內(nèi)主動(dòng)保存現(xiàn)場(chǎng)信息、放棄CPU的控制權(quán),等到再次被內(nèi)核調(diào)度時(shí)繼續(xù)執(zhí)行。

          這種分割方法相對(duì)復(fù)雜,各任務(wù)之間界限不是很明顯,看似未經(jīng)分割,但實(shí)際上它確實(shí)是由多次任務(wù)中斷來完成。下面就以這種分割方法為例具體說明。

          4 實(shí)例分析

          4.1 系統(tǒng)介紹

          在此,系統(tǒng)的硬件基礎(chǔ)是基于 MC68HC908GP32單片機(jī)系統(tǒng)的,用其普通I/O口作為矩陣式鍵盤的輸入輸出引腳;軟件基礎(chǔ)是在MC68HC908GP32中運(yùn)行 Motorola公司的Joanne Santangeli編寫的基于時(shí)間片的不可剝奪的實(shí)時(shí)內(nèi)核,如圖2所示。


          此內(nèi)核主要是利用微控制器內(nèi)部的時(shí)間模塊產(chǎn)生恒定的實(shí)時(shí)中斷,將CPU的運(yùn)行時(shí)間分成一個(gè)個(gè)時(shí)間片。內(nèi)核的任務(wù)調(diào)度工作都是在時(shí)間片的開始階段完成的,而每個(gè)任務(wù)都必須在單個(gè)時(shí)間片內(nèi)完成。

          在這個(gè)內(nèi)核中,每0.5ms發(fā)生1次時(shí)鐘中斷,而每10次時(shí)鐘中斷組成了1個(gè)時(shí)間片(5ms)。任務(wù)1的優(yōu) 先級(jí)最高,每2個(gè)時(shí)間片(10ms)會(huì)執(zhí)行1次,任務(wù)2每4個(gè)時(shí)間片(20ms)執(zhí)行1次,優(yōu)先級(jí)最低的任務(wù)6則每64個(gè)時(shí)間片(320ms)會(huì)執(zhí)行1次。

          4.2 系統(tǒng)中的鍵盤任務(wù)問題

          在單片機(jī)系統(tǒng)中,鍵盤主要用于輸入數(shù)據(jù)、代碼和命令,因此系統(tǒng)必須循環(huán)不停地掃描掃描;一是有鍵波按下,CPU立即做出響應(yīng)。鍵盤任務(wù)子程序也是根據(jù)這個(gè)要求而設(shè)計(jì)的。一般有兩種處理方式:一是中斷方式,二是查詢方式。從有鍵按下時(shí)開始,到按鍵釋放并轉(zhuǎn)相應(yīng)子程序而終止。該任務(wù)被內(nèi)核調(diào)度的情況如圖3所示。
          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉