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ì)較多,目錄劃分原則和功能描述如下
架構(gòu)及進(jìn)程部
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) 開(kāi)發(fā)技術(shù),這邊特意整理了《鴻蒙 (OpenHarmony)開(kāi)發(fā)學(xué)習(xí)手冊(cè)》,希望對(duì)大家有所幫助:
《鴻蒙(Harmony OS)開(kāi)發(fā)學(xué)習(xí)手冊(cè)》
入門必看:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.應(yīng)用開(kāi)發(fā)導(dǎo)讀(ArKTS)
2.……
HarmonyOS概念:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.系統(tǒng)定義
2.技術(shù)框架
3.技術(shù)特性
4.系統(tǒng)安全
快速入門:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.基本概念
2.構(gòu)建第一個(gè)ArkTS應(yīng)用
3.…
開(kāi)發(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.資源分類與訪問(wèn)
8.學(xué)習(xí)ArkTS
9…
基于ArkTS 開(kāi)發(fā):https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.Ability開(kāi)發(fā)
2.UI開(kāi)發(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ó)際化開(kāi)發(fā)
15.折疊屏系列
16………
審核編輯 黃宇
-
藍(lán)牙
+關(guān)注
關(guān)注
114文章
5809瀏覽量
170188 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2339瀏覽量
42805 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3713瀏覽量
16254
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論