嵌入式操作系統(tǒng)教程-第八章

上傳人:hjk****65 文檔編號:248186540 上傳時間:2024-10-22 格式:PPT 頁數:13 大小:222.50KB
收藏 版權申訴 舉報 下載
嵌入式操作系統(tǒng)教程-第八章_第1頁
第1頁 / 共13頁
嵌入式操作系統(tǒng)教程-第八章_第2頁
第2頁 / 共13頁
嵌入式操作系統(tǒng)教程-第八章_第3頁
第3頁 / 共13頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《嵌入式操作系統(tǒng)教程-第八章》由會員分享,可在線閱讀,更多相關《嵌入式操作系統(tǒng)教程-第八章(13頁珍藏版)》請在裝配圖網上搜索。

1、第一章 操作系統(tǒng)的基本概念,*,*,*,嵌入式操作系統(tǒng)基礎 第八章,uC,/OS-II,的中斷與時鐘,第八章,uC,/OS-II,的中斷與時鐘,uC,/OS-II,的中斷,uC,/OS-II,的時鐘,uC,/OS-II,的管理問題,1,第八章,uC,/OS-II,的中斷和時鐘,一、,uC,/OS-II,的中斷過程,1.,中斷,:應內部或外部異步事件的請求終止當前任務,而去處理異步事件所要球的任務的過程。,2.,中斷服務子程序,:應中斷請求而運行的程序。,3.,中斷向量,:沖斷服務子程序的入口地址。,4.,中斷嵌套,:,uC,/OS-II,允許中斷過程中響應更高級的中斷請求。,8.1,uC,/O

2、S-II,的中斷,2,5.,中斷服務子程序,保存全部,CPU,寄存器,;,(1),調用,OSIntEnter,(),或,OSIntNesting,直接加,1;,(2),執(zhí)行用戶代碼做中斷服務,;,(3),調用,OSIntExit,(),;,(4),恢復所有,CPU,寄存器;,(5),執(zhí)行中斷返回指令;,(6),uC,/OS-II,系統(tǒng)通常用一個任務來完成異步事件的處理工作,而在終端服務程序中只是通過向任務發(fā)送消息的方法來激活這個任務。,3,4,6.,兩個重要的中斷函數,void,OSIntExit,(void),OS_ENTER_CRITICAL();(1),if(-,OSIntNesting

3、,|,OSLockNesting,)=0)(2),OSIntExitY,=,OSUnMapTblOSRdyGrp,;(3),OSPrioHighRdy,=(INT8U)(OSIntExitY,OSTCBStkPtr,;,/,使,SP,指向待運行任務堆棧,用出棧指令把,R!,R2,彈入處理器的通用寄存器;,REIT;,/,中斷返回,使,PC,指向待運行任務,7,三、,臨界段的處理,1.,臨界段,:應用程序中經常有些代碼段必須不受任何干擾的運行,把這樣的代碼段叫,臨界段,。,2.,服務于中斷的兩個宏:,#define OS_ENTER_CRITICAL(),cpu_sr,=,get_process

4、or_psw,();,/,保存狀態(tài)字,disable_interruptw,();,#define OS_EXIT_CRITICAL(),set_processor_psw(cpu_sr,);,/,恢復狀態(tài)字,8,8.2,uC,/OS-II,的時鐘,1.,時鐘,:任何系統(tǒng)都要提供一個周期性的型號源,以供系統(tǒng)處理諸如任務的等待、延時等與時間有關的事件,此信號源就叫系統(tǒng),時鐘,。,2.,時鐘節(jié)拍,:兩次中斷之間的間隔的時間,此時間稱為,時鐘節(jié)拍,。時鐘節(jié)拍的中斷服務程序代碼如下:,void,OSTickISR(void,),保存處理器寄存器的值;,調用,OSIntEnter,(),或是將,OSIn

5、tNesting,加,1;,調用,OSTimeTick,();,調用,OSIntExit,();,恢復處理器寄存器的值,;,執(zhí)行中斷返回指令,;,9,void,OSTimeTick,(void),OS_TCB*,ptcb,;,OSTimeTickHook,();(1),ptcb,=,OSTCBList,;(2),while(,ptcb,-,OSTCBPrio,!=OS_IDLE_PRIO)(3),OS_ENTER_CRITICAL();,if(,ptcb,-,OSTCBDly,!=0),if(-,ptcb,-,OSTCBDly,=0),if(!(,ptcb,-,OSTCBStat,&OS_ST

6、AT_SUSPEND)(4),OSRdyGrp,|=,ptcb,-,OSTCBBitY,;(5),OSRdyTblptcb,-OSTCBY|=,ptcb,-,OSTCBBitX,;,else,ptcb,-,OSTCBDly,=1;,ptcb,=,ptcb,-,OSTCBNext,;,OS_EXIT_CRITICAL();,OS_ENTER_CRITICAL();(6),OSTime,+;(7),OS_EXIT_CRITICAL();,捕捉當前顯示,以便返回,轉等待為就緒,計時器,10,8.3,uC,/OS-II,的時間管理,1.,任務延時,:,uC,/OS-II,系統(tǒng)按任務優(yōu)先級調度任務,其內

7、核為可剝脫型,為避免低級任務長時間得不到運行,系統(tǒng)規(guī)定:除,IdleTask,外,運行任務必須在合適時段暫停運行一段規(guī)定時間。任務延時函數,OSTimeDly,(),代碼如下?,void,OSTimeDly,(INT16U ticks),if(ticks 0)(1),OS_ENTER_CRITICAL();,if(,OSRdyTblOSTCBCur,-OSTCBY&=,OSTCBCur,-,OSTCBBitX,)=0(2),OSRdyGrp,&=,OSTCBCur,-,OSTCBBitY,;,OSTCBCur,-,OSTCBDly,=ticks;(3),OS_EXIT_CRITICAL();,

8、OSSched,();(4),11,2.,恢復正在延時任務,C/OS-,允許用戶結束延時正處于延時期的任務。延時的任務可以不等待延時期滿,而是通過其它任務取消延時來使自己處于就緒態(tài)。這可以通過調用,OSTimeDlyResume,(),和指定要恢復的任務的優(yōu)先級來完成。,12,3.,系統(tǒng)時間,,OSTimeGet,(),和,OSTimeSet,(),INT32U,OSTimeGet,(void),INT32U ticks;,OS_ENTER_CRITICAL();,ticks=,OSTime,;,OS_EXIT_CRITICAL();,return(ticks);,void,OSTimeSet,(INT32U ticks),OS_ENTER_CRITICAL();,OSTime,=ticks;,OS_EXIT_CRITICAL();,系統(tǒng)節(jié)拍計數器,13,

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!