BlueDroid软件协议栈架构

android蓝牙
在这里插入图片描述

架构

在这里插入图片描述

组件说明
LibHardware指定硬件抽象层(HAL);定义了蓝牙堆栈必须实现的所有HAL接口。
蓝牙接口层■实现JNI调用调用的HAL接口
■维护JNI注册的回调
■根据蓝牙应用层(BTA)堆栈的回调调用JNI回调
■提供应用程序的接口
BTA(与Android应用程序不同)■实现蓝牙配置文件
■维护配置文件状态机
■处理堆栈中的事件并将事件发送回接口层
BlueDroid堆栈实现核心堆栈和协议
HCI层■构建为共享库(libbt-hci)
■充当传输层和堆栈之间的接口■支持HCI H4;例如,将上层的串行驱动程序调用粘合在一起
蓝牙应用包括以下内容
■Bluetooth.apk,包含蓝牙配置文件服务和其他蓝牙功能;进程由设置UI启动
■BluetoothExt.apk,包含Qualcomm添加的蓝牙配置文件服务;进程由设置UI启动
■蓝牙中间件组件

源码

Contents of folderFolder path
BlueDroid stack user space componentexternal/bluetooth/bluedroid/
Android Bluetooth profile interface filesframeworks/base/core/java/android/bluetooth
Android native Java files OBEX profile implementationframeworks/base/obex/
OBEX profile implementationpackages/apps/Bluetooth
Bluetooth setting application in Javavendor/qcom/opensource-bluetooth,
packages/apps/Settings/src/com/android/settings/bluetooth
Android Bluetooth profile service filespackages/apps/Bluetooth/src/com/android/bluetooth
APIs to control the Bluetooth profilesframeworks/base/core/java/android/bluetooth
Android Bluetooth JNI filespackages/apps/Bluetooth/jni
BluetoothExt.apk directoryvendor/qcom/opensource/bluetooth
SAP application layer filesvendor/qcom/opensource/bluetooth/src/com/android/sap
Android default messaging application in Javapackages/apps/Mms
Android default email application in Javapackages/apps/Email
PBAP filespackages/apps/Bluetooth/src/com/android/bluetooth/pbap
OPP filespackages/apps/Bluetooth/src/com/android/bluetooth/opp
FTP filesvendor/qcom/opensource/bluetooth/ftp
A2DP filespackages/apps/Bluetooth/src/com/android/bluetooth/a2dp/
MAP files/packages/apps/Bluetooth/src/com/android/bluetooth/map/
AVRCP CoverArt filesvendor/qcomm/opensource/bluetooth_ext/packages_apps_bluetooth_ext/avrcp
AVRCP filespackages/apps/Bluetooth/src/com/android/bluetooth/avrcp/

源码分析

//system\bt\btif\src\bluetooth.c
EXPORT_SYMBOL struct hw_module_t HAL_MODULE_INFO_SYM = {
    .tag = HARDWARE_MODULE_TAG,
    .version_major = 1,
    .version_minor = 0,
    .id = BT_HARDWARE_MODULE_ID,
    .name = "Bluetooth Stack",
    .author = "The Android Open Source Project",
    .methods = &bt_stack_module_methods
};

在这里插入图片描述
在这里插入图片描述

精彩博客汇总

Android下bluedroid、bluetooth apk介绍 https://blog.csdn.net/zjli321/article/details/52402968
Ubuntu系统(bluez)蓝牙调试 https://blog.csdn.net/zjli321/article/details/52122447
蓝牙协议栈(Bluetooth stack)简介 https://blog.csdn.net/zjli321/article/details/53468429

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sundaygeek

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值