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