HAL Hardware Abstraction Layer 硬件抽象層
硬件抽象層 HAL
(Hardware Abstraction Layer )
硬件抽象層是位于操作系統(tǒng)內(nèi)核與硬件電路之間的接口層,其目的在于將硬件抽象化。它隱藏了特定平臺的硬件接口細(xì)節(jié),為操作系統(tǒng)提供虛擬硬件平臺,使其具有硬件無關(guān)性,可在多種平臺上進(jìn)行移植。 從軟硬件測試的角度來看,軟硬件的測試工作都可分別基于硬件抽象層來完成,使得軟硬件測試工作的并行進(jìn)行成為可能。
硬件抽象層大概分為以下幾點(diǎn)HAL:
*上層軟件
*虛擬驅(qū)動(dòng),設(shè)置管理模塊
*內(nèi)部通信SERVER
*內(nèi)部以太網(wǎng)
*內(nèi)部通信CLIENT
*用戶接入口
硬件抽象層接口的定義和代碼的設(shè)計(jì)具有一下特點(diǎn):
*硬件抽象層具有與硬件的密切相關(guān)性
*硬件抽象層具有與操作系統(tǒng)無關(guān)性
*接口定義的功能應(yīng)包含硬件或系統(tǒng)所需硬件支持的所有功能
*接口定義簡單明了,太多接口函數(shù)會增加軟件模擬的復(fù)雜性
*具有可測性的接口設(shè)計(jì)有利于系統(tǒng)的軟硬件測試和集成
硬件抽象層對用戶設(shè)備接口的功能模擬主要由虛擬驅(qū)動(dòng)模塊完成,包括數(shù)據(jù)包的收發(fā)及協(xié)議報(bào)文的預(yù)處理等工作,為上層協(xié)議軟件提供標(biāo)準(zhǔn)的API函數(shù), 而對用戶設(shè)備的接口管理則由上層網(wǎng)絡(luò)管理軟件通地設(shè)備管理模塊對其進(jìn)行管理配置及監(jiān)控,內(nèi)部通信模塊運(yùn)行于內(nèi)部隊(duì)以太網(wǎng)絡(luò),協(xié)調(diào)各模塊之間的功能接口,保證從處理單元與主處理單元之間實(shí)時(shí)可靠的數(shù)據(jù)傳輸.