Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2159529
  • 博文数量: 438
  • 博客积分: 3871
  • 博客等级: 中校
  • 技术积分: 6075
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-10 00:11
个人简介

邮箱: wangcong02345@163.com

文章分类

全部博文(438)

文章存档

2017年(15)

2016年(119)

2015年(91)

2014年(62)

2013年(56)

2012年(79)

2011年(16)

分类: Android平台

2014-08-07 15:55:21

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 -d
  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)






阅读(1088) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~