OpenHarmony 4.0藍牙代碼結構簡析前言
OpenHarmony 4.0上藍牙倉和目錄結構進行一次較大整改,本文基于4.0以上版本對藍牙代碼進行分析,便于讀者快速了解和學習OpenHarmony藍牙模塊
代碼倉和目錄結構
當前藍牙完整的代碼涉及多個代碼倉
代碼路徑
說明
應用接口https://gitee.com/openharmony/interface_sdk-js/tree/master/api當前所有應用層接口統一歸并到interface倉;api 10中藍牙接口按照profile拆分了多個d.ts文件
框架層https://gitee.com/openharmony/communication_bluetooth該倉之前包含框架層和系統服務層代碼;架構拆分后只保留框架層代碼
系統服務層https://gitee.com/openharmony/communication_bluetooth_service
驅動https://gitee.com/openharmony/drivers_peripheral/bluetoothIDL模式,藍牙驅動接口實現;接口定義在https://gitee.com/openharmony/drivers_interface/bluetooth;完整的代碼還應該包括vendor(藍牙芯片)代碼,如dayu200的vendor代碼在https://gitee.com/openharmony/vendor_hihope/tree/master/rk3568
系統服務層代碼倉目錄相對較多,目錄劃分原則和功能描述如下
架構及進程部
1、藍牙模塊按照OpenHarmony系統架構分層原則進行分層
2、框架層分為JSAPI和NativeAPI,JSAPI用于用戶APP調用;NativeAPI生成btframework.so,供其它系統服務(net_manager…)調用;部署在調用者進程
3、系統服務層內部分為5層,分別對應目錄結構中描述的5個目錄;部署在藍牙系統服務進程
4、驅動進程中部署Hdi和Vendor模塊;和藍牙芯片對接,在藍牙系統服務進程和藍牙芯片間處理報文收發
版本間差異
1、原來藍牙框架層和系統服務層都在bluetooth代碼倉,現在拆分成了bluetooth和bluetooth_service兩個倉;主要理念是考慮可以方便替換或升級藍牙系統服務層的實現;比如廠商可以使用私有的藍牙協議實現,只需要框架層接口保持一致即可
2、為了減少應用程序的運行內存和程序加載速度,JSAPI按照profile拆分出了多個so;應用程序可以按需最小引用藍牙模塊功能
總結
本文基于OpenHarmony 4.0版本對藍牙代碼架構/目錄分層原則做了簡單分析,同時分析了4.0版本的重要改動點
為了能讓大家更好的學習鴻蒙 (OpenHarmony) 開發技術,這邊特意整理了《鴻蒙 (OpenHarmony)開發學習手冊》,希望對大家有所幫助:
《鴻蒙(Harmony OS)開發學習手冊》
入門必看:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.應用開發導讀(ArKTS)
2.……
HarmonyOS概念:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.系統定義
2.技術框架
3.技術特性
4.系統安全
快速入門:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.基本概念
2.構建第一個ArkTS應用
3.…
開發基礎知識:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.應用基礎知識
2.配置文件
3.應用數據管理
4.應用安全管理
5.應用隱私保護
6.三方應用調用管控機制
7.資源分類與訪問
8.學習ArkTS
9…
基于ArkTS 開發:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.Ability開發
2.UI開發
3.公共事件與通知
4.窗口管理
5.媒體
6.安全
7.網絡與鏈接
8.電話服務
9.數據管理
10.后臺任務(Background Task)管理
11.設備管理
12.設備使用信息統計
13.DFX
14.國際化開發
15.折疊屏系列
16………
審核編輯 黃宇
-
藍牙
+關注
關注
115文章
6021瀏覽量
173097 -
鴻蒙
+關注
關注
59文章
2497瀏覽量
43742 -
OpenHarmony
+關注
關注
26文章
3817瀏覽量
18090
發布評論請先 登錄
鴻蒙北向開發OpenHarmony5.0 DevEco Studio開發工具安裝與配置

OpenHarmony4.1系統WiFi藍牙打不開時,教你如何排查解決問題

【北京迅為】itop-3568 開發板openharmony鴻蒙燒寫及測試-第1章 體驗OpenHarmony—燒寫鏡像

鴻蒙原生頁面高性能解決方案上線OpenHarmony社區 助力打造高性能原生應用
OpenHarmony源碼編譯后燒錄鏡像教程,RK3566鴻蒙開發板演示

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

鴻蒙原生開源庫ViewPool在OpenHarmony社區正式上線
OpenHarmony屬性信息怎么修改?觸覺智能RK3566鴻蒙開發板來演示

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

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

OpenHarmony4.0系統修改屏幕旋轉方法,RK3566鴻蒙開發板備戰第九屆華為ICT大賽


鴻蒙OpenHarmony南向/北向快速開發教程-迅為RK3568開發板
深耕鴻蒙生態,國科微旗艦芯片獲“鴻蒙4.0”首款認證

評論