新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430單片機(jī)上使用M430/OS對(duì)系統(tǒng)的意義解析方案

        MSP430單片機(jī)上使用M430/OS對(duì)系統(tǒng)的意義解析方案

        作者: 時(shí)間:2012-06-27 來(lái)源:網(wǎng)絡(luò) 收藏

        任務(wù)調(diào)度的調(diào)度時(shí)機(jī)有兩種:一種是在任務(wù)掛起時(shí),一種是定時(shí)中斷。任務(wù)掛起時(shí)的任務(wù)調(diào)度一定會(huì)引起任務(wù)切換,定時(shí)中斷就不一定引起任務(wù)切換了。因?yàn)椋绻途w任務(wù)是當(dāng)前正在運(yùn)行的任務(wù)時(shí)不會(huì)引起切換。正是如此,任務(wù)調(diào)度是RTOS中執(zhí)行得最頻繁的一個(gè)功能,也是最重要的一個(gè)功能,所以必須盡量縮減其代碼量,盡量用可靠的調(diào)度算法來(lái)減少任務(wù)調(diào)度所占的時(shí)間。這個(gè)子程序的流程如圖3所示。

        (4)任務(wù)鎖和其它功能的實(shí)現(xiàn)

        任務(wù)的加鎖與解鎖,是為了使一些在低優(yōu)先級(jí)任務(wù)的不可重入代碼,或?qū)?shí)時(shí)性要求較高的I/O操作在執(zhí)行中不產(chǎn)生任務(wù)切換。這項(xiàng)功能是通過(guò)設(shè)置一個(gè)標(biāo)志位實(shí)現(xiàn)的。當(dāng)調(diào)度程序檢查到任務(wù)被鎖定時(shí),就算有就緒任務(wù)也必須等開鎖之后才能切換。

        如果突然產(chǎn)生一個(gè)事件要某個(gè)掛起的任務(wù)來(lái)處理,可以在事件產(chǎn)生的程序中調(diào)用任務(wù)喚醒。它的原理是把Task_Tick清0,然后執(zhí)行一次任務(wù)調(diào)度。如果這個(gè)任務(wù)優(yōu)先級(jí)較高,就直接切換到這個(gè)任務(wù)里執(zhí)行。

        3 總 結(jié)

        已在筆者開發(fā)的基于F149的上應(yīng)用,運(yùn)行穩(wěn)定可靠。該操作稍加改動(dòng),就可應(yīng)用于其它機(jī)。當(dāng)然,它的功能還是很有限的,也可能還存在一些尚未暴露的問題;但無(wú)論如何,它向我們證明,在機(jī)系統(tǒng)中RTOS是完全可能的。


        上一頁(yè) 1 2 3 下一頁(yè)

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 安阳市| 津南区| 青阳县| 清丰县| 桦南县| 泾源县| 长子县| 耿马| 杭锦旗| 密云县| 靖边县| 叙永县| 滨州市| 五台县| 藁城市| 莱阳市| 灵丘县| 拜城县| 涞水县| 合水县| 临沭县| 临澧县| 宁化县| 丰宁| 阳谷县| 乐山市| 桐梓县| 绍兴市| 嵊泗县| 临沂市| 登封市| 平和县| 建瓯市| 东海县| 文水县| 萨嘎县| 渑池县| 新平| 武宣县| 朝阳县| 察隅县|