哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

3天內(nèi)不再提示

【OpenHarmony技術(shù)峰會】生態(tài)與互聯(lián)分論壇 | 梁開祝:OpenHarmony驅(qū)動開發(fā)實踐

D96C_HiHope ? 來源:未知 ? 2023-03-27 22:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在2月25日剛剛圓滿閉幕的首屆開放原子開源基金會OpenHarmony技術(shù)峰會(2023)生態(tài)與互聯(lián)分論壇上,潤和軟件旗下子公司江蘇潤開鴻數(shù)字科技有限公司(簡稱:潤開鴻)資深軟件開發(fā)工程師梁開祝發(fā)表了題為《OpenHarmony的驅(qū)動框架原理和實踐》的主題演講,從實踐角度重點講解了OpenHarmony驅(qū)動框架的具體實現(xiàn)細節(jié)和“一次開發(fā),多系統(tǒng)部署”的驅(qū)動開發(fā)實踐,幫助OpenHarmony設備驅(qū)動開發(fā)者深入理解驅(qū)動框架工作流程和工作細節(jié)。

6a284ad2-ccad-11ed-bfe3-dac502259ad0.jpg

技術(shù)背景

OpenHarmony引入全新驅(qū)動開發(fā)理念和框架

6a4d46d4-ccad-11ed-bfe3-dac502259ad0.png

OpenHarmony是一個面向萬物互聯(lián)/萬物智聯(lián)大場景的分布式操作系統(tǒng),它面對的是硬件性能和功能需求千差萬別的設備,比如智能手環(huán)與手機之間的硬件差異。為了統(tǒng)一適配能力差別巨大的設備,OpenHarmony設計了一個多內(nèi)核的架構(gòu),能力弱的設備選用簡單的內(nèi)核(如LiteOS)、能力強的設備選用復雜的內(nèi)核(如Linux),這意味著生態(tài)圈中的硬件產(chǎn)品在系統(tǒng)內(nèi)核層面上就存在巨大的差異。然而這些產(chǎn)品很有可能會用到相近甚至相同的外圍硬件,比如,家里的智能門禁系統(tǒng)、智能電視、平板電腦、手機上所使用的攝像頭模組都可能是同一個型號或同系列的,而在設備端運行不同內(nèi)核的操作系統(tǒng),就需要為不同內(nèi)核開發(fā)各自的驅(qū)動程序,這會造成驅(qū)動程序的復用性、可移植性、可維護性較差,不利于產(chǎn)品開發(fā)和維護,也不利于硬件生態(tài)圈的成長。

作為一個全新的操作系統(tǒng),OpenHarmony必須要開發(fā)一套更優(yōu)秀的驅(qū)動開發(fā)框架,幫助開發(fā)者、企業(yè)更便捷地開發(fā)和管理硬件設備的驅(qū)動程序,助力打造自己的硬件生態(tài)。OpenHarmony的驅(qū)動框架,采用C語言面向?qū)ο?a target="_blank">編程模型構(gòu)建,通過平臺解耦、內(nèi)核解耦,來達到兼容不同內(nèi)核,統(tǒng)一平臺底座的目的,從而幫助開發(fā)者實現(xiàn)驅(qū)動一次開發(fā),多系統(tǒng)部署的效果。

6a693c0e-ccad-11ed-bfe3-dac502259ad0.png

OpenHarmony的內(nèi)核子系統(tǒng)(多內(nèi)核)與驅(qū)動子系統(tǒng)(統(tǒng)一的驅(qū)動框架)是松耦合的關(guān)系,僅通過一個OSAL(Operating System Abstraction Layer,操作系統(tǒng)抽象層)進行交互。OSAL只為驅(qū)動框架提供內(nèi)核部分關(guān)鍵能力的抽象接口,而隱藏了接口在不同內(nèi)核中的實現(xiàn)細節(jié)。驅(qū)動框架通過OSAL來適配不同的內(nèi)核,而具體的設備則完全基于驅(qū)動框架提供的能力來實現(xiàn)驅(qū)動程序并通過HDI(Hardware Driver Interface,硬件驅(qū)動接口)對上層提供驅(qū)動服務,設備驅(qū)動完全不需要知道(也不會知道)自己運行在什么樣的內(nèi)核之上。

技術(shù)干貨

OpenHarmony中的驅(qū)動框架實現(xiàn)詳解

代碼結(jié)構(gòu)

6a8b1b8a-ccad-11ed-bfe3-dac502259ad0.png

圖為OpenHarmony的驅(qū)動框架以及與驅(qū)動開發(fā)相關(guān)代碼部署。驅(qū)動框架主要在//drivers/hdf_core/目錄下實現(xiàn)。

lframework/目錄是C語言實現(xiàn)的驅(qū)動框架核心源代碼(包括驅(qū)動框架、配置管理、配置解析、驅(qū)動通用模型、硬件通用平臺能力接口等),

注意點:這里的部分代碼是內(nèi)核態(tài)驅(qū)動框架與用戶態(tài)驅(qū)動框架共用的,需要大家在閱讀代碼時區(qū)分清楚;

l adapter/目錄下是驅(qū)動框架適配不同內(nèi)核的適配代碼和編譯腳本,也包括用戶態(tài)驅(qū)動框架適配不同系統(tǒng)類型(輕量系統(tǒng)和標準系統(tǒng))的適配代碼和編譯腳本。

l //drivers/peripheral/目錄下是部署在OpenHarmony用戶空間的各種外圍設備驅(qū)動相關(guān)的HDI、HAL、驅(qū)動模型及測試用例等的實現(xiàn)代碼和編譯配置。

l //drivers/interface/目錄下是用于管理各驅(qū)動模塊的HDI接口定義,這些接口定義使用IDL語言描述并以.idl文件形式保存。

l 其他與驅(qū)動開發(fā)相關(guān)的代碼目錄還包括//device/目錄和//vendor/目錄下的相關(guān)部分目錄,它們是具體的芯片方案、產(chǎn)品方案、產(chǎn)品定義、產(chǎn)品配置等相關(guān)信息和適配代碼的匯總,為設備驅(qū)動的實現(xiàn)提供一定的支持。

編譯與鏈接

驅(qū)動框架適配不同內(nèi)核的編譯配置,在代碼結(jié)構(gòu)的//drivers/hdf_core/adapter/目錄下,主要還是通過對應的BUILD.gn和Makefile文件將相關(guān)的源代碼進行串聯(lián)和依賴,以完成驅(qū)動框架整體的編譯與鏈接。

對于不同的內(nèi)核,則在對應內(nèi)核的編譯腳本中加入編譯驅(qū)動框架的入口和鏈接描述。

6aad77e8-ccad-11ed-bfe3-dac502259ad0.png

圖中代碼示例是在LiteOS_A內(nèi)核的編譯腳本中include驅(qū)動框架的編譯入口,同時也在鏈接腳本中加入一個hdf.driver的只讀數(shù)據(jù)段,用以描述驅(qū)動框架專用的數(shù)據(jù)結(jié)構(gòu)。

6aca884c-ccad-11ed-bfe3-dac502259ad0.png

圖中代碼示例是在Linux內(nèi)核的編譯腳本中,將驅(qū)動框架的關(guān)鍵代碼以patch的形式打入Linux源代碼中(實際仍是代碼目錄的軟鏈接形式加入Linux內(nèi)核中),同時也在鏈接腳本vmlinux.lds.S中加入一個hdf.driver的只讀數(shù)據(jù)段,用以描述驅(qū)動框架專用的數(shù)據(jù)結(jié)構(gòu)。

當編譯到OpenHarmony內(nèi)核時,編譯工具鏈通過上述腳本的描述一并將驅(qū)動框架編譯成中間文件,然后鏈接和打包到內(nèi)核鏡像中使用。

內(nèi)核態(tài)驅(qū)動框架及用戶態(tài)驅(qū)動框架啟動流程

內(nèi)核態(tài)驅(qū)動框架的啟動流程

6aecd69a-ccad-11ed-bfe3-dac502259ad0.png

如圖所示,部署在內(nèi)核態(tài)的驅(qū)動框架作為一個相對獨立的部分,要么因為內(nèi)核(LiteOS_A內(nèi)核)的其他模塊的直接調(diào)用而啟動,要么作為內(nèi)核(Linux內(nèi)核)的一個模塊(module)而自動加載和啟動。在進入驅(qū)動框架的啟動入口之后,驅(qū)動框架就會進入一個與內(nèi)核無關(guān)的工作流程中(與內(nèi)核相關(guān)部分會通過OSAL接口對接到內(nèi)核提供的功能)。

用戶態(tài)驅(qū)動框架的啟動流程

6b0eb422-ccad-11ed-bfe3-dac502259ad0.png

如圖所示,部署在用戶態(tài)的驅(qū)動框架則分為若干個獨立的服務進程,在系統(tǒng)啟動到用戶態(tài)階段時,由Init進程根據(jù)啟動配置文件的描述逐一拉起,各進程之間通過IPC進行交互并逐步建立起各自的數(shù)據(jù)結(jié)構(gòu)關(guān)系。

以上兩張示意圖均為以功能模塊劃分的啟動流程概略圖,梁開祝老師在閱讀理解OpenHarmony驅(qū)動框架的代碼時,以API為粒度整理了一份詳細的啟動流程圖,以及在驅(qū)動框架啟動過程中一步步建立起來的數(shù)據(jù)結(jié)構(gòu)關(guān)系圖,感興趣的讀者可到資源倉庫下載、閱讀:

倉庫地址:

https://gitee.com/liangkzgitee/ohos_study_note

用戶態(tài)與內(nèi)核態(tài)的交互

6b39fc22-ccad-11ed-bfe3-dac502259ad0.png

內(nèi)核態(tài)的驅(qū)動框架與用戶態(tài)的驅(qū)動框架是各自獨立的兩部分,內(nèi)核態(tài)驅(qū)動框架直接管理具體硬件設備的驅(qū)動,并以服務的形式向用戶態(tài)提供服務接口,而用戶態(tài)驅(qū)動框架則通過HDI接口使用內(nèi)核態(tài)驅(qū)動框架提供的驅(qū)動服務。

HDI接口使用IO Service和IO Dispatcher機制為驅(qū)動框架提供進行統(tǒng)一的交互接口,其實現(xiàn)主要有兩種形式:

l 當驅(qū)動以內(nèi)核態(tài)組件形式部署時,客戶端程序需要通過系統(tǒng)調(diào)用(system call)方式訪問驅(qū)動程序。驅(qū)動接口通過IO Service請求將消息通過系統(tǒng)調(diào)用陷入內(nèi)核,并將消息分發(fā)到IO Dispatcher進行處理。

l 當驅(qū)動以用戶態(tài)服務形式部署時,客戶端進程需要通過IPC方式訪問驅(qū)動服務進程,IO Service完成IPC 通信的客戶端消息請求封裝,IO Dispatcher完成驅(qū)動服務端消息請求封裝,客戶端消息通過IPC送達服務端再分發(fā)給IO Dispatcher處理。

注意點:該交互過程涉及比較復雜的數(shù)據(jù)處理流程,需要結(jié)合代碼進行深入理解。

通用的驅(qū)動示例程序

以一個通用的驅(qū)動示例程序來簡單驗證基于OpenHarmony驅(qū)動框架的設備驅(qū)動開發(fā)基本要點。

6b5d564a-ccad-11ed-bfe3-dac502259ad0.png

本驅(qū)動示例程序,包含了驅(qū)動框架的一些基本要素,如上層的應用程序、內(nèi)核的驅(qū)動程序、硬件的驅(qū)動配置信息、適配不同內(nèi)核和不同類型系統(tǒng)的編譯腳本等。小伙伴們可以跟著里面的README文檔的操作說明,從簡單到復雜一步步去驗證前文提到的驅(qū)動框架知識要點,也可以非常方便地將這個示例程序移植到不同的開發(fā)板上進行驗證,以此體驗OpenHarmony驅(qū)動框架“一次開發(fā),多系統(tǒng)部署”的好處。

“以技術(shù)賦能開源共建,持續(xù)發(fā)揮生態(tài)引領(lǐng)作用”。潤和軟件將深入貫徹“2+N”行業(yè)戰(zhàn)略(深耕金融、能源“2”大行業(yè),廣泛賦能智慧城市、醫(yī)療、教育、工業(yè)等“N”個行業(yè)),圍繞行業(yè)場景落地不斷夯實軟硬件底座,推動應用創(chuàng)新,助力體驗提升;吸引更多企業(yè)及個人開發(fā)者融入生態(tài)、參與共建,持續(xù)為OpenHarmony繁榮發(fā)展貢獻力量。


原文標題:【OpenHarmony技術(shù)峰會】生態(tài)與互聯(lián)分論壇 | 梁開祝:OpenHarmony驅(qū)動開發(fā)實踐

文章出處:【微信公眾號:HiHope社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    3017

    瀏覽量

    46163
  • HiHope
    +關(guān)注

    關(guān)注

    0

    文章

    63

    瀏覽量

    4106

原文標題:【OpenHarmony技術(shù)峰會】生態(tài)與互聯(lián)分論壇 | 梁開祝:OpenHarmony驅(qū)動開發(fā)實踐

文章出處:【微信號:HiHope,微信公眾號:HiHope社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    #OpenHarmony HDC調(diào)試

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:46:28

    #OpenHarmony 開發(fā)環(huán)境準備

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:44:31

    #OpenHarmony 鏡像燒錄

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:42:36

    #OpenHarmony 系統(tǒng)概述

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:39:20

    2025開放原子開發(fā)者大會開源鴻蒙技術(shù)論壇隆重舉行

    11月21日,2025開放原子開發(fā)者大會開源鴻蒙技術(shù)論壇在北京隆重舉行。本次論壇由開放原子開
    的頭像 發(fā)表于 11-27 14:41 ?801次閱讀

    2025世界互聯(lián)網(wǎng)大會烏鎮(zhèn)峰會 | 深鴻發(fā)布《分布式AIOS白皮書》,開啟AI新時代

    2025年11月6日-9日,2025年世界互聯(lián)網(wǎng)大會烏鎮(zhèn)峰會在浙江烏鎮(zhèn)成功舉行。大會圍繞全球發(fā)展倡議、數(shù)字經(jīng)濟、數(shù)據(jù)治理等議題,設置多場論壇,匯聚全球
    的頭像 發(fā)表于 11-10 10:10 ?798次閱讀
    2025世界<b class='flag-5'>互聯(lián)</b>網(wǎng)大會烏鎮(zhèn)<b class='flag-5'>峰會</b> | 深<b class='flag-5'>開</b>鴻發(fā)布《分布式AIOS白皮書》,開啟AI新時代

    開源鴻蒙技術(shù)大會2025丨輕智能生態(tài)論壇:共繪輕智能生態(tài)新藍圖

    2025年9月27日,開源鴻蒙技術(shù)大會輕智能生態(tài)論壇在長沙國際會議中心成功舉辦。本次論壇匯聚
    的頭像 發(fā)表于 10-12 21:05 ?966次閱讀
    開源鴻蒙<b class='flag-5'>技術(shù)</b>大會2025丨輕智能<b class='flag-5'>生態(tài)</b><b class='flag-5'>分</b><b class='flag-5'>論壇</b>:共繪輕智能<b class='flag-5'>生態(tài)</b>新藍圖

    兩款搭載KaihongOS的開發(fā)板被評為“OpenHarmony 明星開發(fā)板”

    OpenHarmony
    深開鴻
    發(fā)布于 :2025年09月11日 10:10:02

    鴻亮相2025 RISC-V中國峰會

    企業(yè),江蘇潤鴻數(shù)字科技有限公司(以下簡稱“潤鴻”)受邀出席大會,并于人工智能論壇上正式發(fā)布全球首套介紹“RISC-V+開源鴻蒙”南北向開發(fā)
    的頭像 發(fā)表于 08-07 18:07 ?1728次閱讀

    2025 OpenHarmony TSC年中技術(shù)生態(tài)研討會圓滿舉辦

    2025 OpenHarmony TSC 年中技術(shù)生態(tài)研討會 圓滿舉辦 8月1日,2025 OpenHarmony TSC年中技術(shù)
    的頭像 發(fā)表于 08-07 12:24 ?2626次閱讀
    2025 <b class='flag-5'>OpenHarmony</b> TSC年中<b class='flag-5'>技術(shù)</b>與<b class='flag-5'>生態(tài)</b>研討會圓滿舉辦

    OpenHarmony 2025年度技術(shù)俱樂部及開發(fā)者協(xié)會獎項評選通知

    成立開發(fā)者協(xié)會,在開源社區(qū)組建及技術(shù)人才培育方面取得了顯著的進展。 為了感謝各校師生對OpenHarmony技術(shù)俱樂部及開發(fā)者協(xié)會的大力支持
    的頭像 發(fā)表于 07-17 20:07 ?766次閱讀
    <b class='flag-5'>OpenHarmony</b> 2025年度<b class='flag-5'>技術(shù)</b>俱樂部及<b class='flag-5'>開發(fā)</b>者協(xié)會獎項評選通知

    桃芯科技獲得OpenHarmony生態(tài)產(chǎn)品兼容性證書

    近日,由INGCHIPS自主研發(fā)的模組/開發(fā)板DB870CC1A順利通過OpenHarmony 5.0.2 Release版本兼容性測評,并獲得OpenHarmony生態(tài)產(chǎn)品兼容性證書
    的頭像 發(fā)表于 06-25 14:30 ?1310次閱讀

    全志科技亮相OpenHarmony開發(fā)者大會2025

    AI Agent技術(shù)共建啟動”等儀式,同時設立八大主題論壇,邀請開源操作系統(tǒng)技術(shù)大咖、前沿實踐專家、
    的頭像 發(fā)表于 06-04 09:16 ?2385次閱讀
    全志科技亮相<b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發(fā)</b>者大會2025

    利爾達RedCap模組通過OpenHarmony 生態(tài)兼容性測評!

    。此次認證標志著該NR90模組在鴻蒙系統(tǒng)中的技術(shù)適配能力獲得官方認可,為工業(yè)物聯(lián)網(wǎng)、智能終端等設備快速融入鴻蒙生態(tài)提供了關(guān)鍵支持。本次認證由OpenHarmony兼容
    的頭像 發(fā)表于 05-23 17:59 ?1764次閱讀
    利爾達RedCap模組通過<b class='flag-5'>OpenHarmony</b> <b class='flag-5'>生態(tài)</b>兼容性測評!

    聚首巴黎!歐洲OpenHarmony城市技術(shù)論壇點亮未來創(chuàng)新之光

    AI如何使能終端操作系統(tǒng)技術(shù)架構(gòu)升級、交互體驗重構(gòu)以及生態(tài)協(xié)同融合。 現(xiàn)場合影 本次活動由OpenHarmony項目群技術(shù)指導委員會(TSC)主辦,邀請多位來自歐洲本土以及國內(nèi)的資深
    的頭像 發(fā)表于 05-09 18:39 ?1952次閱讀
    聚首巴黎!歐洲<b class='flag-5'>OpenHarmony</b>城市<b class='flag-5'>技術(shù)論壇</b>點亮未來創(chuàng)新之光
    兴安县| 贵溪市| 大埔区| 静安区| 奉化市| 昌图县| 林周县| 金昌市| 赞皇县| 上犹县| 客服| 永登县| 杂多县| 东阿县| 兴山县| 明光市| 广安市| 赤峰市| 延庆县| 运城市| 廉江市| 盈江县| 兰溪市| 阳泉市| 沙坪坝区| 上蔡县| 灯塔市| 东光县| 攀枝花市| 宾阳县| 南通市| 盈江县| 嘉定区| 郁南县| 本溪市| 海宁市| 南岸区| 华安县| 吉木萨尔县| 垣曲县| 南汇区|