【鸿蒙】OpenHarmony 4.0蓝牙代码结构简析

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………
在这里插入图片描述

  • 16
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值