精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙開發實戰:【Hdf Framework】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-03-21 20:29 ? 次閱讀

簡介

該倉主要存放OpenHarmony驅動子系統核心源碼信息(包括驅動框架、配置管理、配置解析、驅動通用框架模型、硬件通用平臺能力接口等),旨在為開發者提供更精準、更高效的開發環境,力求做到一次開發,多系統部署。

圖 1 驅動框架架構圖[]()

說明

驅動框架使用說明

基于HDF框架開發驅動,開發者只需注冊所需接口和配置,驅動框架就會解析配置內容,完成驅動加載和初始化動作。

HDF驅動框架主要包含三部分:

1、驅動程序部分----完成驅動的功能邏輯。

2、驅動配置信息----指示驅動的加載信息內容。

3、驅動資源配置----配置驅動的硬件配置信息。

驅動程序主要是完成驅動功能的邏輯代碼:

對于開發者首先看到的是驅動入口部分,驅動入口通過結構體DriverEntry進行描述。

其中主要包含Bind, Init 和Release三個接口。

struct HdfDriverEntry g_deviceSample = {
    .moduleVersion = 1,
    .moduleName = "sample_driver", 
    .Bind = SampleDriverBind,
    .Init = SampleDriverInit,
    .Release = SampleDriverRelease,
};

Bind接口描述:該接口的作用主要是完成驅動設備和設備服務接口的bind動作。

int32_t SampleDriverBind(struct HdfDeviceObject *deviceObject)
{
    return HDF_SUCCESS;
}

Init接口描述:當框架完成設備綁定動作后,就開始調用驅動初始化接口,初始化成功后,驅動框架根據配置文件決定是對外創建設備服務接口,還是接口只對當前服務可見。如果Init初始化失敗,驅動框架就會主動釋放創建的設備接口等信息。

int32_t SampleDriverInit(struct HdfDeviceObject *deviceObject)
{
    return HDF_SUCCESS;
}

Release接口描述:當用戶需要卸載驅動時,驅動框架先通過該接口通知驅動程序釋放資源,然后再釋放其他內部資源。

void SampleDriverRelease(struct HdfDeviceObject *deviceObject)
{
    // Release all resources.
    return;
}

Sensor框架模型說明

基于HDF(Hardware Driver Foundation)驅動框架的Sensor驅動模型,可實現跨操作系統遷移、器件差異配置等功能。

Sensor驅動模型主要由以下兩部分組成:

  • 基礎能力部分:依賴HDF驅動框架實現Sensor器件驅動的注冊、加載、去注冊、器件探測等能力,提供同一類型Sensor器件的驅動歸一接口、寄存器配置解析操作接口、總線訪問抽象接口和平臺抽象接口。
  • 開發者實現部分:依賴HDF驅動框架的HCS(HDF Configuration Source)配置管理,根據同類型Sensor差異化配置,實現Sensor器件參數序列化配置和器件部分操作接口。

Display框架模型說明

基于OpenHarmony驅動框架的Display驅動模型,對下屏蔽了芯片平臺差異,方便操作系統跨平臺遷移;向上抽象了外設驅動公共業務邏輯,通過配置或差異化適配接口,實現了一套驅動模型兼容不同的外設器件,使得三方廠商可以高效、便捷的切入鴻蒙驅動生態。

Display驅動模型主要由以下兩部分組成:

  • 基礎能力部分:包括HDI(Hardware Driver Interfaces)接口的定義及實現框架,以及芯片平臺對HDI接口的適配實現;內核驅動部分抽象了Panel驅動的公共業務,提供了Panel初始化、器件配置信息獲取、上下電、背光設置等公共流程。
  • 開發者實現部分:需要完成板級HCS配置及Panel私有數據配置,實現部分器件差異化接口。

Input框架模型說明

基于OpenHarmony驅動框架的Input驅動模型,不依賴于芯片平臺,對上層輸入服務提供統一的驅動接口;在具體的驅動模型實現中,針對不同類別的輸入設備,抽象出幾類公共的平臺驅動,通過配置及差異化的適配接口,使得驅動模型可兼容不同的輸入設備。借由此驅動模型,可大幅縮減Input設備驅動的開發周期。

Input驅動模型主要有以下兩部分組成:

  • 基礎能力部分:包括Input HDI層的接口定義及公共實現,對上層輸入服務提供設備管理、業務控制、數據上報等驅動能力接口;而Input驅動模型提供不同類型Input設備的歸一化驅動, 包括輸入設備的注冊和注銷、event數據的上報通道、配置信息的解析、公共驅動的加載等能力。
  • 開發者實現部分:需根據驅動模型提供的平臺驅動,完成設備描述配置及器件私有配置,實現預留的器件差異化接口。

QQ瀏覽器截圖20240320162546.png

WLAN框架模型說明

基于OpenHarmony驅動框架的WLAN驅動模型,可實現跨操作系統遷移,自適應器件差異,模塊化拼裝編譯等功能。各WLAN廠商驅動開發人員可根據WLAN模塊提供的向下統一接口適配各自的驅動代碼,HDI層開發人員可根據WLAN模塊提供的向上統一接口獲取如下能力:建立/關閉WLAN熱點、掃描、關聯WLAN熱點等。

WLAN驅動模型主要有以下兩部分組成:

  • 基礎能力部分:包括WLAN HDI層的接口定義及公共實現,對上層輸入服務提供如設置MAC地址,獲取設備MAC地址,獲取特性類型,設置發射功率等能力;對驅動開發者提供創建/釋放WifiModule、關聯/取消關聯、申請/釋放NetBuf等能力。
  • 開發者實現部分:需根據驅動模型提供的平臺驅動,完成板級的HCS配置及WLAN芯片的私有配置,實現預留的初始化/注銷網絡設備、打開/關閉網絡設備等相關接口。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • WLAN
    +關注

    關注

    2

    文章

    652

    瀏覽量

    73016
  • Sensor
    +關注

    關注

    0

    文章

    134

    瀏覽量

    49550
  • 鴻蒙
    +關注

    關注

    57

    文章

    2310

    瀏覽量

    42743
  • OpenHarmony
    +關注

    關注

    25

    文章

    3660

    瀏覽量

    16156
收藏 人收藏

    評論

    相關推薦

    一文解析鴻蒙系統中的HDF架構

    1 鋪墊一下 鴻蒙系統終于公開源代碼了,正可謂“千呼萬喚始出來”。筆者也手癢下載了一套代碼,并研讀了一二。這里就先編寫一篇關于HDF的文檔。 其實,不同讀碼人都會有各自讀代碼的習慣和切入點,我之所以
    的頭像 發表于 03-25 16:06 ?6735次閱讀
    一文解析<b class='flag-5'>鴻蒙</b>系統中的<b class='flag-5'>HDF</b>架構

    鴻蒙實戰項目開發:【短信服務】

    、OpenHarmony 多媒體技術、Napi組件、OpenHarmony內核、Harmony南向開發鴻蒙項目實戰等等)鴻蒙(Harmony NEXT) 技術知識點 如果你是一名An
    發表于 03-03 21:29

    鴻蒙Flutter實戰:07混合開發

    # 鴻蒙Flutter實戰:混合開發 鴻蒙Flutter混合開發主要有兩種形式。 ## 1.基于har 將flutter module
    發表于 10-23 16:00

    鴻蒙Flutter實戰:08-如何調試代碼

    # 鴻蒙Flutter實戰:如何調試代碼 ## 1.環境搭建 參考文章[鴻蒙Flutter實戰:01-搭建開發環境](https://g
    發表于 10-23 16:29

    【信盈達】鴻蒙系統驅動程序--1、HDF開發指南

    1,HDF開發指南HDF(HarmonyOS Driver Foundation)鴻蒙驅動框架,提供驅動框架能力,包括驅動加載,驅動服務管理,驅動消息機制和驅動電源管理。基于
    發表于 09-14 10:20

    HarmonyOS HDF驅動框架---開發概述

    簡介HDF(HarmonyOS Driver Foundation)驅動框架,為驅動開發者提供驅動框架能力,包括驅動加載、驅動服務管理和驅動消息機制。旨在構建統一的驅動架構平臺,為驅動開發者提供更精
    發表于 09-16 18:06

    【HarmonyOS】品讀鴻蒙HDF架構(一)

    以這個PublishService()為切入點,開始研讀代碼,慢慢就涉及了HDF的更多知識,現在是時候整理出來了。所謂HDF,應該是Harmony Driver Fundation的縮寫,說到底是鴻蒙形成
    發表于 10-14 12:19

    品讀鴻蒙HDF架構(一)

    1.鋪墊一下鴻蒙系統終于公開源代碼了,正可謂“千呼萬喚始出來”。筆者也手癢下載了一套代碼,并研讀了一二。這里就先編寫一篇關于HDF的文檔。其實,不同讀碼人都會有各自讀代碼的習慣和切入點,我之所以從
    發表于 12-16 11:29

    品讀鴻蒙HDF架構(二)

    DevmgrServiceClntAttachDeviceHost()一步,該函數代碼截選如下:【drivers/hdf/frameworks/core/host/src/Devmgr_service_clnt.c】int
    發表于 12-16 11:42

    品讀鴻蒙HDF架構(三)

    現在我們繼續研究鴻蒙HDF架構,上回書說到經由HdfDeviceAttach(),HdfDevice節點不但添加進了DevHostService的devices列表,而且還和一個
    發表于 12-16 14:03

    鴻蒙開發AI應用(五)HDF 驅動補光燈

    前言上一篇,我們在鴻蒙上運行了第一個程序,這一篇我們來編寫一個驅動開啟攝像頭的紅外補光燈,順便熟悉一下鴻蒙上的 HDF 驅動開發。硬件準備先查一下原理圖(具體可參考第一篇的硬件資料),
    發表于 12-27 07:00

    鴻蒙開發AI應用(匯總)連載中

    ...5. 用鴻蒙開發AI應用(五)HDF 驅動補光燈本篇介紹了鴻蒙上的 HDF 驅動開發,通過
    發表于 01-13 15:03

    樹莓派4B運行鴻蒙系統增加HDF模塊

    前言HDF驅動子系統是OpenHarmony重要的特色功能之一,其主要的功能是實現驅動程序在多內核多平臺的物聯網環境,實現一次驅動開發,多端部署。之前移植OHOS3.0使用了傳統的linux驅動
    發表于 12-12 19:01

    華為開發者大會分論壇HarmonyOS測試技術與實戰-鴻蒙智聯認證生態設備測試挑戰

    HDC 2021華為開發者大會分論壇HarmonyOS測試技術與實戰-鴻蒙智聯認證生態設備測試挑戰
    的頭像 發表于 10-23 16:40 ?1786次閱讀
    華為<b class='flag-5'>開發</b>者大會分論壇HarmonyOS測試技術與<b class='flag-5'>實戰</b>-<b class='flag-5'>鴻蒙</b>智聯認證生態設備測試挑戰

    HDF驅動框架中USB DDK的解析與開發指導

    HDF(Hardware Driver Foundation)驅動框架是HarmonyOS硬件生態開放的基礎,為開發者提供了驅動加載、驅動服務管理和驅動消息機制等驅動能力,讓開發者能精準且高效的
    的頭像 發表于 03-30 10:16 ?2169次閱讀