![嵌入式系統(tǒng)應用與學習心得體會_第1頁](http://file4.renrendoc.com/view5/M01/1A/19/wKhkGGYYpRCAah6FAATwJs1ZHx8315.jpg)
![嵌入式系統(tǒng)應用與學習心得體會_第2頁](http://file4.renrendoc.com/view5/M01/1A/19/wKhkGGYYpRCAah6FAATwJs1ZHx83152.jpg)
![嵌入式系統(tǒng)應用與學習心得體會_第3頁](http://file4.renrendoc.com/view5/M01/1A/19/wKhkGGYYpRCAah6FAATwJs1ZHx83153.jpg)
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
μC/OS嵌入式實時操作系統(tǒng)的應用和學習心得μC/OS-II是一種基于優(yōu)先級的搶占式多任務實時操作系統(tǒng),包含了實時內核、任務管理、時間管理、任務間通信同步(信號量,郵箱,消息隊列)和內存管理等功能。它可以使各個任務獨立工作,互不干涉,很容易實現(xiàn)準時而且無誤執(zhí)行,使實時應用程序的設計和擴展變得容易,使應用程序的設計過程大為減化。它是一個完整的、可移植、可固化、可裁剪的搶占式實時多任務內核。μC/OS-II絕大部分的代碼是用ANSII的C語言編寫的,包含一小部分匯編代碼,使之可供不同架構的微處理器使用。至今,從8位到64位,μC/OS-II已在超過40種不同架構上的微處理器上運行。μC/OS-II已經在世界范圍內得到廣泛應用,包括很多領域,如手機、路由器、集線器、不間斷電源、飛行器、醫(yī)療設備及工業(yè)控制上。實際上,μC/OS-II已經通過了非常嚴格的測試,并且得到了美國航空管理局的認證,可以用在飛行器上。這說明μC/OS-II是穩(wěn)定可靠的,可用于與人性命攸關的安全緊要系統(tǒng)。除此以外,μC/OS-II的鮮明特點就是源碼公開,便于移植和維護。我們在學習μC/OS嵌入式實時操作系統(tǒng)時用的教科書是任哲編著的《嵌入式實時操作系統(tǒng)μC/OS-Ⅱ原理及應用》,這本書介紹了嵌入式實時操作系統(tǒng)μC/OS-Ⅱ內核的任務管理和調度、系統(tǒng)時鐘和節(jié)拍服務、時間管理、中斷、任務的通信和同步、內存的簡單管理原理,同時給出了實例。最后,還介紹了μC/OS-Ⅱ的移植方法。在多任務系統(tǒng)中,內核負責管理各個任務,或者說為每個任務分配CPU時間,并且負責任務之間的通訊。內核提供的基本服務是任務切換。之所以使用實時內核可以大大簡化應用系統(tǒng)的設計,是因為實時內核允許將應用分成若干個任務,由實時內核來管理它們。內核本身也增加了應用程序的額外負荷,代碼空間增加ROM的用量,內核本身的數(shù)據結構增加了RAM的用量。但更主要的是,每個任務要有自己的??臻g,這一塊吃起內存來是相當厲害的。內核本身對CPU的占用時間一般在2到5個百分點之間。μC/OS-Ⅱ有一個精巧的內核調度算法,實時內核精小,執(zhí)行效率高,算法巧妙,代碼空間很少,具有如下特點:只支持基于優(yōu)先級的搶占式調度算法,不支持時間片輪循;64個優(yōu)先級,只能創(chuàng)建64個任務,用戶只能創(chuàng)建56個任務;每個任務優(yōu)先級都不相同;不支持優(yōu)先級逆轉;READY隊列通過內存映射表實現(xiàn)快速查詢;效率非常高;支持時鐘節(jié)拍;支持信號量,消息隊列,事件控制塊,事件標志組,消息郵箱任務通訊機制;支持中斷嵌套,中斷嵌套層數(shù)可達255層,中斷使用當前任務的堆棧保存上下文;每個任務有自己的堆棧,堆棧大小用戶自己設定;支持動態(tài)修改任務優(yōu)先級;任務TCB為靜態(tài)數(shù)組,建立任務只是從中獲得一個TCB,不用動態(tài)分配,釋放內存;任務堆棧為用戶靜態(tài)或者動態(tài)創(chuàng)建,在任務創(chuàng)建外完成,任務創(chuàng)建本身不進行動態(tài)內存分配;任務的總個數(shù)(OS_MAX_TASKS)由用戶決定;0優(yōu)先級最高,63優(yōu)先級最低;有一個優(yōu)先級最低的空閑任務,在沒有用戶任務運行的時候運行。任務的調度核心主要是在任務就緒表中查找具有最高優(yōu)先級別的就緒任務及實現(xiàn)任務切換,即將找到的的最高優(yōu)先級別的任務的“任務號”--->“當前任務的任務號OSPrioCur”;從OSTCBPrioTbl[]取出最高優(yōu)先級別任務的任務控制塊首地址--->“當前任務的任務控制塊指針OSTCBCur”,最后調用OS_TASK_SW()完成現(xiàn)場切換(即將CPU的寄存器信息保存到當前正運行任務的私棧中,然后從待運行的高優(yōu)先級別的任務私棧中彈出原先保存寄存器信息到CPU)。時鐘節(jié)拍服務放到一個時鐘節(jié)拍任務中完成,通過采用啥希散列表機制來管理延時任務,每次時鐘節(jié)拍服務只需要處理極少數(shù)的延時任務,從而大大減少了時鐘節(jié)拍服務花費的時間,提高了系統(tǒng)的實時性。另外,在μC/OS系列RTOS中,時鐘節(jié)拍服務除了會跟蹤延時的任務,還會跟蹤那些指定了超時時限的等待任務。也就是說,當指定的超時時限結束時,即使任務等待的事件沒有發(fā)生,時鐘節(jié)拍服務也會使該任務恢復運行。uC/OS-II的時間管理是通過定時中斷來實現(xiàn)的,該定時中斷一般為10毫秒或100毫秒發(fā)生一次,時間頻率取決于用戶對硬件系統(tǒng)的定時器編程來實現(xiàn)。中斷發(fā)生的時間間隔是固定不變的,該中斷也成為一個時鐘節(jié)拍。uC/OS-II要求用戶在定時中斷的服務程序中,調用系統(tǒng)提供的與時鐘節(jié)拍相關的系統(tǒng)函數(shù),例如中斷級的任務切換函數(shù),系統(tǒng)時間函數(shù)。uC/OS-II中最多可以支持64個任務,分別對應優(yōu)先級0~63,其中0為最高優(yōu)先級。63為最低級,系統(tǒng)保留了4個最高優(yōu)先級的任務和4個最低優(yōu)先級的任務,所有用戶可以使用的任務數(shù)有56個。還提供了任務管理的各種函數(shù)調用,包括創(chuàng)建任務,刪除任務,改變任務的優(yōu)先級,任務掛起和恢復等。系統(tǒng)初始化時會自動產生兩個任務:一個是空閑任務,它的優(yōu)先級最低,該任務僅給一個整形變量做累加運算;另一個是系統(tǒng)任務,它的優(yōu)先級為次低,該任務負責統(tǒng)計當前cpu的利用率。想使用在MCU上使用μC/OS-II則必須滿足以下幾個條件:①處理器C編譯器支持可重入代碼的生成;②用C語言可以打開和關閉中斷;③處理器支持中斷,并能產生定時中斷(中斷頻率通常設置在10~100Hz之間);④處理器支持足夠的RAM空間,以滿足多任務環(huán)境下設置任務堆棧的要求;⑤處理器有相應的指令,能將堆棧指針和其它CPU寄存器讀出和存儲到堆棧或內存中。μC/OS-II代碼中大部分是用C語言寫的,但涉及到數(shù)據類型的重定義、堆棧結構的設計、任務切換時狀態(tài)的保存和恢復等問題的大部分代碼由于與處理器有關,是用匯編語言實現(xiàn)的。移植所要做的工作,就是在不同的處理器上用匯編語言來改寫與處理器有關的代碼及其他與處理器特性相關的部分。在μC/OS-II移植過程中涉及以上問題的代碼都包含在文件OS_CPU.H、OS_CPU_C.C、OS_CPU_A.ASM中。因此移植的主要工作也在源代碼的基礎上圍繞著這三個文件的改寫展開??傊瑢W習μC/OS嵌入式實時操作系統(tǒng)首先得先了解整個系統(tǒng)的結構,工作時的流程,比如任務1運行時如果有外部中斷會發(fā)生什么(調用中斷服務程序,把相應的任務加如就緒列,內核進行調度,就緒隊列中的最高優(yōu)先級的任務...)等,再對代碼進行具體的研究會比較容易。我們需熟知μC/OS嵌入式實時操作系統(tǒng)中的函數(shù)及其應用,例如引起任務調度的系統(tǒng)函數(shù)有OSStart()uCOS/II啟動;OSTaskSuspend()掛起任務;OSTaskResume()恢復任務;OSTimeDly()/OSTimeDlyHMSM()等待一個事件的發(fā)生等。只有在熟識系統(tǒng)運行的方式及可以引發(fā)其運行的函數(shù)的情況下我們才能較好的去運用它,用它來實現(xiàn)移植,從而達到我們的目的。學習實時操作系統(tǒng),任哲編著的《嵌入式實時操作系統(tǒng)μC/OS-Ⅱ原理及應用》這本書相對來說比較適合初學者,它篇幅適中,通俗易懂,若能結合北京航空航天大學《ucosii操作系統(tǒng)講義》就更加好了。正所謂讀書百遍,其義自現(xiàn),通過對《北航》和《任哲》的資料不斷反復地學習和閱讀,我心中總算有些眉目
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇人版道德與法治九年級上冊7.1《一般違法與犯罪》聽課評課記錄
- 浙教版數(shù)學七年級上冊《6.3 線段的大小比較》聽評課記錄1
- 瑜伽健康活動贊助合同(2篇)
- 生態(tài)修復工程招標合同(2篇)
- 甲方因乙方責任解除合同范本(2篇)
- 2022年新課標八年級上冊歷史第19課七七事變與全民族抗戰(zhàn)聽課評課記錄
- 人教版地理七年級下冊《8.4澳大利亞》聽課評課記錄
- 浙教版數(shù)學七年級下冊《2.4 二元一次方程組的簡單應用》聽評課記錄2
- 人教版數(shù)學八年級下冊《19.3 課題學習-選擇方案》聽評課記錄
- 人教部編版七年級道德與法治上冊:7.1《家的意味》聽課評課記錄1
- 七上 U2 過關單 (答案版)
- 四川省地圖模板含市縣圖課件
- 帶拼音生字本模板(可A4打印)
- 小學語文必備文學常識???00題匯總(含答案)
- 英語人教版高中必修三(2019新編)第一單元教案
- 超高大截面框架柱成型質量控制
- GB 9706.1-2020醫(yī)用電氣設備第1部分:基本安全和基本性能的通用要求
- 森林法講解課件
- 口腔頜面外科:第十六章-功能性外科與計算機輔助外科課件
- 信用證審核課件
- 植物工廠,設計方案(精華)
評論
0/150
提交評論