HDF(Hardware Driver Foundation)驅動框架,為驅動開發者提供驅動框架能力,包括驅動加載、驅動服務管理和驅動消息機制 。旨在構建統一的驅動架構平臺,為驅動開發者提供更精準、更高效的開發環境,力求做到一次開發,多系統部署 。

一、HarmonyOS驅動概述
HarmonyOS驅動框架采用C語言面向對象編程模型構建,通過平臺解耦、內核解耦,來達到兼容不同內核,統一平臺底座的目的,從而幫助開發者實現驅動的“一次開發,多系統部署” 。
為了達成這個目標,HarmonyOS驅動框架提供了:
1、操作系統適配層(OSAL,operating system abstraction layer):提供內核操作相關接口進行統一封裝,屏蔽不同系統操作接口 。
2、平臺驅動接口:提供Board部分驅動(例如:I2C/SPI/UART總線等平臺資源)支持,同時對Board硬件操作接口進行統一的適配抽象,開發者只需開發新硬件抽象接口,即可獲得新增Board部分驅動支持 。
3、驅動模型:面向器件驅動,提供常見的驅動抽象模型,主要達成兩個目的:
● 提供標準化的器件驅動,開發者無需獨立開發,通過配置即可完成驅動的部署 。
● 提供驅動模型抽象,屏蔽驅動與不同系統組件間的交互,使得驅動更具備通用性 。
為了進一步簡化HarmonyOS驅動開發,HarmonyOS驅動框架支持多種驅動加載方式:
● 支持驅動動態加載和靜態加載,解除驅動代碼和框架間的直接代碼依賴,使得驅動程序可以獨立編譯和部署;
● 支持按需動態加載方式,避免設備驅動全量加載,可有效降低系統資源的占用 。
本文主要分析HarmonyOS驅動加載過程,在正式介紹之前,首先了解HarmonyOS驅動架構的組成、工作原理和機制,從而了解驅動加載的細節 。
官網相關介紹:https://device.harmonyos.com/cn/docs/develop/drive/oem_drive_hdfdev-0000001051715456
二、HarmonyOS驅動架構介紹
2.1 HarmonyOS驅動架構組成

圖1 HarmonyOS驅動架構
HarmonyOS驅動架構主要由HDF驅動框架、驅動程序、驅動配置文件和驅動接口四個部分組成 。
1)HDF驅動框架提供統一的硬件資源管理,驅動加載管理以及設備節點管理等功能 。
驅動框架采用的是主從模式設計,由Device Manager和Device Host組成 。
Device Manager提供了統一的驅動管理,Device Manager啟動時根據Device Information提供驅動設備信息加載相應的驅動Device Host,并控制Host完成驅動的加載 。
Device Host提供驅動運行的環境,同時預置Host Framework與Device Manager進行協同,完成驅動加載和調用 。根據業務的需求Device Host可以有多個實例 。
說明:
Device Host顧名思義就是驅動宿主,提供驅動運行的環境 。
當驅動部署在用戶態時,Device Host可以由獨立的進程進行承載 。
當驅動在部署在內核態時,Device Host僅表示邏輯隔離 。
Device Host的劃分原則:Device Host屬于一類設備聚合,如Camera,Audio,Display等 。
驅動程序是部署在一個Device Host還是部署在不同的Device Host,主要考慮驅動程序之間是否存的業務耦合性,如果兩個驅動程序之間存在依賴,可以考慮將這部分驅動程序部署在統一Host 。
2)驅動程序實現驅動的具體功能,每個驅動由一個或者多個驅動程序組成,每個驅動程序都對應著一個Driver Entry 。Driver Entry主要完成驅動的初始化和驅動接口綁定功能 。
3)驅動配置文件.hcs主要由設備信息(Device Information)和設備資源(Device Resource)組成 。
推薦閱讀
- win10任務欄透明設置不了 我來分享win10任務欄透明怎么設置
- win10不能輸入怎么辦 小編教你Win10鍵盤無法輸入怎么辦
- excel表格導入CAD 我來分享怎么把Excel表格導入CAD中
- win10電腦時不時卡頓 小編教你Win10時不時卡頓怎么辦
- 我來教你電腦怎么連接打印機步驟
- 我來分享電腦出現應用程序錯誤怎么修復
- 關閉win10自帶殺毒軟件的工具 我來教你怎么關閉win10自帶殺毒軟件
- 我來分享電腦無法刪除文件怎么辦
- 我來分享查看自己電腦的型號方法
- 我來教你2021年5月15日支付寶螞蟻莊園答案公布!螞蟻莊園小課堂5.15今日最新答案
