0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

王程 ? 来源:jf_75796907 ? 作者:jf_75796907 ? 2024-02-26 16:08 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

系统服务层代码仓目录相对较多,目录划分原则和功能描述如下

wKgZomXcRo6AFtQ8AAIhJd6EgqI689.png

架构及进程部

wKgZomXcRpaAdtGNAADRUxpX_CU918.png


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.……

wKgaomXW6N2AJp9uAAQXRxEAprs547.png

HarmonyOS概念:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.系统定义
2.技术框架
3.技术特性
4.系统安全

wKgaomXW6OSAFcCRAAV2zd2X_1s891.png

快速入门:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.基本概念
2.构建第一个ArkTS应用
3.…

wKgZomXW6PuAA7wEAAKx6By_2Z8377.png

开发基础知识:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.应用基础知识
2.配置文件
3.应用数据管理
4.应用安全管理
5.应用隐私保护
6.三方应用调用管控机制
7.资源分类与访问
8.学习ArkTS
9…

wKgZomXW6QaAM4niAAQzrXUUPik914.png

基于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………

wKgZomXW6RKATahiAAKz-zSMnR4040.png


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙
    +关注

    关注

    116

    文章

    6093

    浏览量

    174447
  • 鸿蒙
    +关注

    关注

    60

    文章

    2646

    浏览量

    44262
  • OpenHarmony
    +关注

    关注

    30

    文章

    3858

    浏览量

    18825
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Modbus与MQTT的区别

    Modbus和MQTT是工业领域中两种不同的通信协议,在设计目标、应用场景、通信模式等方面存在显著差异,以下从多个维度两者的区别: 1.设计目标与起源 Modbus 诞生于1979年,由施耐德
    的头像 发表于 07-10 14:10 ?219次阅读

    开源鸿蒙开发必备!OpenHarmony替换Full SDK全攻略

    本文介绍开源鸿蒙OpenHarmony替换FullSDK的方法,演示设备为触觉智能PurplePiOH鸿蒙开发板获取FullSD
    的头像 发表于 06-06 18:11 ?302次阅读
    开源<b class='flag-5'>鸿蒙</b>开发必备!<b class='flag-5'>OpenHarmony</b>替换Full SDK全攻略

    DialogHub上线OpenHarmony开源社区,高效开发鸿蒙应用弹窗

    “Gitee官网”,首页搜索“DialogHub”,快速下载集成,并参与代码贡献与问题反馈。共同提升鸿蒙应用的性能与体验。 未来华为也将持续携手生态伙伴共建创新,面向底座技术、通用能力、垂类行业等场景推出系列
    发表于 04-03 17:30

    鸿蒙北向开发OpenHarmony5.0 DevEco Studio开发工具安装与配置

    本文介绍OpenHarmony5.0 DevEco Studio开发工具安装与配置,鸿蒙北向开发入门必备!由触觉智能Purple Pi OH鸿蒙开发板演示。搭载了瑞芯微RK3566四核处理器,支持开源
    的头像 发表于 03-28 18:05 ?928次阅读
    <b class='flag-5'>鸿蒙</b>北向开发<b class='flag-5'>OpenHarmony</b>5.0 DevEco Studio开发工具安装与配置

    OpenHarmony4.1系统WiFi蓝牙打不开时,教你如何排查解决问题

    本文介绍OpenHarmony4.1系统开发板,出现打不开WiFi和蓝牙的问题排查和解决方法。触觉智能PurplePiOH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,1TOPS算力NPU
    的头像 发表于 03-12 18:55 ?440次阅读
    <b class='flag-5'>OpenHarmony</b>4.1系统WiFi<b class='flag-5'>蓝牙</b>打不开时,教你如何排查解决问题

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第1章 体验OpenHarmony—烧写镜像

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第1章 体验OpenHarmony—烧写镜像
    的头像 发表于 03-04 16:31 ?589次阅读
    【北京迅为】itop-3568 开发板<b class='flag-5'>openharmony</b><b class='flag-5'>鸿蒙</b>烧写及测试-第1章 体验<b class='flag-5'>OpenHarmony</b>—烧写镜像

    鸿蒙北向开发OpenHarmony4.1 DevEco Studio开发工具安装与配置

    OpenHarmony4.1 DevEco Studio开发工具安装与配置,鸿蒙北向开发入门必备!
    的头像 发表于 02-07 17:35 ?879次阅读
    <b class='flag-5'>鸿蒙</b>北向开发<b class='flag-5'>OpenHarmony</b>4.1 DevEco Studio开发工具安装与配置

    鸿蒙原生页面高性能解决方案上线OpenHarmony社区 助力打造高性能原生应用

    高性能鸿蒙原生应用。 Nodepool:优化页面滑动流畅性Nodepool旨在解决应用页面滑动卡顿问题。开发中,相似页面因业务和代码差异,组件复用性差,引发卡顿、丢帧,影响用户体验。Nodepool通过
    发表于 01-02 18:00

    OpenHarmony源码编译后烧录镜像教程,RK3566鸿蒙开发板演示

    本文介绍瑞芯微主板/开发板编译OpenHarmony源码后烧录镜像的教程,触觉智能Purple Pi OH鸿蒙开发板演示。搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持开源鸿蒙O
    的头像 发表于 12-30 10:08 ?892次阅读
    <b class='flag-5'>OpenHarmony</b>源码编译后烧录镜像教程,RK3566<b class='flag-5'>鸿蒙</b>开发板演示

    OpenHarmony怎么修改DPI密度值?触觉智能RK3566鸿蒙开发板演示

    开源鸿蒙OpenHarmony系统下,修改DPI密度值的方法,触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval鸿蒙社区推荐开发板,已适配全
    的头像 发表于 12-24 11:46 ?804次阅读
    <b class='flag-5'>OpenHarmony</b>怎么修改DPI密度值?触觉智能RK3566<b class='flag-5'>鸿蒙</b>开发板演示

    鸿蒙原生开源库ViewPool在OpenHarmony社区正式上线

    近日,由伙伴参与共建的鸿蒙原生开源库“ViewPool”在OpenHarmony社区正式上线。这个开发库是基于OpenHarmony技术孵化的成果,充分发挥了平台的技术特性,同时融入了伙伴在应用开发
    的头像 发表于 12-20 14:44 ?662次阅读

    OpenHarmony属性信息怎么修改?触觉智能RK3566鸿蒙开发板来演示

    本文介绍开源鸿蒙OpenHarmony系统下,修改产品属性信息的方法,触觉智能Purple Pi OH鸿蒙开发板演示,已适配全新OpenHarmony5.0 Release系统!
    的头像 发表于 11-27 09:31 ?794次阅读
    <b class='flag-5'>OpenHarmony</b>属性信息怎么修改?触觉智能RK3566<b class='flag-5'>鸿蒙</b>开发板来演示

    如何在开源鸿蒙OpenHarmony开启SELinux模式?RK3566鸿蒙开发板演示

    本文介绍开源鸿蒙OpenHarmony系统下,开启/关闭SELinux权限的方法,触觉智能Purple Pi OH鸿蒙开发板演示,已适配全新OpenHarmony5.0 Release
    的头像 发表于 11-18 19:03 ?894次阅读
    如何在开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>OpenHarmony</b>开启SELinux模式?RK3566<b class='flag-5'>鸿蒙</b>开发板演示

    OpenHamrony4.0去除锁屏是一种什么体验?触觉智能给你支支招

    本文介绍开源鸿蒙OpenHarmony 4.0系统下,去除锁屏开机后直接进入界面的方法,触觉智能Purple Pi OH鸿蒙开发板演示,已适配全新O
    的头像 发表于 11-13 10:37 ?684次阅读
    OpenHamrony<b class='flag-5'>4.0</b>去除锁屏是一种什么体验?触觉智能给你支支招

    OpenHarmony4.0系统修改屏幕旋转方法,RK3566鸿蒙开发板备战第九届华为ICT大赛

    本文提供OpenHarmony4.0系统竖屏修改为旋转时的操作方法,本次使用了触觉智能的Purple Pi OH鸿蒙开源主板,搭载了瑞芯微RK3566,Laval官方社区主荐的一款鸿蒙开发主板,近期第九届华为ICT大赛,有竞赛需
    的头像 发表于 09-25 00:29 ?1285次阅读
    <b class='flag-5'>OpenHarmony4.0</b>系统修改屏幕旋转方法,RK3566<b class='flag-5'>鸿蒙</b>开发板备战第九届华为ICT大赛