新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 利用Protothread實(shí)現(xiàn)實(shí)時(shí)多任務(wù)系統(tǒng)

        利用Protothread實(shí)現(xiàn)實(shí)時(shí)多任務(wù)系統(tǒng)

        作者::長(zhǎng)沙威勝儀表集團(tuán) 羅光平 湖南大學(xué) 郭衛(wèi)鋒 時(shí)間:2008-07-09 來源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)應(yīng)用 收藏

          設(shè)計(jì)思路:

        本文引用地址:http://www.104case.com/article/85487.htm

          將TaskB和TaskC分成若干步,每步運(yùn)行時(shí)間不超過10 ms(這個(gè)時(shí)間可視系統(tǒng)需求而定,例如TaskA若為40 ms內(nèi)響應(yīng),則每步可擴(kuò)至20 ms)。任務(wù)以3個(gè)的方式運(yùn)行。首先執(zhí)行TaskA,在TaskA執(zhí)行完成1次后,釋放執(zhí)行權(quán)限,讓TaskB和TaskC執(zhí)行。TaskB或TaskC在每執(zhí)行1步之前檢查運(yùn)行時(shí)間,一旦發(fā)現(xiàn)30 ms內(nèi)不夠執(zhí)行1步時(shí),阻塞運(yùn)行,讓出執(zhí)行權(quán)限給TaskA。同樣,TaskB和TaskC的調(diào)度關(guān)系也類似,先運(yùn)行TaskB,完成時(shí)釋放執(zhí)行權(quán)限,讓TaskC執(zhí)行;TaskC在每執(zhí)行1步之前檢查運(yùn)行時(shí)間,若發(fā)現(xiàn)200 ms內(nèi)不夠執(zhí)行1步時(shí),阻塞運(yùn)行,讓出執(zhí)行權(quán)限重新交給TaskB。

          源程序(Task0TimeCounter、Task1TimeCounter為計(jì)數(shù)器,每毫秒加1):

          模擬運(yùn)行結(jié)果如表1所列。運(yùn)行結(jié)果顯示,3個(gè)任務(wù)的運(yùn)行情況完全滿足系統(tǒng)的設(shè)計(jì)要求。從資源需求來看,完成此例的系統(tǒng)設(shè)計(jì),共需要12個(gè)字節(jié)的RAM空間。筆者進(jìn)一步對(duì)定義文件做了少許修改和優(yōu)化,最終僅耗費(fèi)6個(gè)字節(jié)。

          表1 模擬運(yùn)行結(jié)果運(yùn)行

          結(jié)語

          本文旨在解決資源緊張型應(yīng)用的、多任務(wù)環(huán)境下的實(shí)時(shí)性問題。 通過借助的阻塞運(yùn)行機(jī)制, 成功實(shí)現(xiàn)了低開銷的實(shí)時(shí)

          參考文獻(xiàn)

          [1] Adam Dunkels, Oliver Schmidt, Thiemo Voigt. Using Protothreads for Sensor Node Programming[C]. REALWSN'05 Workshop on RealWorld Wireless Sensor Networks, Stockholm, Sweden, June 2005

          [2] Adam Dunkels, Oliver Schmidt, Thiemo Voigt, et al. Protothreads: Simplifying EventDriven Programming of MemoryConstrained Embedded Systems[C]. In Proceedings of the Fourth ACM Conference on Embedded Networked Sensor Systems (SenSys 2006), Boulder, Colorado, USA, November 2006.

          [3] Labrosse Jean J. MicroC/OSII The Real Time Kernel Second Edition[M]. CMP Books, CMP Media.

          [4] 冉全. 單片機(jī)中基于多線程機(jī)制的實(shí)時(shí)多任務(wù)研究[J] .微型機(jī)與應(yīng)用,2003(8): 39-40.

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 永安市| 彭阳县| 蚌埠市| 曲麻莱县| 金沙县| 云林县| 永定县| 阿坝县| 永康市| 绵阳市| 手游| 龙井市| 汉寿县| 东兴市| 西吉县| 南阳市| 东方市| 宁强县| 宁河县| 玉龙| 焉耆| 布尔津县| 渑池县| 分宜县| 厦门市| 玉树县| 拜城县| 苍梧县| 瓦房店市| 米脂县| 浙江省| 云龙县| 宁化县| 纳雍县| 固阳县| 安阳县| 周至县| 馆陶县| 东平县| 南充市| 通道|