核心結構學習
一.臨界段(critical sections)。
**的臨界段也稱為臨界區。程式執行到臨界區時,不允許有中斷進入,因此在進入臨界區前要關中斷,執行完臨界區馬上開中斷。
μc/os-ⅱ中的這兩個巨集呼叫分別是:os_enter_critical()和os_exit_critical()。因為這兩個巨集的定義取決於所用的微處理器,故在檔案os_cpu.h中可以找到相應巨集定義。每種微處理器都有自己的os_cpu.h檔案。51處理器的例子如下:
#define os_enter_critical() ea=0
#define os_exit_critical() ea=1
二.任務及任務狀態
1.任務是乙個無限迴圈,不返回任何值,因此函式型別為void。如果要退出任務,任務需自我刪除,如下:
void yourtask(void *pdata)
2.任務狀態:
1.睡眠態(dormant)指任務駐留在程式空間之中,還沒有交給μc/os-ⅱ管理。把任務交給μc/os-ⅱ是通過2.呼叫下述兩個函式之一:ostaskcreate()或ostaskcreateext()。
3.等待態(waiting)指等待某一事件的觸發而進入就緒態。
4.就緒態(ready)指在佇列中等待的任務,一切就緒,只缺東風——cpu。
5.執行態(running)指擁有cpu控制權,正在執行的任務。正在執行的任務可以通過呼叫兩個函式之一將自身延遲一段時間,這兩個函式是ostimedly()或ostimedlyhmsm()。正在執行的任務可以通過以下幾個函式進入等待態,ossempend(),osmboxpend(),或osqpend()。
6.中斷服務態(isr)指程式執行處於中斷過程,cpu正在處理中斷事件。
7.空閒狀態。當所有的任務都在等待事件發生或等待延遲時間結束,μc/os-ⅱ執行空閒任務(idle task),執行ostaskidle()函式。
UCOSII學習筆記(1)
在這裡記錄下我的ucosii學習過程,我學習的資料是正點原子的stm32f407學習資料。ucosii是乙個可以基於rom執行的 可裁剪的 搶占式 實時多工核心,具有高度移植性,特別適合微處理器和控制器。也就是一種實時作業系統。ucosii具有執行效率高 占用空間小,實時效能良好和可拓展性強等特點。...
ucosII學習筆記
以前很少接觸過嵌入式作業系統,這次因為要嘗試研究ucosii這個嵌入式作業系統,看看自己能不能盡快的會使用它,查詢了不少資料。ucosii學習筆記。以下是nathan.yu的 ucosii學習筆記 整理的不錯,自己先借鑑。ucosii學習筆記 by nathan.yu ucos ii特性 l 可剝奪...
UCOS II學習筆記
1.標頭檔案的配置 include stm32f10x.h include stm32f10x conf.h include ucos ii.h 2.任務堆疊配置 os stk led0 task stk 64 os stk led1 task stk 64 定義兩個任務的堆疊陣列 3.對硬體的配置...