Android 硬體抽象層(HAL)

2021-09-28 11:27:53 字數 723 閱讀 6036

出發點:保護廠商利益

android的硬體抽象層,簡單來說,就是

對linux核心驅動程式的封裝,向上提供介面,遮蔽低層的實現細節。也就是說,把對硬體的支援分成了兩層,一層放在使用者空間(user space),一層放在核心空間(kernel space),其中,硬體抽象層執行在使用者空間,而linux核心驅動程式執行在核心空間。

核心驅動層只提供簡單的訪問硬體邏輯,例如讀寫硬體暫存器的通道,

至於從硬體中讀到了什麼值或者寫了什麼值到硬體中的邏輯,都放在硬體抽象層中去了,這樣就可以把商業秘密隱藏起來了。也正是由於這個分層的原因,android被踢出了linux核心主線**樹中。大家想想,android放在核心空間的驅動程式對硬體的支援是不完整的,把linux核心移植到別的機器上去時,由於缺乏硬體抽象層的支援,硬體就完全不能用了,這也是為什麼說android是開放系統而不是開源系統的原因。

裝置驅動分為核心空間和使用者空間兩部分:

android硬體驅動程式開發:與傳統的linux硬體驅動程式開發是一樣的

android硬體驅動程式驗證

android硬體抽象層模組開發

android硬體訪問服務開發

硬體抽象層 HAL

本章主要講硬體抽象層 hal硬體抽象層是建立在linux驅動之上的一套程式庫。這套程式庫並不屬於linux核心,而是屬於linux核心層上的應用層。google為android加入hal主要有以下目的 統一硬體的呼叫介面。由於hal有標準的呼叫介面,所以可以利用hal遮蔽了linux驅動複雜 不統一...

什麼是HAL 硬體抽象層

hal hardware abstraction layer 硬體抽象層 這個是李先靜的blog的解釋,真是天下何處不逢君啊 hal是hardware abstraction layer的首字母縮寫。我最早是在winnt 3.5的幫助中知道這個名詞的,對幫助文件中的說法我比較認同,所以一直對它抱有好...

第9章 硬體抽象層 HAL

撇開這些爭論,學習android硬體抽象層,對理解整個android整個系統,都是極其有用的,因為它從下到上涉及到了android系統的硬體驅動層 硬體抽象層 執行時庫和應用程式框架層等等,下面這個圖闡述了硬體抽象層在android系統中的位置,以及它和其它層的關係 android加入hal主要有如...