没有合适的资源?快使用搜索试试~ 我知道了~
在linux平台上移植BlueZ
5星 · 超过95%的资源 需积分: 50 43 下载量 3 浏览量
2009-03-31
12:58:17
上传
评论
收藏 30KB DOCX 举报
温馨提示
试读
15页
Bluez作为当前最成熟的开源蓝牙协议栈,在Linux的各大发行版中已经得到了广泛的应用。在桌面环境下,使用Bluez应该已经没有太大的问题,本文的主要目的是介绍在嵌入式平台上,搭建和配置Bluez的各个Profile运行所需做的工作,讨论可能遇到的问题,介绍一些工具的使用和工作原理。因为本人的能力和测试时间有限,可能下文中有些理解、分析不一定准确,欢迎联系指正。
资源推荐
资源详情
资源评论
作为当前最成熟的开源蓝牙协议栈,在 的各大发行版中已经得到了广泛的应用。
在桌面环境下,使用 应该已经没有太大的问题,本文的主要目的是介绍在嵌入式平
台上,搭建和配置 的各个 运行所需做的工作,讨论可能遇到的问题,介绍一
些工具的使用和工作原理。因为本人的能力和测试时间有限,可能下文中有些理解、分析
不一定准确,欢迎联系指正。
相关说明
网站资源
的官方网址:这里提供最新的源码下载,最近服务器崩溃了一
次,有些东西没了。。。。
的 :这里提供 相关的 等文档资源
相关邮件列表:
!关于如何使用和配置 ,多数是在讨
论 " 环境下的问题。。。。
!#$ 开发者活动的地方,有什么 之
类的怀疑,还有编程接口之类的问题,就发到这里吧。
%工作环境
个人感觉,使用 最大的问题就是文档的欠缺,除了 上的有限资料以外,很难找
到其它有用的文档。
由于 的代码实现更新变化得很快,网上的许多文档介绍的都是早期版本的使用,再
有的文章多数是基于成熟的 发行版,来讨论蓝牙设备的配置和使用,对于嵌入系统
开发,自己编译,搭建和配置相关环境的文章很少。此外和具体蓝牙芯片相关的资料也很
难找到。
这里我不打算也没有能力写一个完整的指南,只能基于前段时间在自己的板子上所做的工
作,总结一下相关的步骤和所遇到的各类问题以及这期间所掌握的各种相关知识。希望能
给有类似开发需求的朋友一些有益的帮助,下面是这篇文章所基于的工作环境:
&'(()(*硬件平台:基于 +,- 的嵌入式板子
&'(()(*蓝牙芯片:".,"/,0-版本芯片,不带 1
&'(()(*软件环境:%(%,自制文件系统
&'(()(* 版本:!2%%! 2%%
%编译
%内核
相信多数人使用的都是 %( 的内核了,在 %( 的内核中要支持 ,只要你的内核版本不
是太旧,无需打 3,直接配置好就 04 了,内核里面的代码相对比较稳定了。当然,
对一些 协议栈新特性的支持,还是需要更新 代码的。你应该确认你
使用的 版本是否以及包含了对应的支持。
内核的配置,基本上把 下 !!!51里的以下几项全部选
上即可:
%"+
."0
,6"0--
,6"0--778
9:
;<
此外,在 #$#$ 里选上你所需要支持的 设备。我使用的 "., 的
是我们直接 # 在板子上,通过串口和 通讯的,芯片默认使用 ". 作为通讯协
议,所以我选择了:
";=+,7#$
".
如果你是通过 接口使用蓝牙适配器,需要选择
";=.#$
%%=
的编译比较简单,而 != 所依赖的库就比较多了,大体包括 #333
311 等等,仔细观察的输出,将所需要的包先安装或者
# 好。
值得注意的一点是:
如果你需要打开所有的功能模块的支持,需要在 参数中添加 !!3!3!!
3!3#!!3!!!3!>3!3等,在 2%% 版本中 !!3!3居
然不包括 3# 等相关模块的 $ 的编译,不知道是否是因为还保留了 #31 和
$ 等不同方案的缘故。不过,这至少与他的 !!对于 !!3!3的描述是
不符合的。
2蓝牙硬件初始化及基础服务启动
如果在 " 环境下,使用 =,调用 #3应该就能完成这一步的工
作了。下面叙述一下在我的嵌入式环境下,如何手动完成这一步骤。
2何谓硬件初始化
硬件初始化,指的是配置蓝牙芯片,将其置于一个能够正常通讯的状态。
对于 "., 的芯片来说,就是通过设置 .4:8,设置其晶振频率,=+,7 波特率等等一些关键
参数。如果使用的是 =. 形式的适配器,因为其 ::,0- 存储了相关的默认参数,这一步
很可能不需要做,而我使用的是不带 ::,0- 的 ,0- 版本芯片,如何正确完成初始化工
作着实让我折腾了一阵。
对于其它芯片,没有太多研究,不过,据我有限的了解,7; 的芯片在 33 时也需要完
成一些额外的初始化工作,其它如 .7 的芯片则可能需要下载 13。
2%硬件初始化步骤
通常蓝牙芯片的初始化和协议绑定可以通过 33来完成(通过配置 的启动脚本,
可以不需要使用 33,标准发行版应该都是不用 33,如何配置,还没有研究
。。。 ?)
33需要的参数主要包括 778 节点,设备类型,波特率等。多数类型的设备的初始化
工作,在选择了正确的设备类型参数后,都由 33 在 @3 函数中调用具体的初始
化函数所完成。
很遗憾的是,因为要重新设置晶振频率和波特率,并同步 ". 协议,这种方式好像处理
不了我所使用的芯片(不排除我没有找到正确的解决方案的可能性),我最终的解决办法
是在 33 之前,使用 ! 里的 ""-< 工具先完成这些 .4:8 的设置工作。
具体命令是:
1#!!##$5.3#!
在这时,由于 "; 接口还没有启动,所以只能使用 ". 协议来进行通讯,我的设备是暴露
在 5. 下,你的可能不一样,! 参数指明在 3# 完成 .4:8 的批量加载操作之后,对
芯片进行 31,否则这些参数的修改不会起作用。
" 的内容取决与你的芯片,我的大致如下:
.4:8@+9+@6,:A
&BCD"/B相当于 /B- 的晶振
.4:8@=+,7@+=<@,+7:
&BCB:6D%(BB 的波特率
剩余14页未读,继续阅读
资源评论
- SKY_Ray2013-04-25还不错哦,可以下载下来参考
- xueyuehanzhu1232013-02-10还不错哦,可以下载下来参考,呵呵
20141206
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功