《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于MSP430的實時多任務操作系統
基于MSP430的實時多任務操作系統
摘要: 實時多任務操作系統(RTOS)能有效提高嵌入式平臺的資源利用效率,是嵌入式應用的必然趨勢。本文闡述基于MSP430F149的RTOS——M430/OS。它由匯編寫成、短小精干、占用系統資源少、運行穩定可靠,目前已在思達高科配網技術公司產品上得到應用。
Abstract:
Key words :

       引 言      

       1 在MSP430上使用RTOS的意義  

       一般的觀點認為,MSP430上使用RTOS是沒有意義的這是可以理解的。因為MSP430的硬件資源有限(以MSP430F149為例,只有2KB RAM),任何商業操作系統都不可能移植到MSP430上。目前在MSP430上得到應用的RTOS,只有μC/OS-II,但使用μC/OS-II 必須有昂貴的C編譯器,這嚴重地限制了其在MSP430上的使用?! ?br />
       正是基于以上情況,筆者在應用MSP430過程中,編寫了一個基于MSP430F149的RTOS,暫定名為M430/OS。它占用RAM量少、代碼短小,稍加改動就可適用于大多數其它MSP430單片機?! ?br />
  

 

    在MSP430單片機系統上使用M430/OS,對系統有以下意義:   

       ① 實現軟件設計的模塊化??蓪⒉煌墓δ苣K編制成相應的任務,由操作系統按級別調用,不必為先執行哪個功能、后執行哪個功能而費神?! ?br />
       ② 能更合理、有效地利用CPU有限的資源。按任務的重要程度安排任務的級別,能夠保證最重要的任務得以最及時執行?! ?br />
       ③ 大大降低系統故障率。低優先級的任務發生阻塞時,高優先級任務的執行不受影響。

       2 M430/OS在MSP430F149上的實現

       2.1 M430/OS功能特點  

       M430/OS有以下特點:  

       ① 采用占先式內核,即高優先級的任務可以從低優先級任務“搶”回CPU控制權;  

       ② 每個任務都單獨開辟一個任務棧;  

       ③ 每個任務占十幾到幾百字節的任務堆棧,任務棧的大小可以根據任務中現場數據、局部變量和嵌套調用的情況估算;  

       ④ 每個任務各分配一個優先級,不支持兩個任務有相同的優先級;  

       ⑤ 不支持信號量、郵箱功能;  

       ⑥ 任務狀態只有三種:運行(executing)、就緒(ready)、掛起(suspended);  

       ⑦ 系統占用RAM量=((任務個數+1)×4)+6字節,不包括任務堆棧;  

       ⑧ 代碼量少,目前版本的代碼共有86行匯編代碼,256字節目標代碼;  

       ⑨ 理論上最多支持126個任務;  

       ⑩ 任務鎖定功能:在一段低優先級的代碼中,不想讓操作系統把CPU權切換到別的任務,這時可以把這代碼鎖定,在運行這段代碼時,就不會引起任務切換;   

       任務喚醒功能:在一個任務中產生一個的事件來觸發其它任務運行(如果被觸發的任務優先級高的話,就會馬上運行)。

       2.2 系統函數介紹  

       ① OS_Init:多任務初始化,進行任務棧(任務棧的結構見圖1)、任務延時計數、任務狀態的初始化。初始化完成后,系統直接切換到最高優先級的任務,多任務系統啟動。  
       ② OS_Time_Dly:把當前任務掛起一段指定時間讓其它任務運行?! ?br />
       ③ OS_Sched:任務調度,它先把每個任務的延時數減1,然后再找出最高優先級的就緒任務,并切換到這個就緒任務。如果無就緒任務,就切換到空閑任務。   

       ④ OS_Free_Task:空閑任務,是一個很重要的系統任務,當所有任務都掛起時,運行此任務。它主要是對一個計數器Free_Count一直進行累加,用戶可以根據這個計數器計算出CPU的利用率?! ?br />
       ⑤ OS_Task_Lock:鎖定任務調度,禁止任務調度。主要用來鎖定在低優先級中的一些可重入的代碼或一些重要代碼?! ?br />
       ⑥ OS_Task_Unlock:解鎖任務調度,和上面的子程序功能相反。  
 

 

       ⑦ OS_Task_Wakeup:喚醒指定優先級的任務,并產生一次任務調度,如果被喚醒任務的優先級比當前運行的任務的優先級高,任務就會切換到被喚醒的任務中,否則等待下一個調度時機。

       2.3 主要功能的實現

       (1)任務初始化  


       系統加電運行后,首先對硬件資源進行初始化,接著就要對多任務進行初始化了。主要是初始化每個任務的任務棧、每個任務的時鐘滴答數和堆棧指針位置。我們把每個任務棧都初始化成圖1形式?!             ?  

 

初始化好的任務棧結構

       任務棧的初始化如下程序(r11是用來初始任務堆棧的一個指針,r10是一個循環計數器):

       mov.w #(棧底 + 2) ; 
       r11clr.w Task_Tick(r10) :清0時鐘滴答數mov.w #任務首地址;
       0(r11) :把任務地址壓入堆棧mov.w SR;
       -2(r11) :把標志寄存器放入任務棧mov.w r11; 
       Task_SP(r10)sub.w #現場所占的字節數;
       Task_SP(r10) :SP位置放:入堆?! ?br />
       初始化完任務棧之后,就把堆棧指針指向最高任務優先級任務棧的任務首地址處,再執行ret返回。這樣,多任務就啟動開了,程序如下:mov.w #09feh , sp ;最高優先級的任務棧任務首地;址位置ret ;返回到最高優先級的任務任務初始化的流程如圖2所示?!         ?/p>

任務初始化流程

       (2)時鐘節拍  

       時鐘節拍由MSP430F149的TimerA產生。TimerA工作于上升模式,CCR0中是TimerA計數最大值。TimerA初始化代碼如下:

       bis.w #(TASSEL1+TACLR+MC_1),&TACTL
       mov.w 2(sp),&CCR0 ;計數最大值,此值決定時鐘節拍
       bis.w #CCIE,&CCTL0
       (3)任務調度  

       應用程序調用OS_init進行初始化后,直接切換到最高優先級的任務。  

       每個任務在運行一個循環后執行OS_ Time_Dly掛起。這是通過把該任務的延時數填到該任務的Task_ Tick中,然后再執行任務調度程序實現。任務調度就是在定時中斷時對所有任務的Task_ Tick減1,然后再按優先級高低的順序查找Task_Tick減到0的任務,并直接跳到任務切換程序。下面是任務切換程序(r10的內容是就緒任務的標志,由調度程序找出):

       pushALL ;把當前任務現場入棧
       mov.b Now_Task,r11 ;當前任務標志放r11
       mov.w sp,Task_SP(r11) ;保存當前任務堆棧指針
       mov.b r10,Now_Task ;就緒任務標志變為當前任務標志
 

 

      mov.w Task_SP(r10),sp ;就緒任務的任務棧指針放入SP;此時再進行堆棧操作就是對就緒任務的任務棧操作了。
       popALL ;把就緒任務的現場出棧
       reti ;中斷返回,返回到就緒任務  

       任務調度的調度時機有兩種:一種是在任務掛起時,一種是定時中斷。任務掛起時的任務調度一定會引起任務切換,定時中斷就不一定引起任務切換了。因為,如果就緒任務是當前正在運行的任務時不會引起切換。正是如此,任務調度是RTOS中執行得最頻繁的一個功能,也是最重要的一個功能,所以必須盡量縮減其代碼量,盡量用可靠的調度算法來減少任務調度所占的時間。這個子程序的流程如圖3所示。          

 

任務調度流程

       (4)任務鎖和其它功能的實現  

       任務的加鎖與解鎖,是為了使一些在低優先級任務的不可重入代碼,或對實時性要求較高的I/O操作在執行中不產生任務切換。這項功能是通過設置一個標志位實現的。當調度程序檢查到任務被鎖定時,就算有就緒任務也必須等開鎖之后才能切換。如果系統突然產生一個事件要某個掛起的任務來處理,可以在事件產生的程序中調用任務喚醒。它的原理是把Task_Tick清0,然后執行一次任務調度。如果這個任務優先級較高,就直接切換到這個任務里執行。  

       3 總 結

       M430/OS已在筆者開發的基于MSP430F149的系統上應用,運行穩定可靠。該操作系統稍加改動,就可應用于其它MSP430單片機。當然,它的功能還是很有限的,也可能還存在一些尚未暴露的問題;但無論如何,它向我們證明,在MSP430單片機系統中使用RTOS是完全可能的。 

參考文獻
1 Labrosse Jean J. μC/OS-II 開放源代碼的實時多任務操作系統. 邵貝貝譯. 北京:中國電力出版社,2001  

2 胡大可主編. MSP430系列超低功耗16位單片機原理與應用. 北京:北京航空航天大學出版社,2001

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          久久精品一二三| 亚洲精品国产拍免费91在线| 久久久久久久综合| av成人免费在线| 欧美日韩另类丝袜其他| 国产一区三区三区| 亚洲特级毛片| 久久综合免费视频影院| 欧美日韩大陆在线| 国产一区二区三区在线播放免费观看| 正在播放欧美视频| 欧美精品在线视频| 免费精品99久久国产综合精品| 中日韩美女免费视频网站在线观看| 欧美另类综合| 国内精品视频在线播放| 国产精品日韩欧美一区二区三区| 美女诱惑黄网站一区| 狠狠干成人综合网| 亚洲国产一成人久久精品| 久久大香伊蕉在人线观看热2| 亚洲福利在线看| 欧美电影在线观看完整版| 欧美日韩另类一区| 欧美日韩高清在线观看| 麻豆国产精品va在线观看不卡| 亚洲麻豆国产自偷在线| 在线观看日韩av先锋影音电影院| 欧美日韩在线看| 一本久久a久久免费精品不卡| 美女国产精品| 欧美在线视频播放| 欧美日韩在线免费| 一区二区免费在线视频| 在线观看91精品国产麻豆| 久久综合国产精品| 久久精品国产久精国产爱| 国产一区二三区| 欧美性jizz18性欧美| 红桃视频欧美| 先锋a资源在线看亚洲| 亚洲美女视频在线免费观看| 一区免费在线| 亚洲国产欧美一区二区三区久久| 亚洲精品久久久一区二区三区| 国产精品色一区二区三区| 亚洲大片一区二区三区| 黑人巨大精品欧美一区二区| 欧美一区二区久久久| 国产精品久久久久久久久搜平片| 亚洲免费影视第一页| 久久久噜噜噜| 国产精品进线69影院| 国产精品久久久久久久久果冻传媒| 久久久亚洲欧洲日产国码αv| 亚洲免费福利视频| 一本久久a久久免费精品不卡| 久久激情视频| 精品96久久久久久中文字幕无| 亚洲一区二区三区在线观看视频| 欧美精品首页| 久久九九久精品国产免费直播| 一区二区三区成人| 亚洲精品视频啊美女在线直播| 久久精品人人做人人爽电影蜜月| 亚洲国产一区二区三区青草影视| 国产一级揄自揄精品视频| 亚洲女人小视频在线观看| 国产日韩欧美三级| 久久久久免费视频| 亚洲高清资源综合久久精品| 久久免费观看视频| 欧美国产日韩视频| 一区二区91| 午夜影视日本亚洲欧洲精品| 欧美久久在线| 国产精品国码视频| 亚洲成人在线| 国产欧美91| 亚洲在线日韩| 国产精品99久久久久久白浆小说| 国产欧美精品va在线观看| 欧美日韩视频在线观看一区二区三区| 国产一区二区成人| 欧美人成网站| 亚洲电影下载| 久久麻豆一区二区| 国内久久精品| 久久精品视频在线播放| 欧美日韩在线精品一区二区三区| 在线欧美影院| 蜜桃精品久久久久久久免费影院| 欧美阿v一级看视频| 激情成人亚洲| 欧美在线播放一区二区| 久久人人九九| 在线精品亚洲| 欧美视频一区二| 国产一区三区三区| 欧美亚洲视频一区二区| 99精品免费| 国产精品综合网站| 欧美一区二视频| 国产综合久久久久久鬼色| 国产亚洲制服色| 夜夜躁日日躁狠狠久久88av| 亚洲综合色婷婷| 一区二区三区免费在线观看| 欧美精品一区在线| 亚洲第一精品电影| 免费一级欧美片在线观看| 男女视频一区二区| 日韩性生活视频| 亚洲视频在线一区观看| 午夜精品一区二区三区电影天堂| 一区二区视频免费在线观看| 国产精品一区二区久久精品| 国产精品揄拍一区二区| 久久综合狠狠综合久久综合88| 性色av一区二区三区在线观看| 艳妇臀荡乳欲伦亚洲一区| 欧美三级欧美一级| 国产精品久久国产精品99gif| 亚洲大片av| 国产一区二区三区在线观看网站| 欧美在线视频a| 蜜臀va亚洲va欧美va天堂| 亚洲一区二区三区四区在线观看| 在线精品国精品国产尤物884a| 一本到12不卡视频在线dvd| 久久成人免费视频| 亚洲免费婷婷| 欧美视频一区二区三区…| 国产有码一区二区| 亚洲精品视频一区| 日韩午夜精品| 久久亚洲午夜电影| 国产日韩精品视频一区| 欧美福利视频| 亚洲伦理中文字幕| 欧美日韩成人综合在线一区二区| 国产日韩综合一区二区性色av| 亚洲日本欧美在线| 欧美sm重口味系列视频在线观看| 国产区二精品视| 国产欧美日韩综合精品二区| 欧美日本高清一区| 性欧美1819性猛交| 国产精品日韩欧美| 韩国一区二区三区在线观看| 老色鬼精品视频在线观看播放| 欧美激情性爽国产精品17p| 久久久久www| 亚洲免费综合| 激情校园亚洲| 亚洲午夜久久久久久久久电影网| 国产精品永久入口久久久| 国产主播一区| 欧美日韩国产a| 欧美成人综合在线| 久久综合免费视频影院| 亚洲精品一区二区在线| 永久久久久久| 欧美一区二区三区免费观看视频| 国产精品国产福利国产秒拍| 欧美在线观看一区二区三区| 久久综合久久88| 亚洲日本成人女熟在线观看| 在线一区欧美| 国产亚洲视频在线观看| 欧美日韩国产成人在线免费| 亚洲图片欧美日产| 亚洲人成在线观看一区二区| 国产精品av一区二区| 亚洲一区二区在线视频| 国产一区二区无遮挡| 狠狠色狠狠色综合日日91app| 亚洲免费观看高清在线观看| 国产精品久久久久影院亚瑟| 国产一区二区精品久久91| 久久精品视频亚洲| 亚洲毛片av在线| 一区二区高清| 一本色道88久久加勒比精品| 欧美多人爱爱视频网站| 国产美女一区二区| 亚洲伦理久久| 欧美日韩三级| 亚洲激情在线观看视频免费| 男男成人高潮片免费网站| 亚洲日韩第九十九页| 精品99一区二区三区| 99亚洲一区二区| 欧美另类视频| 久久亚洲春色中文字幕久久久| 国产一区二区三区久久悠悠色av| 激情综合电影网| 国内伊人久久久久久网站视频| 亚洲卡通欧美制服中文| 欧美日韩在线亚洲一区蜜芽| 亚洲伦伦在线| 国产一区二区三区久久悠悠色av| 美腿丝袜亚洲色图| 日韩写真在线| 久久免费黄色| 国产亚洲精品久| 亚洲深夜福利在线| 欧美一区二区三区喷汁尤物| 亚洲制服欧美中文字幕中文字幕| 免费一级欧美片在线播放| 欧美黄网免费在线观看| 久久经典综合| 黑人巨大精品欧美黑白配亚洲| 国产精品女主播在线观看| 欧美一级视频一区二区| 欧美一区二区免费观在线| 一本色道婷婷久久欧美| 蜜桃精品一区二区三区| 国产精品女人网站| 亚洲精品视频免费| 久久久久国产精品午夜一区| 一区久久精品| 国产精品日本欧美一区二区三区| 欧美成人激情视频免费观看| 欧美大胆成人| 免费成人av资源网| 亚洲成人在线观看视频| 一区二区久久久久久| 亚洲国产精品成人精品| 午夜久久99| 久热re这里精品视频在线6| 国产精品福利在线| 亚洲欧洲日产国产综合网| 日韩亚洲国产精品| 欧美 日韩 国产一区二区在线视频| 久久久噜噜噜久久久| 麻豆av一区二区三区| 国产精品夜色7777狼人| 黄色av成人| 久久国产毛片| 欧美精品播放| 亚洲尤物视频在线| 欧美精品久久久久久久免费观看| 亚洲国产欧美日韩另类综合| 久久激情视频久久| 中文欧美在线视频| 免费观看国产成人| 久久久久一区| 激情久久婷婷| 亚洲一级一区| 亚洲深爱激情| 99爱精品视频| 国产日韩精品视频一区二区三区| 欧美精品粉嫩高潮一区二区| 亚洲国产黄色片| 一区二区三区久久网| 美女国内精品自产拍在线播放| 国产精品久久久一区二区| 亚洲精品视频中文字幕| 亚洲精品一区二区三区婷婷月| 香蕉成人伊视频在线观看| 久久综合久久综合这里只有精品| 欧美sm视频| 免费高清在线视频一区·| 亚洲综合激情| 久久精品国产亚洲一区二区| 日韩一级片网址| 久久人人超碰| 国产精品视频九色porn| 国内久久视频| 国产精品一区二区久久国产| 欧美性一区二区| 99精品国产99久久久久久福利| 久久综合九九| 欧美久久精品午夜青青大伊人| 欧美jizzhd精品欧美巨大免费| 99re6这里只有精品视频在线观看| 国产在线麻豆精品观看| 欧美日韩免费| 久久精品国产99精品国产亚洲性色| 99视频超级精品| 亚洲第一成人在线| 日韩一二三在线视频播| 香蕉久久a毛片| 在线电影国产精品| 黄色一区二区三区| 性刺激综合网| 国产精品av免费在线观看| 亚洲大片一区二区三区| 亚洲欧美成人在线| 狠久久av成人天堂| 国产欧美一级| 国产一区三区三区| 在线视频你懂得一区二区三区| 欧美激情在线| 亚洲第一福利在线观看| 一区二区精品在线观看| 欧美另类一区二区三区| 国产一区导航| 亚洲久久一区二区| 欧美日韩裸体免费视频| 麻豆精品精品国产自在97香蕉| 免费成人av在线| 欧美精品一线| 99国产精品久久| 久久精品99| 久久夜色撩人精品| 激情亚洲网站| 亚洲免费观看高清完整版在线观看熊| 久久精品理论片| 免费成人激情视频| 亚洲品质自拍| 亚洲欧美制服另类日韩| 国产欧美精品在线观看| 久久中文久久字幕| 9久草视频在线视频精品| 亚洲欧美第一页| 在线欧美视频| 韩国视频理论视频久久| 欧美日韩综合网| 欧美日韩午夜在线| 国产亚洲第一区| 亚洲国产成人tv| 亚洲精品网址在线观看| 一区二区三区在线免费观看| 欧美日韩成人综合天天影院| 国产精品一区免费视频| 欧美激情视频在线免费观看 欧美视频免费一|