下载中心
解读linux下的蓝牙驱动程序pdf
1星 发布者: sinceyoulove

2013-09-29 | 2积分 | 94.17KB |  0 次下载

下载 收藏 评论

文档简介
标签: 解读

解读

linux

linux

蓝牙

蓝牙

驱动

驱动

程序

程序

解读linux 蓝牙驱动 程序linux 蓝牙驱动代码阅读笔记昨天看了一下介绍蓝牙协议文档,今天索性对照看了看 kernel 里的代码(bluez),这里记点笔记,还是继承了老毛病, 只关注整体流程而忽略细节,先了解个大概,等真正需要时再仔细分析。 net/hci_core.c HCI 在主机端的驱动主要是为上层提供一个统一的接口,让上层协议不依赖于具体硬件的实现。HCI 在硬件中的固件 与 HCI 在主机端的驱动通信方式有多种,比如像 UART、USB 和 PC Card 等等。hci_core.c 相当于一个框架,用于把 各种具体通信方式胶合起来,并提供一些公共函数的实现。 hci_cmd_task 是负责发送 CMD 的任务,它从 hdev->cmd_q 队列中取 CMD,然后调用 hci_send_frame 把CMD发送出去, hci_send_frame 又会调用实际的 HCI 驱动的 send 函数发送数据。 hci_rx_task 是负责接收数据的任务,它从 hdev->rx_q 队列中取数据,然后根据数据的类型调用上层函数处理。数据 包有三种类型: 1. HCI_EVENT_PKT: 用于处理一些通信事件,比如连接建立,连接断开,认证和加密等事件,这些事件控制协议状 态的改变。 2. HCI_ACLDATA_PKT: 异步非连接的数据包,通过 hci_acldata_packet 提交给上层的 L2CAP 协议处理 (hci_proto[HCI_PROTO_L2CAP])。 3. HCI_SCODATA_PKT: 同步面向连接的数据包,通过 hci_scodata_packet 提供给上层的 SCO 协议处理 (hci_proto[HCI_PROTO_SCO])。 hci_tx_task 是负责发送数据的任务,发送所有 connection 中的 ACL 和 SCO 数据,以及 hd……

评论
相关视频
  • 财哥说钛丝

  • 控制系统仿真与CAD

  • PLC功能指令应用详解

  • 微波毫米波电路分析与设计

  • Android车载系统框架

  • 天线原理与基本参数

推荐帖子
精选电路图
  • 离子检测器电路分析

  • 一个简单的立体声平衡指示器电路

  • 分享一个电网倾角计电路

  • 使用NE555和磁簧开关的橱柜照明电路

  • 电谐波图形均衡器示意图

  • 一种构建12V和230V双直流电源的简单方法

×