蓝牙
文章平均质量分 81
Simons(1075271250@qq
这个作者很懒,什么都没留下…
展开
-
linux蓝牙驱动代码阅读笔记
linux蓝牙驱动代码阅读笔记昨天看了一下介绍蓝牙协议文档,今天索性对照看了看kernel里的代码(bluez),这里记点笔记,还是继承了老毛病,只关注整体流程而忽略细节,先了解个大概,等真正需要时再仔细分析。net/hci_core.cHCI 在主机端的驱动主要是为上层提供一个统一的接口,让上层协议不依赖于具体硬件的实现。HCI在硬件中的固件与HCI在主机端的驱动通信方式转载 2012-02-10 16:47:08 · 796 阅读 · 0 评论 -
OBEX介绍
(一) OBEX介绍一、什么是OBEX,它有什么用途?OBEX全称为Object Exchange,中文对象交换,所以称之为对象交换协议。它在此软件当中有着核心地位,文件传输和IrMC同步都会使用到它。OBEX协议构建在IrDA架构的上层.OBEX协议通过简单的使用“PUT”和“GET”命令实现在不同的设备、不同的平台之间方便、高效的交换信息。支持的设备广泛,例如PC,PDA,电原创 2012-02-06 14:11:40 · 8292 阅读 · 1 评论 -
BlueZ 的体系结构
BlueZ 的体系结构 BlueZ由主机控制接口(Host Control Interface,HCI)、Bluetooth协议核心、逻辑链路控制和适配协议(Logical Link Control and Adaptation Protocol,L2CAP)、SCO音频层、其它 Bluetooth服务、用户空间后台进程以及配置工具组成。它的完整结构如图 1所示(其中除应用程序和硬件外原创 2012-02-08 09:43:57 · 4721 阅读 · 0 评论 -
最新历史版本 :Android Bluetooth
一、Android Bluetooth现状(1)Android2.2版 支持的蓝牙核心版本是Bluetooth 2.0 + EDR。(2)Android 的蓝牙 使用了BlueZ协议栈,但只实现了Handset/Handfree和A2DP/AVRCP等Profile。(一些常用的Profile(如HID/DUN/SPP/OPP/FTP/PAN等)在现转载 2012-12-17 15:00:18 · 1337 阅读 · 0 评论 -
蓝牙core spec v4.0研读笔记(二)
蓝牙core spec v4.0研读笔记(二)1. The physical link between a master and a slave device is active if a default ACL logical transport exists between the devices.即主从设备之间若有一个默认的ACL逻辑传输存在,则认为这个物理链路是活动的。转载 2012-11-23 09:11:46 · 2140 阅读 · 0 评论 -
蓝牙core spec v4.0研读笔记(一)
蓝牙core spec v4.0研读笔记(一)1. Broadcast links have no feedback route, each packet is transmitted several times to increase the probability that the receiver is able to receive at least one of the转载 2012-11-23 09:10:28 · 3919 阅读 · 0 评论 -
蓝牙core spec v4.0研读笔记(四)
蓝牙core spec v4.0研读笔记(四)1. The Out of Band (OOB) association model is primarily designed for scenarios where an Out of Band mechanism is used to both discover the devices as well as to exchange转载 2012-11-20 17:03:55 · 4558 阅读 · 0 评论 -
MTK 电话本的开机初始化
MTK PhoneBook开机流程开机之后,初始化时,设置如下三个PS消息CBack函数: InitializeAll() mmi_phb_init_protocol() SetProtocolEventHandler(mmi_phb_ind_startup_finish, PRT_PHB_STARTUP_FINISH_IND);转载 2012-11-20 13:15:10 · 1726 阅读 · 0 评论 -
HCI协议剖析
HCI协议剖析在蓝牙协议模型中,HCI软件驱动程序与HCI固件统一归为HCI(主机控制接口),所以要基于HCI进行开发,首先必须了解HCI涉及的具体内容。主机 控制接口为蓝牙硬件中基带控制器和链路管理器提供了命令接口,从而实现对硬件状态寄存器和控制寄存器的访问,特别是该接口提供了对蓝牙基带的统一访问模 式。HCI分为主机、传输层、主控制器三部分,并在每一层为HCI系统提供不同的功能。本文把HC转载 2012-02-08 09:52:47 · 4443 阅读 · 0 评论 -
Bluez相关的各种tools的使用(主要用到hcidump)
在这一段折腾Bluez的时间里,越来越发现Bluez相关的许多工具做得还是挺好用的,主要在Bluez-utils/tools 目录下。只是有一点让我很遗憾,除了man以外很难找到更多的帮助文档,而man文档本身对一些功能的描述也不是很详细。其中有些选项,如果你不了解蓝牙协议栈,或者没有查阅过相关蓝牙芯片的一些文档,很难搞明白是什么意思,甚至有些选项的具体参数值的设定,如果不读源码你都无从得知有转载 2012-02-16 16:49:16 · 1306 阅读 · 0 评论 -
电话本里的快速排序和插入排序算法
记得读书的时候学数据结构和一些程序基础的课程,学了很多的排序算法,当时感觉蛮有趣,也很简单,当大学的教育是以理论为主的,哪些教授们又没给咱举个实用的例子说明为什么要教我们这个,所以考完试就把这些没用的东东给忘了... 最近为了实现自己的一个应用不得已去啃电话本,竟然发现里面有一个简单的不错的排序算法,只所以不错,是因为他所处架构的位置和作用我很清楚,但其内部的代码逻辑竟然一时没有看懂,汗转载 2012-11-17 10:00:50 · 1144 阅读 · 0 评论 -
BlueZ协议的移植
BlueZ协议的移植 硬件平台是三星公司的s3c2410a 开发板,软件平台是内核版本为 2.4.20的Linux操作系统, 为实现蓝牙协议栈BlueZ的移植, 可进行以下步骤进行移植: (1) 生成交叉编译器,创建交叉编译环境 (2) 编译、配置实验开发平台上的 Linux内核 (3) 安装 BlueZ 软件包 (4) 编译实验开发平台转载 2012-02-08 09:51:06 · 1256 阅读 · 0 评论 -
BlueZ介绍
BlueZ介绍(详见http://www.bluez.org/):BlueZ 是Linux OS开放的bluetooth 协议栈.Bluetooth协议栈BlueZ分为两部分:内核代码和用户态程序及工具集。内核代码:由BlueZ核心协议和驱动程序组 成;Bluetooth协议实现在内核源代码 /net/bluetooth中。包括hci,l2cap,hid,rfcomm,sco,SD转载 2012-02-10 16:31:30 · 1421 阅读 · 0 评论 -
HCI_USB 调用
1. 向USB core z注册 HCI_USB_DRIVER static int __init hci_usb_init(void){ int err; BT_INFO("HCI USB driver ver %s", VERSION); if ((err = usb_register(&hci_usb_driver))转载 2012-02-10 17:15:15 · 1749 阅读 · 0 评论 -
破解 WIDCOMM 蓝牙驱动的方法
手工编辑.inf文件 破解 WIDCOMM 蓝牙驱动的方法对于使用 WidcommLicensePatcher 1.8 破解license 文件仍然无法找到蓝牙适配器的可以用以下方法完成破解 (转自魔蝎,并进行了局部修改)widcomm 经过修改安装inf文件和lisence文件,达到了破解的目的,支持32位及64位操作系统,支持多种usb蓝牙设备,如下:%ABOCOMDFU.D转载 2012-02-20 18:09:39 · 4913 阅读 · 0 评论 -
TinyXML:一个优秀的C++ XML解析器
读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。DOM模型即文档对象转载 2012-02-08 09:59:33 · 694 阅读 · 0 评论