色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

鴻蒙開發學習:【驅動子系統】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-03-17 22:05 ? 次閱讀

OpenHarmony驅動子系統采用C面向對象編程模型構建,通過平臺解耦、內核解耦,兼容不同內核,提供了歸一化的驅動平臺底座,旨在為開發者提供更精準、更高效的開發環境,力求做到一次開發,多系統部署。

為了縮減驅動開發者的驅動開發周期,降低三方設備驅動集成難度,OpenHarmony驅動子系統支持以下關鍵特性和能力。

  • 彈性化的框架能力:
    在傳統的驅動框架能力的基礎上,OpenHarmony驅動子系統通過構建彈性化的框架能力,可支持在百K級別到百兆級容量的終端產品形態部署。
  • 規范化的驅動接口
    定義了常見驅動接口,為驅動開發者和使用者提供豐富、穩定接口,并和未來開放的面向手機、平板、智慧屏等設備驅動接口保持API兼容性。
  • 組件化的驅動模型:
    支持組件化的驅動模型,為開發者提供更精細化的驅動管理,開發者可以對驅動進行組件化拆分,使得驅動開發者可以更多關注驅動與硬件交互部分。
    同時系統也預置了部分模板化的驅動模型組件,如網絡設備模型等。
  • 歸一化的配置界面:
    提供統一的配置界面,構建跨平臺的配置轉換和生成工具,實現跨平臺的無縫切換

為了方便驅動開發者更易于開發OpenHarmony驅動程序,OpenHarmony驅動子系統在DevEco集成了驅動開發套件工具,支持驅動工程管理,驅動模板生成、配置管理等界面化的操作。

架構

OpenHarmony驅動框架采用主從架構設計模式,圍繞著框架、模型、能力庫和工具四個維度能力展開構建。

圖 1 驅動架構圖

  • 驅動框架 -位于framework/core目錄
    • 提供驅動框架能力,主要完成驅動加載和啟動功能。
    • 通過對象管理器方式可實現驅動框架的彈性化部署和擴展。
  • 驅動模型 - 位于framework/model目錄
    • 提供了模型化驅動能力,如網絡設備模型。
  • 驅動能力庫 - 位于framework/ability目錄
    • 提供基礎驅動能力模型,如IO通信能力模型。
  • 驅動工具 - 位于framework/tools目錄
    • 提供HDI接口轉換、驅動配置編譯等工具。
  • 驅動接口 - 位于lite/hdi目錄
    • 提供規范化的驅動接口。
  • Support - 位于framework/support目錄
    • 提供規范化的平臺驅動接口和系統接口抽象能力。

使用

圖 2 驅動框架交互流程

驅動框架完成大部分驅動加載的動作,用戶只需注冊自己所需的接口和配置,然后驅動框架就會解析配置的內容,完成驅動加載和初始化動作。

開發者基于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)
{
    // TODO: Bind device service to device object.
    // And you can also initialize device resources here.
    return HDF_SUCCESS;
}

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

int32_t SampleDriverInit(struct HdfDeviceObject *deviceObject)
{
    // TODO: Init hardware or other resources here.
    return HDF_SUCCESS;
}

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

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

安裝

OpenHarmony驅動主要部署在內核態,當前主要采用靜態鏈接方式,隨內核子系統編譯和系統鏡像打包。

圖 3 驅動安裝部署圖

審核編輯 黃宇

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

    關注

    1

    文章

    3261

    瀏覽量

    48914
  • 鴻蒙
    +關注

    關注

    57

    文章

    2369

    瀏覽量

    42900
  • OpenHarmony
    +關注

    關注

    25

    文章

    3728

    瀏覽量

    16395
收藏 人收藏

    評論

    相關推薦

    免費學習鴻蒙(HarmonyOS)開發,一些地址分享

    國內一流高校。通過鴻蒙班的設立,高校可以為學生提供專業的鴻蒙OS學習環境和豐富的實踐機會,培養出更多的鴻蒙開發人才,為
    發表于 01-12 20:48

    盤點那些硬件+項目學習套件:Hi3861鴻蒙開發板及入門常見問題解答

    、源碼、視頻課程,可以進行單片機入門、電機控制基礎、總線通訊-協議學習。Hi3861鴻蒙+STM32單片機的協作開發:Hi3861鴻蒙開發
    發表于 02-01 16:55

    【連載】信盈達實力大佬講師帶你學習鴻蒙系統移植和驅動開發

    第一個應用程序和第一個驅動程序的實現。【信盈達】鴻蒙操作系統移植--1、開發板介紹【信盈達】鴻蒙操作系統
    發表于 09-11 10:25

    鴻蒙OS驅動開發

    這篇文章主要帶領大家學習鴻蒙系統驅動開發,本文包含以下知識點:1、開發Hi3516第一個
    發表于 09-11 14:42

    首批HarmonyOS系統課程開發者為您詳解鴻蒙系統開發與應用

    信盈達實力大佬講師帶你學習鴻蒙系統移植和驅動開發!講師介紹:胡智元,男、江西理工大學碩士,資深嵌入式ARM、Linux研發工程師。具有多年嵌
    發表于 09-14 14:26

    【課程連載】高級硬件工程師張飛帶你學習鴻蒙驅動開發系統燒錄

    ,去測試鴻蒙操作系統的wifi驅動是否安裝成功。實現手機能夠連上開發板網卡生成的熱點,及開發板連上指定的熱點。5、從串口、網口、USB的方式
    發表于 09-17 09:36

    【HarmonyOS IPC 試用連載 】鴻蒙系統初步了解

    服務和用戶服務資源都是在同一個空間內實現,運行效率比較高,不過一個服務資源的崩潰,會導致整個內核的崩潰。鴻蒙內核分為內核子系統驅動子系統,相互隔離和分開。
    發表于 01-04 17:25

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

    Ubuntu、配置共享目錄和在Win10上映射網絡驅動器,操作系統相關的配置...3. 用鴻蒙開發AI應用(三)軟件篇本篇介紹了DevEco Device Tool的配置、
    發表于 01-13 15:03

    鴻蒙應用開發基礎術語學習 輕應用

    。我們計劃后續深度開發,作為鴻蒙操作系統上的獨特的開發學習平臺與方式。通過輕應用,帶點游戲娛樂性質的方式,廣泛地傳播
    發表于 05-19 18:33

    鴻蒙驅動子系統資料匯總(一)

    1、輕量系統驅動開發查看 //drivers/adapter/khdf/,這個目錄下有一個 liteos_m 子目錄,進入子目錄查看 readme 文檔: 該倉主要存放 OpenHarmony
    發表于 03-29 14:53

    鴻蒙驅動子系統資料匯總(二)

    3、驅動相關模塊的編譯打開并查看 //vendor/hisilicon/hispark_taurus/config.json, 這是小型系統 Hi3516 開發板的產品配置表,仔細查看與驅動
    發表于 03-29 14:58

    鴻蒙驅動子系統-1-輕量系統驅動開發

    注:本系列文章基于LTS分支代碼(本地代碼根目錄B_LTS/),對鴻蒙系統的設備驅動開發進行學習、分析和總結。查看 //drivers/ad
    發表于 12-22 15:40

    要成為鴻蒙開發者,應該學習哪些編程語言

    據了解,鴻蒙系統是基于Linux開發的,源碼是C語言。那么,作為一名開發者,如何幫助鴻蒙系統構建
    的頭像 發表于 09-24 12:06 ?1.3w次閱讀

    鴻蒙系統是基于什么開發

    爭議,那么鴻蒙系統到底是基于什么開發的呢?下面小編就為大家帶來鴻蒙系統是基于什么開發的答案。
    的頭像 發表于 07-05 17:12 ?1.2w次閱讀

    迅為RK3568開發驅動開發指南-輸入子系統

    迅為RK3568開發驅動開發指南-輸入子系統
    的頭像 發表于 02-23 15:11 ?918次閱讀
    迅為RK3568<b class='flag-5'>開發</b>板<b class='flag-5'>驅動</b><b class='flag-5'>開發</b>指南-輸入<b class='flag-5'>子系統</b>
    主站蜘蛛池模板: 日本亚洲中文字幕无码区| 国产亚洲精品久久久久久国| 超碰在线 视频| 久久久午夜精品福利内容| 午夜片神马影院福利| 大咪咪dvd| 日本一卡二卡三卡四卡无卡免费播放| 99手机在线视频| 男男免费看| 99精品在线播放| 欧美久久综合性欧美| gogo免费在线观看| 欧美午夜理伦三级在线观看| 99热在线观看精品| 女人和男人插曲视频大全| 2019夜夜| 内射人妻骚骚骚| xnxx18美女| 色就色 综合偷拍区欧美| 国产AV精品无码免费看| 色欲久久精品AV无码| 国产精品亚洲在钱视频| 小黄鸭YELLOWDUCK7596| 果冻传媒免费观看| 伊人国产视频| 久久久无码精品无码国产人妻丝瓜| 诱咪视频免费| 免费视频国产| 成人精品视频在线观看| 十分钟免费观看高清视频大全 | 日韩精品无码久久一区二区三| 顶级欧美不卡一区二区三区| 素人约啪第五季| 国产小视频在线高清播放| 亚洲在线v观看免费国| 麻豆E奶女教师国产精品| 97在线免费观看视频| 三级成人电彭| 久草精品在线| 操中国老太太| 亚洲一区二区影院|