LPC2292的μC/OS-II硬件抽象層構建
引言
為了便于操作系統在不同硬件結構上進行移植,美國微軟公司首先提出了將底層與硬件相關的部分單獨設計成硬件抽象層(Hardware Abstraction Layer,HAL)的思想。硬件抽象層的引入大大推動了嵌入式操作系統的通用程度,為嵌入式操作系統的廣泛應用提供了可能。
1 μC/OS-II簡介
μC/OS-II實時操作系統是一種開發源碼的實時操作系統,可固化,可剪裁,具有高穩定性和可靠性。它最鮮明的特點就是源碼公開,便于移植和維護。目前μC/OS-II版本2.52,通過了美國航空管理局的安全認證,其穩定性和可用性是經過實踐的。μC/OS-II的應用已經覆蓋了諸多領域,如照相機、醫療器械、音像設備等。
2 硬件抽象層簡介
硬件抽象層隱藏特定平臺的硬件接口細節,為操作系統提供虛擬硬件平臺,使其具有硬件無關性,可在多種平臺上進行移植。它通過硬件抽象層接口向操作系統以及應用程序提供對硬件進行抽象后的服務。它主要有以下特點:
① 硬件相關性。作為操作系統與硬件之間的接口,硬件抽象層(HAL)必須為操作系統提供具體操作硬件的方法。
② 操作系統相關性。不同的操作系統具有各自的軟件層次結構,因此,不同的操作系統具有特定的硬件接口形式。
硬件抽象層是一個處于硬件之上,操作系統之下的軟件層次。它主要功能包括:
① 對系統硬件進行初始化;
② 為操作系統提供各種操作硬件的接口函數。
系統硬件的初始化方法,主要由硬件廠家提供;操作系統的各種硬件接口函數和宏定義,則需要通過硬件和操作系統的使用者在熟悉了操作系統和硬件平臺后自行編寫。μC/OS-II需要完成的硬件接口主要包括:類型的定義、任務上下文切換、中斷處理、任務堆棧初始化和定時處理。
圖1為硬件抽象層的功能示意圖。
圖1 硬件抽象層功能示意圖
評論