ucosII學習筆記 1

2021-06-05 01:29:12 字數 1055 閱讀 7300

核心結構學習

一.臨界段(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.對硬體的配置...