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