Bluez的编译过程与方法研讨.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Bluez的编译过程与方法研讨

Bluez的编译过程与方法 2011-05-19 蓝牙模块解决方案 linux下针对蓝牙设备的操作分两部分,分别是驱动程序的部分和用户程序的部分,而用户程序部分又可分为守护进程部分和用户编程部分。 蓝牙设备基于通用蓝牙芯片,驱动程序在内核里已经集成,即大多数蓝牙设备的驱动程序会在内核源代码中找到,因此,不需要针对蓝牙设备编写具体的驱动程序。 蓝牙模块解决方案 大致需要完成如下: 1、linux内核的配置,完成蓝牙设备驱动的配置 2、编译bluez协议栈 3、编写用户进程通信程序 蓝牙设备间配对原理 两个蓝牙设备A和B,A先发送要求配对的请求给B,B由用户设置好配对的密码即PIN code,然后回一个消息给A,说你想配对可以呀,知道我的密码吗?然后A就发送PIN code过去,B看和自己的密码相符合,就发送一个replyOK的消息给A,这样两者就建立起来了信任关系 Bluez介绍 Linux OS开放的bluetooth 协议栈主要包括IBM公司的BlueDrekar, Nokia公司的Affix, Axis公司的OpenBT和官方的协议栈BlueZ. Bluetooth协议栈BlueZ分为两部分:内核代码和用户态程序及工具集。 其中内核代码由BlueZ核心协议和驱动程序组成;Bluetooth协议实现在内核源代码 /net/bluetooth中。包括hci,l2cap,hid,rfcomm,sco,SDP,BNEP等协议的实现。驱动程序放在 /driver/bluetooth中,包含Linux kernel对各种接口的Bluetooth device的驱动。例如:USB接口,串口等。 用户态程序及工具集包括应用程序接口和BlueZ工具集。BlueZ提供函数库以及应用程序接口,便于程序员开发bluetooth应用程序。BlueZ utils是主要工具集,实现对bluetooth设备的初始化和控制。 Bluez介绍 bluez新的版本不像旧的那样有什么bluez-util、bluez-lib什么的,就一个bluez4.48。 编译方案选择与说明 一、 bluez-lib+bluez-utils+expat方案 bluez-lib-3.36.tar.gz expat-2.0.1.tar.gz dbus-1.2.16.tar.gz glib-2.22.4.tar.bz2 bluez-utils-3.36.tar.gz 编译方案选择与说明 二、 bluez-lib+bluez-utils+libxml方案 bluez-lib-3.36.tar.gz libxml2-2.7.4.tar.gz dbus-1.0.2.tar.gz glib-2.16.5.tar.bz2 bluez-utils-3.36.tar.gz 编译方案选择与说明 三、bluez-4.x + libxml方案 libxml2-2.6.31.tar.gz dbus-1.0.2.tar.gz glib-2.22.3.tar.bz2 bluez-4.48.tar.gz 编译方案选择与说明 四、bluez-4.x + expat方案 expat-2.0.1.tar.gz dbus-1.0.3.tar.gz glib-2.22.0.tar.bz2 bluez-4.48.tar.gz 编译前说明及注意事项 1、四种方案均可,所选库根据编译器及库之间的兼容性而定,库版本并不唯一 2、所选各库版本尽量偏低,避免带来意想不到的错误,导致无法编译通过 3、dbus库可依赖expat或libxml,默认是expat,建议用expat 4、glib库版本过高,可能会用到zlib库 5、bluez-4.x以上版本,编译时需要用到linux内核中的/include/linux/sockios.h 所用的库及下载网站 expat-2.0.1.tar.gz /expat dbus-1.0.3.tar.gz /releases/dbus/ glib-2.22.0.tar.bz2 /pub/glib bluez-4.48.tar.gz /pub/linux/bluetooth/ 库之间的依赖关系 dbus依赖 expat bluez依赖 glib、dbus 说明: 1、如果glib库的版本比较高,可能还需要zlib 2、这里bluez-4.48,相当于以前低版本的bluez-lib、bluez-utils 3、dbus依赖expat或者libxml,这里用expat 编译前的目录位置说明 1、指定安装位置 /home/hdl/autobuild/hdl/Bluetooth/lib 2、Linux-2.6.28内核之include /home/hdl/autobuild/hdl/te

文档评论(0)

骨干 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档