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

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

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

【鴻蒙】OpenHarmony 4.0藍(lán)牙代碼結(jié)構(gòu)簡(jiǎn)析

王程 ? 來(lái)源:jf_75796907 ? 作者:jf_75796907 ? 2024-02-26 16:08 ? 次閱讀

OpenHarmony 4.0藍(lán)牙代碼結(jié)構(gòu)簡(jiǎn)析前言

OpenHarmony 4.0上藍(lán)牙倉(cāng)和目錄結(jié)構(gòu)進(jìn)行一次較大整改,本文基于4.0以上版本對(duì)藍(lán)牙代碼進(jìn)行分析,便于讀者快速了解和學(xué)習(xí)OpenHarmony藍(lán)牙模塊

代碼倉(cāng)和目錄結(jié)構(gòu)

當(dāng)前藍(lán)牙完整的代碼涉及多個(gè)代碼倉(cāng)
代碼路徑
說(shuō)明

應(yīng)用接口https://gitee.com/openharmony/interface_sdk-js/tree/master/api當(dāng)前所有應(yīng)用層接口統(tǒng)一歸并到interface倉(cāng);api 10中藍(lán)牙接口按照profile拆分了多個(gè)d.ts文件

框架層https://gitee.com/openharmony/communication_bluetooth該倉(cāng)之前包含框架層和系統(tǒng)服務(wù)層代碼;架構(gòu)拆分后只保留框架層代碼

系統(tǒng)服務(wù)層https://gitee.com/openharmony/communication_bluetooth_service

驅(qū)動(dòng)https://gitee.com/openharmony/drivers_peripheral/bluetoothIDL模式,藍(lán)牙驅(qū)動(dòng)接口實(shí)現(xiàn);接口定義在https://gitee.com/openharmony/drivers_interface/bluetooth;完整的代碼還應(yīng)該包括vendor(藍(lán)牙芯片)代碼,如dayu200的vendor代碼在https://gitee.com/openharmony/vendor_hihope/tree/master/rk3568

系統(tǒng)服務(wù)層代碼倉(cāng)目錄相對(duì)較多,目錄劃分原則和功能描述如下

wKgZomXcRo6AFtQ8AAIhJd6EgqI689.png

架構(gòu)及進(jìn)程部

wKgZomXcRpaAdtGNAADRUxpX_CU918.png


1、藍(lán)牙模塊按照OpenHarmony系統(tǒng)架構(gòu)分層原則進(jìn)行分層
2、框架層分為JSAPI和NativeAPI,JSAPI用于用戶APP調(diào)用;NativeAPI生成btframework.so,供其它系統(tǒng)服務(wù)(net_manager…)調(diào)用;部署在調(diào)用者進(jìn)程
3、系統(tǒng)服務(wù)層內(nèi)部分為5層,分別對(duì)應(yīng)目錄結(jié)構(gòu)中描述的5個(gè)目錄;部署在藍(lán)牙系統(tǒng)服務(wù)進(jìn)程
4、驅(qū)動(dòng)進(jìn)程中部署Hdi和Vendor模塊;和藍(lán)牙芯片對(duì)接,在藍(lán)牙系統(tǒng)服務(wù)進(jìn)程和藍(lán)牙芯片間處理報(bào)文收發(fā)

版本間差異

1、原來(lái)藍(lán)牙框架層和系統(tǒng)服務(wù)層都在bluetooth代碼倉(cāng),現(xiàn)在拆分成了bluetooth和bluetooth_service兩個(gè)倉(cāng);主要理念是考慮可以方便替換或升級(jí)藍(lán)牙系統(tǒng)服務(wù)層的實(shí)現(xiàn);比如廠商可以使用私有的藍(lán)牙協(xié)議實(shí)現(xiàn),只需要框架層接口保持一致即可
2、為了減少應(yīng)用程序的運(yùn)行內(nèi)存和程序加載速度,JSAPI按照profile拆分出了多個(gè)so;應(yīng)用程序可以按需最小引用藍(lán)牙模塊功能

總結(jié)

本文基于OpenHarmony 4.0版本對(duì)藍(lán)牙代碼架構(gòu)/目錄分層原則做了簡(jiǎn)單分析,同時(shí)分析了4.0版本的重要改動(dòng)點(diǎn)

為了能讓大家更好的學(xué)習(xí)鴻蒙 (OpenHarmony) 開發(fā)技術(shù),這邊特意整理了《鴻蒙 (OpenHarmony)開發(fā)學(xué)習(xí)手冊(cè)》,希望對(duì)大家有所幫助:

《鴻蒙(Harmony OS)開發(fā)學(xué)習(xí)手冊(cè)》

入門必看:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.應(yīng)用開發(fā)導(dǎo)讀(ArKTS)
2.……

wKgaomXW6N2AJp9uAAQXRxEAprs547.png

HarmonyOS概念:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.系統(tǒng)定義
2.技術(shù)框架
3.技術(shù)特性
4.系統(tǒng)安全

wKgaomXW6OSAFcCRAAV2zd2X_1s891.png

快速入門:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.基本概念
2.構(gòu)建第一個(gè)ArkTS應(yīng)用
3.…

wKgZomXW6PuAA7wEAAKx6By_2Z8377.png

開發(fā)基礎(chǔ)知識(shí):https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.應(yīng)用基礎(chǔ)知識(shí)
2.配置文件
3.應(yīng)用數(shù)據(jù)管理
4.應(yīng)用安全管理
5.應(yīng)用隱私保護(hù)
6.三方應(yīng)用調(diào)用管控機(jī)制
7.資源分類與訪問
8.學(xué)習(xí)ArkTS
9…

wKgZomXW6QaAM4niAAQzrXUUPik914.png

基于ArkTS 開發(fā):https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.Ability開發(fā)
2.UI開發(fā)
3.公共事件與通知
4.窗口管理
5.媒體
6.安全
7.網(wǎng)絡(luò)與鏈接
8.電話服務(wù)
9.數(shù)據(jù)管理
10.后臺(tái)任務(wù)(Background Task)管理
11.設(shè)備管理
12.設(shè)備使用信息統(tǒng)計(jì)
13.DFX
14.國(guó)際化開發(fā)
15.折疊屏系列
16………

wKgZomXW6RKATahiAAKz-zSMnR4040.png


審核編輯 黃宇

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

    關(guān)注

    114

    文章

    5823

    瀏覽量

    170324
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2352

    瀏覽量

    42858
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3722

    瀏覽量

    16317
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    OpenHarmony怎么修改DPI密度值?觸覺智能RK3566鴻蒙開發(fā)板演示

    開源鴻蒙OpenHarmony系統(tǒng)下,修改DPI密度值的方法,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,搭載了瑞芯微RK3566四核處理器,Laval鴻蒙社區(qū)推薦開發(fā)板,已適配全
    的頭像 發(fā)表于 12-24 11:46 ?163次閱讀
    <b class='flag-5'>OpenHarmony</b>怎么修改DPI密度值?觸覺智能RK3566<b class='flag-5'>鴻蒙</b>開發(fā)板演示

    OpenHarmony屬性信息怎么修改?觸覺智能RK3566鴻蒙開發(fā)板來(lái)演示

    本文介紹開源鴻蒙OpenHarmony系統(tǒng)下,修改產(chǎn)品屬性信息的方法,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,已適配全新OpenHarmony5.0 Release系統(tǒng)!
    的頭像 發(fā)表于 11-27 09:31 ?172次閱讀
    <b class='flag-5'>OpenHarmony</b>屬性信息怎么修改?觸覺智能RK3566<b class='flag-5'>鴻蒙</b>開發(fā)板來(lái)演示

    如何在開源鴻蒙OpenHarmony開啟SELinux模式?RK3566鴻蒙開發(fā)板演示

    本文介紹開源鴻蒙OpenHarmony系統(tǒng)下,開啟/關(guān)閉SELinux權(quán)限的方法,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,已適配全新OpenHarmony5.0 Release
    的頭像 發(fā)表于 11-18 19:03 ?325次閱讀
    如何在開源<b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>開啟SELinux模式?RK3566<b class='flag-5'>鴻蒙</b>開發(fā)板演示

    OpenHamrony4.0去除鎖屏是一種什么體驗(yàn)?觸覺智能給你支支招

    本文介紹開源鴻蒙OpenHarmony 4.0系統(tǒng)下,去除鎖屏開機(jī)后直接進(jìn)入界面的方法,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,已適配全新O
    的頭像 發(fā)表于 11-13 10:37 ?247次閱讀
    OpenHamrony<b class='flag-5'>4.0</b>去除鎖屏是一種什么體驗(yàn)?觸覺智能給你支支招

    OpenHarmony4.0系統(tǒng)修改屏幕旋轉(zhuǎn)方法,RK3566鴻蒙開發(fā)板備戰(zhàn)第九屆華為ICT大賽

    本文提供OpenHarmony4.0系統(tǒng)豎屏修改為旋轉(zhuǎn)時(shí)的操作方法,本次使用了觸覺智能的Purple Pi OH鴻蒙開源主板,搭載了瑞芯微RK3566,Laval官方社區(qū)主薦的一款鴻蒙開發(fā)主板,近期第九屆華為ICT大賽,有競(jìng)賽需
    的頭像 發(fā)表于 09-25 00:29 ?489次閱讀
    <b class='flag-5'>OpenHarmony4.0</b>系統(tǒng)修改屏幕旋轉(zhuǎn)方法,RK3566<b class='flag-5'>鴻蒙</b>開發(fā)板備戰(zhàn)第九屆華為ICT大賽

    觸覺智能SBC3588搭載開源鴻蒙4.0演示 #瑞芯微 #RK3588 #Openharmony

    鴻蒙
    觸覺智能
    發(fā)布于 :2024年07月23日 17:13:10

    深耕鴻蒙生態(tài),國(guó)科微旗艦芯片獲“鴻蒙4.0”首款認(rèn)證

    7月9日,國(guó)科微宣布旗下超高清視頻解碼及商顯芯片通過OpenHarmony4.0版本兼容性測(cè)評(píng),獲頒鴻蒙生態(tài)產(chǎn)品兼容性證書。其中,國(guó)科微GK6323V100C是業(yè)界首款通過鴻蒙4.0
    的頭像 發(fā)表于 07-10 13:10 ?470次閱讀
    深耕<b class='flag-5'>鴻蒙</b>生態(tài),國(guó)科微旗艦芯片獲“<b class='flag-5'>鴻蒙</b><b class='flag-5'>4.0</b>”首款認(rèn)證

    鴻蒙開發(fā):【OpenHarmony 4.0 Release指導(dǎo)】

    OpenHarmony 4.0版本如期而至,開發(fā)套件同步升級(jí)到API 10。相比3.2 Release版本,新增4000多個(gè)API,應(yīng)用開發(fā)能力更加豐富;HDF新增200多個(gè)HDI接口,硬件適配更加便捷;我們持續(xù)優(yōu)化圖形框架和方舟編譯器(ArkCompiler)
    的頭像 發(fā)表于 05-14 09:59 ?1472次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā):【<b class='flag-5'>OpenHarmony</b> <b class='flag-5'>4.0</b> Release指導(dǎo)】

    巖土工程監(jiān)測(cè)中振弦采集儀的布設(shè)方案及實(shí)施步驟簡(jiǎn)

    巖土工程監(jiān)測(cè)中振弦采集儀的布設(shè)方案及實(shí)施步驟簡(jiǎn) 巖土工程監(jiān)測(cè)中,河北穩(wěn)控科技振弦采集儀是一種常用的地下水位和土層壓縮性監(jiān)測(cè)工具。它通過采集振弦的振動(dòng)信號(hào)來(lái)確定地下水位和土層的壓縮性,為巖土
    的頭像 發(fā)表于 05-06 13:25 ?256次閱讀
    巖土工程監(jiān)測(cè)中振弦采集儀的布設(shè)方案及實(shí)施步驟<b class='flag-5'>簡(jiǎn)</b><b class='flag-5'>析</b>

    【開源鴻蒙】下載OpenHarmony 4.1 Release源代碼

    本文介紹了如何下載開源鴻蒙OpenHarmony)操作系統(tǒng) 4.1 Release版本的源代碼,該方法同樣可以用于下載OpenHarmony最新開發(fā)版本(master分支)或者
    的頭像 發(fā)表于 04-27 23:16 ?926次閱讀
    【開源<b class='flag-5'>鴻蒙</b>】下載<b class='flag-5'>OpenHarmony</b> 4.1 Release源<b class='flag-5'>代碼</b>

    鴻蒙OpenHarmony開發(fā)實(shí)戰(zhàn):【MiniCanvas】

    基于OpenHarmony的Cavas組件封裝了一版極簡(jiǎn)操作的MiniCanvas,屏蔽了原有Canvas內(nèi)部復(fù)雜的調(diào)用流程,支持一個(gè)API就可以實(shí)現(xiàn)相應(yīng)的繪制能力,該庫(kù)還在繼續(xù)完善中,也歡迎PR。
    的頭像 發(fā)表于 03-23 20:43 ?358次閱讀

    鴻蒙開發(fā)學(xué)習(xí):【OpenHarmony HAR】

    OpenHarmony js/ts三方庫(kù)使用的是OpenHarmony靜態(tài)共享包,即HAR(Harmony Archive),可以包含js/ts代碼、c++庫(kù)、資源和配置文件。通過HAR,可以實(shí)現(xiàn)
    的頭像 發(fā)表于 03-18 16:27 ?753次閱讀

    2024款鴻蒙OS 最新HarmonyOS Next_HarmonyOS4.0系列教程分享

    Next_HarmonyOS4.0系列教程由業(yè)內(nèi)大神錄制于2024年,包括:HarmonyOS ArkTs、ArkUI、ArkTs Api、ArkTs Native、OpenHarmony ArkUI-X跨平臺(tái)的基本用法以及項(xiàng)目
    發(fā)表于 02-28 10:29

    [鴻蒙]OpenHarmony4.0的Rust開發(fā)

    。 OpenHarmony 為了集成 C/C++ 代碼和提升編譯速度,使用了 GN + Ninja 的編譯構(gòu)建系統(tǒng)。GN 的構(gòu)建語(yǔ)言簡(jiǎn)潔易讀,Ninja 的匯編級(jí)編譯規(guī)則直接高效。 為了在 OpenHarmony
    的頭像 發(fā)表于 02-26 17:28 ?892次閱讀
    [<b class='flag-5'>鴻蒙</b>]<b class='flag-5'>OpenHarmony4.0</b>的Rust開發(fā)

    鴻蒙開發(fā)OpenHarmony組件復(fù)用案例

    ) } }, item => item) } } } 本文主要是對(duì)鴻蒙開發(fā)基礎(chǔ)當(dāng)中的OpenHarmony技術(shù)組件復(fù)用示例, 更多鴻蒙開發(fā)OpenHarmony技術(shù)可以在主頁(yè)
    發(fā)表于 01-15 17:37