- 嵌入式操作系統原理及應用
- 嚴海蓉編著
- 792字
- 2018-12-27 15:16:50
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。
- 輕輕松松自動化測試
- Introduction to DevOps with Kubernetes
- MCSA Windows Server 2016 Certification Guide:Exam 70-741
- 基于多目標決策的數據挖掘方法評估與應用
- 嵌入式操作系統
- Troubleshooting OpenVPN
- 智能鼠原理與制作(進階篇)
- 基于ARM9的小型機器人制作
- 機床電氣控制與PLC
- 中老年人學電腦與上網
- Java Deep Learning Projects
- Microsoft Power BI Complete Reference
- 博弈論與無線傳感器網絡安全
- 智能移動機器人的設計、制作與應用
- Hands-On Neural Networks with TensorFlow 2.0