探索ucos-ii之路 一 --核心目錄結構和核心組成
阿新 • • 發佈:2018-12-21
UCOS-ii2.5.2核心目錄結構和組成
1.uCOS-II Source->source:(與處理器型別無關的程式碼)
********************************************************************************** OS_CORE.C 系統初始化,開啟多工環境等的程式碼 ********************************************************************************** OS_FLAG .C 事件標誌組管理程式碼 ********************************************************************************** OS_MBOX .C 訊息郵箱管理程式碼 ********************************************************************************** OS_MEM.C 記憶體管理程式碼 ********************************************************************************** OS_MUTEX.C 互斥型訊號量管理程式碼 ********************************************************************************** OS_Q.C 訊息佇列管理 ********************************************************************************** OS_SEM.C 訊號量管理程式碼 ********************************************************************************** OS_TASK.C 任務管理程式碼 ********************************************************************************** OS_TIME.C 事件管理程式碼 ********************************************************************************** uCOS_II.C 包含核心的其它C語言原始檔 *********************************************************************************
2 uCOS II配置檔案(與應用程式有關)
********************************************************************************** INCLUDES .H 系統的全域性標頭檔案,在所有的原始碼中包含********************************************************************************** OS_CFG .H UCOS系統的全域性配置*********************************************************************************
3 移植uCOS II (與處理器有關的程式碼)
********************************************************************************** OS_CPU .h 包含與處理器相關的常量、巨集及結構體定義********************************************************************************** OS_CPU_C.C 多工棧初始化等與處理器有關的程式碼********************************************************************************** OS_CPU_A.asm 組合語言編寫的啟動任務、任務切換等四個重要函式*********************************************************************************
4 μC/OS-II組成
μC/OS-II可以大致分成核心、任務處理、時間處理、任務同步與通訊,CPU的移植等5個部分。
1) 核心部分(OSCore.c) 是作業系統的處理核心,包括作業系統初始化、作業系統執行、中斷進出的前導、時鐘節拍、任務排程、事件處理等多部分。能夠維持系統基本工作的部分都在這裡。
2) 任務處理部分(OSTask.c) 任務處理部分中的內容都是與任務的操作密切相關的。包括任務的建立、刪除、掛起、恢復等等。因為μC/OS-II是以任務為基本單位排程的,所以這部分內容也相當重要。
3) 時鐘部分(OSTime.c) μC/OS-II中的最小時鐘單位是timetick(時鐘節拍)。任務延時等操作是在這裡完成的。
4) 任務同步和通訊部分 為事件處理部分,包括訊號量、郵箱、訊息佇列、事件標誌等部分;主要用於任務間的互相聯絡和對臨界資源的訪問。
5) 與CPU的介面部分 是指μC/OS-II針對所使用的CPU的移植部分。由於μC/OS-II是一個通用性的作業系統,所以對於關鍵問題上的實現,還是需要根據具體CPU的具體內容和要求作相應的移植。這部分內容由於牽涉到SP等系統指標,所以通常用匯編語言編寫。主要包括中斷級任務切換的底層實現、任務級任務切換的底層實現、時鐘節拍的產生和處理、中斷的相關處理部分等內容。