Cubietruck---23.android蓝牙分析1总

1. android4.2.2中蓝牙的目录层次结构
a. 设置中的bluetooth
  1. ./packages/apps/Settings/src/com/android/settings/bluetooth/
  2. 实际上ct把packages中的Settings覆盖了,新目录在:
  3. ./device/softwinner/common/packages/TvdSettings/src/com/android/settings/bluetooth/
b. java中间层
  1. ./frameworks/base/core/java/android/bluetooth/
  2. ./frameworks/base/services/java/com/android/server/
c. packat中的java层
  1. ./packages/apps/Bluetooth/src/com/android/bluetooth/

d.packet 中的jni层
  1. ./packages/apps/Bluetooth/jni/

e.bluedroid协议栈
  1. ./external/bluetooth/bluedroid/

f. hw层,厂商自己的库libbt-vendor.so
  1. ./device/common/libbt/

g.内核层,蓝牙驱动的位置
  1. ./lichee/linux-3.4/drivers/net/wireless/bcmdhd/

2.蓝牙协议栈bluedroid目录结构分析
  1. cong@msi:/work/ct/android/external/bluetooth/bluedroid$ tree -L 2 -
  2. ├── audio_a2dp_hw // 音频相关
  3. ├── bta            //Bluetooth Application Layer, 用于和android framework层交互
  4. │   ├── ag            //audio gateway
  5. │   ├── ar            //audio/video registration
  6. │   ├── av            //advanced audio/video
  7. │   ├── dm            //device manager
  8. │   ├── fs            //file system
  9. │   ├── gatt
  10. │   ├── hh            //HID HOST
  11. │   ├── hl            //HeaLth(HL) device profile
  12. │   ├── include
  13. │   ├── jv            //BTA Java(JV) I/F
  14. │   ├── pan
  15. │   ├── pb            //phone book access server (PBS)
  16. │   └── sys            //system manager
  17. ├── btif
  18. │   ├── co
  19. │   ├── include
  20. │   └── src
  21. ├── conf
  22. ├── embdrv
  23. │   └── sbc
  24. ├── gki                //Generic Kernel Interface
  25. │   ├── common
  26. │   └── ulinux
  27. ├── hci
  28. │   ├── include
  29. │   └── src
  30. ├── include
  31. ├── main
  32. ├── stack        //stack 实现了各种协议
  33. │   ├── a2dp        //Advanced Audio Distribution Profile (A2DP)
  34. │   ├── avct        //audio/video control transport protocol.
  35. │   ├── avdt        //audio/video distribution transport protocol
  36. │   ├── avrc        //AVRCP
  37. │   ├── bnep
  38. │   ├── btm            //Bluetooth Manager (BTM)
  39. │   ├── btu            //Bluetooth Upper Layer
  40. │   ├── gatt
  41. │   ├── hcic
  42. │   ├── hid            // HID 
  43. │   ├── include
  44. │   ├── l2cap
  45. │   ├── mcap
  46. │   ├── pan
  47. │   ├── rfcomm
  48. │   ├── sdp
  49. │   └── smp
  50. ├── test
  51. │   └── bluedroidtest
  52. ├── tools
  53. ├── udrv
  54. │   ├── include
  55. │   └── ulinux
  56. └── utils
  57.     ├── include
  58.     └── src
3.术语
ACL: Asynchronous Connectionless, 无连接的界步连接,用于分组数据传输
A2dp: Advanced Audio Distribution Profile 蓝牙音频传输模型协定
ATT: Attribute Protocol
AVRCP: Audio/Video Remote Control Profile
A2MP: AMP Manager Protocol
BLE: Bluetooth Low Energy, 低耗电蓝牙
BTE: Bluetooth Embedded System,它实现了BT的核心功能。
BTE则通过HCI与厂商蓝牙芯片交互以实现了蓝牙协议栈的通用功能和相关协议
BTA: Bluetooth Application Layer, 用于和android framework层交互
BTA实现了蓝牙设备管理、状态管理及一些应用规范
btm:Bluetooth manager在协议栈中
btu:Bluetooth Upper Laye在协议栈中
BNEP: Bluetooth Network Encapsulation Protocol
cob: chip on board
dm:    Device Management
EDR:Enhanced Data Rate
EIR: Extended inquiry response
HCI: Host Control Interface  
HDP:Bluetooth Health Device Profile 蓝牙关于医疗方面的应用 
HFP : Hands-free Profile  和电话相关,蓝牙接听、挂断电话 
LMP: Link ManagerProtocol, 链路管理协议
L2CAP: Logical Link Control and Adaptation Protocol, 逻辑链路控制和适配协议
GATT: Generic Attribute Profile   通用属性配置文件
GAP: Generic Access Profile
PBAP: Phonebook Access Profile 电话号码簿访问协议
RFCOMM: 串口仿真协议
SCO: Synchronous Connection Oriented, 面向连接的同步连接,用于语音传输
SDP: ServiceDiscovery Protocol,服务发现协议
TCS: TelephonyControlprotocol Spectocol,二进制电话控制协议

3.1蓝牙工作模式: 
激活(active) 呼吸(sniff) 保持(hold) 休眠(park)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值