官术网_书友最值得收藏!

2.2 嵌入式操作系統文件構成與接口定義

嵌入式μCOS-Ⅱ的框架層次如圖2.5所示。μCOS-Ⅱ內核包括任務管理、任務調度、任務間通信、內存管理和中斷服務例程ISR,還包括系統任務、時鐘節拍和時間處理等模塊。與任務和內存相關的部分是在驅動層上完成的,而與時鐘有關的部分則直接作用于硬件。根據不同應用,有GUI、TCP/IP和文件系統等可選API模塊。應用軟件都是由任務組成的,可以直接調用內核,也可以在應用程序接口API之上運行。程序的入口是啟動代碼。啟動代碼直接初始化一些硬件。

圖2.5 嵌入式μCOS的框架層次

μCOS-Ⅱ源文件已將各文件做了很好的歸類,以方便用戶在其他處理器上移植它的代碼(圖2.6)。與硬件相關的接口部分被設計到一些文件中,如OS_MCU.H,OS_MCU_A.ASM,OS_ MCU_C.C是與用戶具體使用的處理器相關的,在移植時要根據處理器對其中的代碼做相應修改,這些文件所體現的就是μCOS-Ⅱ所謂的HAL(硬件抽象層),也就是接口定義。

圖2.6 μCOS-Ⅱ的文件

另外OS_CFG.H,INCLUDES.H與用戶具體的應用程序相關,包括決定任務的最低優先級,用戶應用程序所能擁有的最大任務數等。這兩個文件就是與上層應用軟件的接口,提供應用程序的一些配置。

對于其余文件,用戶在移植時一般不用考慮修改。

1.頭文件組織關系

μCOS-Ⅱ.H是所有C源文件的頭文件,用來定義常量、數據結構、全局變量和函數聲明等。OS_CFG.H,是與MCU_file相配套的頭文件,包括確定數組長度、選配功能模塊。OS_MCU.H,是與TASK_file相配套的,用來定義基本數據類型、匯編函數聲明。

2.源文件組織關系

μCOS-Ⅱ.C包括以下文件的調用: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是時間相關源文件;OS_TMR.C是建立在操作系統的定時器,提供時鐘節拍等相關源文件。OS_MCU_C.C是MCU_file,包括堆棧初始化和外掛函數實現。OS_MCU_A.ASM是TASK_file,包括任務級切換、中斷級切換的實現。

做移植的用戶需要改寫的文件有:OS_CFG.H、OS_MCU.H、OS_MCU_C.C和OS_MCU_A.ASM。

主站蜘蛛池模板: 凤城市| 仪征市| 安岳县| 澄迈县| 孟连| 太湖县| 尖扎县| 大洼县| 白玉县| 屏东市| 鞍山市| 佛山市| 信宜市| 马山县| 信丰县| 宜阳县| 中牟县| 肇东市| 天镇县| 格尔木市| 黄龙县| 那坡县| 宁南县| 濮阳市| 丹东市| 祁连县| 永嘉县| 滨海县| 察雅县| 天长市| 吴堡县| 海宁市| 江油市| 和顺县| 莲花县| 乐亭县| 河源市| 读书| 青州市| 冷水江市| 贡觉县|