bluez编译移植

合集下载

glib库的交叉编译与移植

glib库的交叉编译与移植

glib库的交叉编译与移植这里需要强调一下:libc、glibc、glib是不同的库!glibc和libc 都是Linux下的C 函数库,而glib是GTK+的基础库libc 是Linux下的ANSI C 函数库;glibc 是Linux 下的GUN C 函数库。

上位机环境:PC:win7,家庭普通版虚拟机:VMware® Workstation,版本:9.0.2 build-1031769FEDORA:14开发板环境:MYD-C287开发板:采用飞思卡尔imx.287 ARM 9芯片,Linux2.6.35内核版本,Uboot 2013.03,gcc-4.4.4交叉编译链我们最终目的是在我们的开发板上能够执行使用了glib库的可执行文件。

要达到这个目的我们需要几个步骤:1、需要使用交叉编译链交叉编译glib库;2、将生成的动态库加入到文件系统的lib目录中;3、使用交叉编译出来的glib库,交叉编译.c文件,然后在开发板中执行文件;安装前准备:glib源码包下载地址:/pub/gnome/sources/glib/2.24/这里我们使用的是glib-2.22.5.tar.gzlibffi源码包下载地址:https:///libffi/libffi是glib的依赖库,所以需要先交叉编译这个库,我们使用的是libffi-3.2.1.tar.gzpkg的安装:pkg-config是一个很好的文本替换命令,主要用于编译命令上,FEDORA中已安装过该命令。

第一步:交叉编译glib库在交叉编译glib前我们需要先交叉编译glib的依赖库libffi1、libffi的安装ffi是glib依赖的一个库,在交叉编译以前需要先交叉编译libffi将libffi-3.2.1.tar.gz甩入FEDORA的/home/embedclub/local/arm,目录中。

解压缩源码:tar zxvf libffi-3.2.1.tar.gz并建立安装路径: /home/embedclub/local/arm/glib在解压缩文件目录libffi-3.2.1中,直接开始配置操作键入命令:CC=arm-none-linux-gnueabi-gcc ./configure --prefix=/home/embedclub/local/arm/glib/ffi/--host=arm-none-linux-gnueabi应该不会遇到任何问题,然后就会生成我们需要的Makefile文件。

单片机移植minilzo算法

单片机移植minilzo算法

单片机移植minilzo算法关于单片机移植minilzo算法的文章。

一、介绍在嵌入式系统和单片机领域中,对于数据压缩算法的需求越来越高。

然而,由于资源受限,传统的压缩算法在单片机上的移植性能较低。

为满足单片机应用的需求,minilzo算法应运而生。

minilzo是一种轻量级的数据压缩算法,其特点在于高压缩比和低资源消耗。

本文将介绍如何在单片机上移植minilzo算法。

二、理解minilzo算法minilzo算法是由Mathias Svensson在2004年发布的一种压缩算法。

它基于LZO算法,但对于资源消耗更加友好。

minilzo算法的核心是实现了LZO算法的子集,主要包括LZO1X-1压缩和解压缩部分。

LZO1X-1是一种基于字典的压缩方法,它通过构建一个查找表和后缀链来实现数据的压缩和解压缩。

三、确定目标平台和开发环境在移植minilzo算法之前,首先需要确定目标平台和开发环境。

目标平台可能是某个具体型号的单片机,例如STC89C52或者AVR系列。

开发环境可以是Keil或者IAR等集成开发环境。

根据目标平台和开发环境的选择,可以确定所需的编译器、硬件资源和相应的库文件。

四、了解minilzo算法的实现细节移植minilzo算法之前,需要对其实现细节有所了解。

具体来说,需要了解LZO1X-1的压缩和解压缩算法以及数据结构的组织方式。

在了解了这些细节之后,可以开始进行移植工作。

五、单片机上的资源优化在单片机上移植算法时,资源消耗是一个非常重要的因素。

由于单片机的资源有限,需要对算法进行优化。

可以通过以下几个方面进行资源优化:1. 选择合适的数据结构:选择适合单片机的数据结构,以节省存储空间。

2. 优化算法实现:对算法进行优化,减少计算量和内存消耗。

3. 硬件加速:部分单片机具备硬件加速功能,可以利用硬件加速来提高算法的执行效率。

4. 缓冲区管理:合理管理缓冲区,避免频繁的内存分配和释放操作。

蓝牙bluez的编程CC++

蓝牙bluez的编程CC++

蓝⽛bluez的编程CC++蓝⽛ bluez 的编程 C C++简介bluez⽬录有⼀个libbluetooth.a⽂件有⼀个⽬录 lib⽬录⾥⾯存储这⽹络连接的部分代码基于库的代码编程.在linux下如果⾃带了蓝⽛,可以通过gcc **.c -lbluetooth 直接编出⼀个可执⾏⽂件.参考⽂献下⾯的连接提供了⼀个测试代码.另外,关于 ble 使⽤库的⽅式⼀直出现失败的情况,是因为,没有设置ble的相关参数,具体可以参考中的enable_advertising函数int device_id = hci_get_route(NULL);int device_handle = 0;if ((device_handle = hci_open_dev(device_id)) < 0) {perror("Could not open device");exit(1);}le_set_advertising_parameters_cp adv_params_cp = { 0 };adv_params_cp.min_interval = htobs(advertising_interval);adv_params_cp.max_interval = htobs(advertising_interval);adv_params_cp.chan_map = 7;uint8_t status;struct hci_request rq = { 0 };rq.ogf = OGF_LE_CTL;rq.ocf = OCF_LE_SET_ADVERTISING_PARAMETERS;rq.cparam = &adv_params_cp;rq.clen = LE_SET_ADVERTISING_PARAMETERS_CP_SIZE;rq.rparam = &status;rq.rlen = 1;int ret = hci_send_req(device_handle, &rq, 1000);if (ret < 0) {hci_close_dev(device_handle);fprintf(stderr, "Can't send request %s (%d)\n", strerror(errno), errno);return (1);}le_set_advertise_enable_cp advertise_cp = { 0 };advertise_cp.enable = 0x01;memset(&rq, 0, sizeof(rq));rq.ogf = OGF_LE_CTL;rq.ocf = OCF_LE_SET_ADVERTISE_ENABLE;rq.cparam = &advertise_cp;rq.clen = LE_SET_ADVERTISE_ENABLE_CP_SIZE;rq.rparam = &status;rq.rlen = 1;ret = hci_send_req(device_handle, &rq, 1000);if (ret < 0) {hci_close_dev(device_handle);fprintf(stderr, "Can't send request %s (%d)\n", strerror(errno), errno);return (1);}。

Linux下Bluez的编程实现

Linux下Bluez的编程实现

(转自:/index.html)Linux下Bluez的编程实现1、蓝牙的各个协议栈的简介 (2)1.1、蓝牙技术 (2)1.1、蓝牙协议栈 (2)1.2、蓝牙技术的特点 (4)1.2.1、蓝牙协议栈体系结构 (4)1.2.2、蓝牙协议栈低层模块 (4)1.2.3、软件模块 (5)1.3、蓝牙的一些Profile (6)2、Bluez和D-Bus (7)2.1、Bluez和D-Bus体系结构 (7)2.2、D-Bus介绍 (9)2.3、Bluez的安全接口 (13)2.4、Bluez适配器接口 (15)2.5、Bluez配对 (16)2.6、Bluez绑定 (17)3、Bluez编程实现 (18)3.1、蓝牙开发关键技术剖析 (18)3.1.1、连接机制分析 (18)3.1.2、自动连接 (18)3.1.3、时钟设计 (19)3.1.4、配对列表管理 (20)3.1.5、蓝牙文件传输模式 (20)3.2、hci层介绍 (20)3.2.1、hci层介绍 (20)3.2.2、hci层编程 (21)3.3、L2CAP层编程 (25)3.3.1、L2CAP协议简介 (25)3.3.2、L2CAP编程方法 (26)3.4、SDP协议简介 (27)4、Openobex (28)4.1、Openobex简介 (28)4.2、Openobex与bluez编程实现 (29)5、Obexftp (32)5.1、obexftp简介 (32)5.2、基于Obexftp的应用程序开发 (32)6、参考资料 (32)1.1、蓝牙技术蓝牙(Bluetooth)技术是由Ericsson、IBM、Intel、Nokia和T oshiba公司于1998年5月共同提出开发的,并联合成立了蓝牙特殊利益小组(S IG),负责开发无线协议规范并设定交互操作的需求。

其本质是设备间的无线链接,意在于代替有线电缆。

1.1、蓝牙协议栈协议栈是指一组协议的集合,举个例子,把大象装到冰箱里,总共要3步。

Android上成功实现了蓝牙的一些Profile

Android上成功实现了蓝牙的一些Profile

Android上成功实现了蓝牙的一些Profile前段时间做蓝牙方面的开发,Google的Android只实现了Handset/Handfree和A2DP/AVRCP等Profile,而其它常用的Profile如HID/DUN/SPP/OPP/FTP/PAN等却没有实现,并且Google方面关于何时实现也没有一个时间表。

前段时间我实现了HID/DUN/SPP三个Profile,下一步实现OPP/FTP等Profile。

具体的开发其实也简单,我是参照A2DP的代码进行的相关Profile的实现。

Android的Handset/Handfree的实现方式和A2DP/AVRCP的方式有很大的不同,Handset/Handfree是直接在bluez的RFCOMM Socket上开发的,没有利用bluez的audio plugin,而A2DP/AVRCP是在bluez的audio plugin基础上开发的,所以大大降低了实现的难度。

其实bluez的audio plugin上也有Handset/Handfree的实现,但不知道为什么Google没有用它,而要在RFCOMM Socket上自己实现一个,这使得Handset/Handfree的实现显得比较复杂。

HID要用到bluez的input plugin,Android已经把它编译进去了,在system/lib/bluez-plugin/input.so下,与input.so一起的还有audio.so库,那是供A2DP/AVRCP用的。

参照frameworks/base/core/jni /android_server_BluetoothA2dpService.cpp,自己写一个HID用的的.cpp文件,其中跟A2DP一样利用 DBUS调用input.so库的CreateDevice/Connect/Disconnect 等函数,具体源码在external/bluez /utils/input/manager.c和external/bluez/utils/input/device.c 中。

bluez编译移植

bluez编译移植

Dbus移植步骤1.进入dbus的目录运行./configure --host=arm-linux--prefix=/bluetooth/dbus2.出现错误can not run test program while cross compiling[mystic@moolenaar]$ . checking for getpeereid... nochecking abstract socket namespace... configure: error: cannot run test program while cross compilingSee `config.log' for more details.执行./configure时要在宿主系统中运行一些测试程序,因为是交叉编译所以这个测试是一定通不过的。

不过没问题,我们可以在configure 时指定cache-file文件来屏障掉测试程序,在下面编译glib包时会遇到同样的问题。

处理方法:在源码包根目录下执行[mystic@moolenaar]$ echo ac_cv_have_abstract_sockets=yes >arm-linux.cache或者自己新建一个文件,vim arm-linux.cache在里面输入:ac_cv_have_abstract_sockets=yes[mystic@moolenaar]$ ./configure --host=arm-linux--prefix=/bluetooth/dbus --cache-file=arm-linux.cache参数解释:--prefix指定编译好的文件存放的路径,默认会放到/usr/bin下--host 指定编译器的类型,这里指定为arm-linux交叉编译,默认是本机的gcc编译--cache 指定测试的信息写的地方,这里是写到了arm-linux.cache里面一会会提示缺少xml库,下载libxlm2,解压后:./configure –-prefix=/bluetooth/libxml –-host=arm-linuxmake ->make install编译完成后一定要检查libxml/lib下的库文件的格式是否是ARM的,否则不能用。

PetaLinux操作系统在MicroBlaze系统中的移植解析

PetaLinux操作系统在MicroBlaze系统中的移植解析PetaLinux操作系统在MicroBlaze系统中的移植解析大多使用linux的人都对WINE程序比较熟悉,WINE程序是可以在不需要Windows的情况下使用Windows的软件。

下面是店铺整理的关于PetaLinux操作系统在MicroBlaze系统中的移植,希望大家认真阅读!FPGA生产商Xilinx公司提供了全面的嵌入式处理器解决方案,包括PowerPC、MicroBlaze和PicoBlaze三款RISC结构的处理器核。

其中,MicroBlaze是32位嵌入式软核处理器解决方案,支持CoreConnect总线的标准外设集合,具有兼容性、可配置性以及重复利用性,能够根据成本和性能要求提供高性价比的处理性能。

支持MicroBlaze处理器的嵌入式操作系统很多,比如uc/os—II、BuleCat ME Linux、RTA MB、ThreadX、PetaLinux等等。

本文介绍了PetaLogix公司发布的PetaLinux操作系统,并分析了Xilinx公司所使用BSP自动生成技术。

最后总结出PetaLinux操作系统在MicroBlaze平台上的移植方法和步骤。

1 PetaLinux操作系统介绍PetaLinux操作系统是面向MicroBlaze软核处理器的全功能嵌入式Linux操作系统。

其发布采用了“all inone”的整合方式,将针对MicroBlaze处理器定制的Linux2.4/z.6内核源码、U—boot源码、相关的开发工具以及开发板参考硬件平台配置,集成在一个压缩包内发行,极大地方便了开发人员的使用。

该操作系统主要具有以下几大特点:①针对FPGA嵌入式开发的特点采用了板级支持包。

②自动生成工具,可以根据用户定义的嵌入式硬件平台信息自动生成板级支持包,简化了操作系统的移植。

③PetaLinux发布的源码树中包含了部分常用IP核的驱动程序(如GPIO、EthernetLite、UartLite等),减少了用户移植、编写驱动程序的工作量。

基于BlueZ协议栈的蓝牙语音接入系统实现与性能分析

t n,ta p a f b sc lb a y a d t l , a d k r e r r mm i g, t e Bl eo t u Z r t c i o r ns lnto a i i r r n oo s n e n lp og a n h u t o Bl e p o o ol h
摘要 :根据 蓝牙“ 三合 一电话” 应用模 型要 求 , 通过 内核 配置 、 础库 和工具 集 的移植 以及 内核 烧 基
写等 步骤 , 蓝牙 B uZ协议 栈移植 到嵌 入 式 A M 平 台, 程 实现 了 T SB nr 将 l e R 编 C iay协议 , 制 完 研
成 了一种基 于嵌入 式蓝 牙协议栈 Bu Z 的语 音无 线接 入 系 统 , 括嵌 入 式 蓝牙 语 音 网关和 蓝牙 le 包
b s d o u Z r t c lsa k a e n Bl e p o o o t c
Ch n Fa g e n S n e h n S e a f n Hu Jn Xi ewe o g Tic e g h n Li n e g ig aW i i
维普资讯
பைடு நூலகம்
第3 8卷 第 4期
20 0 8年 7月
东 南 大 学 学 报 (自然科学版 )
J UR L OF S UT E S NI R I Y ( trl ce c dt n O NA O H A T U VE S T Na a S i eE io ) u n i
关 键词 : l Z; 入 式网关 ; 音接 入 ; Bu 嵌 e 语 话务 模 型
中图分 类号 : N 1 T 94
文献标 识码 : A
文章编 号 : 0 1 0 0 (0 8 0 -5 80 10 — 5 5 20 ) 40 5 -6

理解和使用蓝牙BlueZ中的FTP与PBAP协议

理解和使⽤蓝⽛BlueZ中的FTP与PBAP协议作者:刘旭晖 Raymond转载请注明出处Email:colorant@BLOG:/colorant/主页:/site/rgbbones在蓝⽛Bluetooth协议栈中,⽂件传输协议FTP(File Transfer Profile)和电话号码簿访问协议PBAP(Phonebook Access Profile)都是构建在对象交换协议OBEX的基础上(此外还有OPP和Synchronization),⽽在BlueZ的具体实现中,FTP和PBAP都是基于类似的底层API接⼝和调⽤路径实现的,两者在内部实现中有很⼤的相似之处。

因为在最近的⼯作中参与了PBAP的代码实现,所以在这⾥记录⼀下⾃⼰对这部分内容的理解和相关协议的使⽤⽅法。

1 相关说明1.1 相关⽹站资源BlueZ的官⽅⽹址:/ 这⾥提供最新的Release版本下载/ BlueZ 相关的⼏个Git代码仓库都放在这⾥,包括我们要⽤到的BlueZ,bluez-gnome,openobex和obexdBluez的Wiki:/wiki/ 这⾥提供Bluez相关的Howto等⽂档资源/wiki/VCard vCard格式等相关内容相关邮件列表:/vger-lists.html#linux-bluetooth Bluez开发者活动的地⽅,有什么Bug之类的怀疑,还有编程接⼝之类的问题,就发到这⾥吧。

IRC Channel:irc://freenode/obexdirc://freenode/bluez1.2 ⼯作环境因为在BlueZ中FTP的实现最近做了⼀些变更,⽽PBAP则是新实现的Profile,所以要让这两者能正常⼯作,需要使⽤⼤于4.22版本的BlueZ,同时,openobex和obexd需要使⽤2008/12/24⽇以后的版本。

按Release版本号来说,应该相应的会是1.5和0.9以后的版本(到今天2009/1/4为⽌,还没有正式发布版本:)2 基本⼯作原理2.1 代码框架基本上来说,openobex实现了obex protocol中相关的API接⼝,实现了对Connect / Disconnect / Get / Put / Setpath / Abort 等command的⽀持。

[ZZ]从hcid玩起

[ZZ]从hcid玩起hcid进展hcid -n 跟hcid -f /etc/bluetooth/hcid.conf出去配置⽂件外,执⾏的程序好像是⼀样的,主要区别是⼀个在后台运⾏,⼀个在前台运⾏。

由于开发板中没有syslog⽇⾄⽂件,只能⽤hcid -n来找错误了1、当不插⼊usb蓝⽛适配器时出现以下错误:# hcid -nhcid[79]: Bluetooth HCI daemonhcid[79]: syntax error line 4hcid[79]: syntax error line 6hcid[79]: Can't open system message bus connection: Failed to connect to socket/usr/local/var/run/dbus/system_bus_socket: No such file or directory但程序死在这⾥,不再执⾏,也就说程序也没有退出,猜测⼀下,是不是不插蓝⽛适配器时看似启动的hcid守护进程,也是在后台运⾏到这⾥⽽不退出,表⾯上看起来运⾏是对的假设我现在插⼊蓝⽛适配器会出现什么错误呢插⼊:# hcid -nhcid[79]: Bluetooth HCI daemonhcid[79]: syntax error line 4hcid[79]: syntax error line 6hcid[79]: Can't open system message bus connection: Failed to connect to socket/usr/local/var/run/dbus/system_bus_socket: No such file or directoryhub.c: USB new device connect on bus1/1, assigned device number 9hcid[79]: HCI dev 0 registeredhcid[79]: Registering DBUS Path: /org/bluez/Device/hci0process 79: arguments to dbus_connection_register_object_path() were incorrect,assertion "connection != NULL" failed in file dbus-connection.c line 5071.This is normally a bug in some application using the D-Bus library.D-Bus not built with -rdynamic so unable to print a backtraceSIGABRT结果插⼊后hcid进程收到⼀个SIGABRT信号⽽终⽌了程序,原来如此,也就是说后台运⾏的hcid守护进程同样会收到⼀个SIGABRT信号⽽终⽌程序,所以外在表现就是直接杀死了进程,也就是说程序中有问题,但是程序是官⽅⽹站下的,不可能出现太⼤的错误,到⽹上搜了搜,有的说dbus-dameon没有开启,个⼈认为可能是正确的,有⼈说要⽤hcid进程,必须开启dbus守护进程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Dbus移植步骤
1.进入dbus的目录运行./configure --host=arm-linux
--prefix=/bluetooth/dbus
2.出现错误can not run test program while cross compiling
[mystic@moolenaar]$ . checking for getpeereid... no
checking abstract socket namespace... configure: error: cannot run test program while cross compiling
See `config.log' for more details.
执行./configure时要在宿主系统中运行一些测试程序,因为是交叉编译所以这个测试是一定通不过的。

不过没问题,我们可以在configure 时指定cache-file文件来屏障掉测试程序,在下面编译glib包时会遇到同样的问题。

处理方法:
在源码包根目录下执行
[mystic@moolenaar]$ echo ac_cv_have_abstract_sockets=yes >
arm-linux.cache
或者自己新建一个文件,vim arm-linux.cache
在里面输入:ac_cv_have_abstract_sockets=yes
[mystic@moolenaar]$ ./configure --host=arm-linux
--prefix=/bluetooth/dbus --cache-file=arm-linux.cache
参数解释:--prefix指定编译好的文件存放的路径,默认会放到/usr/bin

--host 指定编译器的类型,这里指定为arm-linux交叉编
译,默认是本机的gcc编译
--cache 指定测试的信息写的地方,这里是写到了
arm-linux.cache里面
一会会提示缺少xml库,下载libxlm2,解压后:
./configure –-prefix=/bluetooth/libxml –-host=arm-linux
make ->make install
编译完成后一定要检查libxml/lib下的库文件的格式是否是ARM的,否则不能用。

查看的方式是file libxml.so.2.6.so(库名),出现ARM 表示是交叉编译的,出现i686等信息表示是本机编译的。

2. 编译dbus,cannot find -lX11
[mystic@moolenaar]$ make
arm-linux/bin/ld: cannot find -lX11
collect2: ld returned 1 exit status
make[2]: *** [dbus-launch] error 1
make[2]: Leaving directory `/3.3.2/dbus-1.0.2/tools'
make[1]: *** [all-recursive] error 1
make[1]: Leaving directory `/3.3.2/dbus-1.0.2'
make: *** [all] error 2
在开发板上不需要X Server. configure直接屏蔽掉。

[mystic@moolenaar]$ ./configure --host=arm-linux --prefix=/bluez/dbus --cache-file=arm-linux.cache --without-x
文件编译完之后,进入到--prefix指定的目录/Bluetooth/dbus的lib下,把里面的所有动态库都拷贝到linux的根目录/usr/lib下,记得用cp
的时候加上-av参数。

还有把lib/pkgconfig下的dbus-1.pc拷贝到
/usr/lib/pkgconfig。

拷贝这些文件是为了后面的bluez编译的需要。

Glib移植文档
1.进入glib的目录运行./configure --host=arm-linux
--prefix=/bluetooth/glib
2.出现错误can not run test program while cross compiling,处理方法和上面的dbus一样。

vim arm-linux.cache,里面输入如下内容:
ac_cv_type_long_long=yes
glib_cv_stack_grows=no
glib_cv_uscore=no
ac_cv_func_posix_getpwuid_r=yes
ac_cv_func_posix_getgrgid_r=yes
3. 运行./configure --prefix=/bluetooth/glib --host=arm-linux
--cache-file=arm-linux.cache
Bluez编译步骤
1.以上的文件都编译好之后开始编译bluez ,运行./configure
--prefix=/bluetooth/bluez –-host=arm-linux
2 make ->make install
3 进入编译生成的目录/bluetooth/bluez,把目录bin和sbin下的内容拷贝到制作文件系统根目录下对应的目录,我的是cp
/bluetooth/bluez/bin/*
/home/hbuser/tools/busybox-1.14.1/_install/bin和
cp /Bluetooth/bluez/sbin/*
/home/hbuser/tools/busybox-1.14.1/_install/sbin/ 接着拷贝bluez里的命令所要使用的动态库。

Cp –av
/Bluetooth/bluez/lib/lib* /home/hbuser/tools/_install/lib 下。

4 把busybox-1.14.1/_install下的目录当成nfs系统的根目录,启动开发板,这里还需要配置内核保证对蓝牙设备的支持。

5 对内核进行配置:
Usb Bluetooth 设备的驱动程序选上(编译内核时)
蓝牙设备驱动,包括相关的USB驱动,在内核中已经集成,所以不需要编写,只需要进行相关配置即可。

具体步骤如下:
运行make menuconfig
进行如下配置。

Networking ---><*> Bluetooth subsystem support --->
--- Bluetooth subsystem support
<M> L2CAP protocol support
<M> SCO links support
<M> RFCOMM protocol support
[*] RFCOMM TTY support
<M> BNEP protocol support
[*] Multicast filter support
[*] Protocol filter support
<M> HIDP protocol support
Bluetooth device drivers --->
<*> HCI USB driver
<*> HCI SDIO driver
<M> HCI UART driver
[*] UART (H4) protocol support
[*] BCSP protocol support
[*] HCILL protocol support
<M> HCI BCM203x USB driver
<M> HCI BPA10x USB driver
<M> HCI BlueFRITZ! USB driver
<M> HCI VHCI (Virtual HCI device) driver
<>Marvel Bluetooth driver support
<>Atheros firmware download driver(NEW)
USB的选项为默认即可。

选好之后编译内核make zImage,然后把内核烧写到开发板上。

6 把蓝牙设备插到开发板上。

会显示如下表示识别设备成功。

7 识别后,使用如下命令:
Hciconfig hci0 up启动hci0(蓝牙设备)
Hciconfig hcio piscan(选择工作模式)
Hcitool scan 搜索对方
搜索到对方的设备后,就运行自己的程序。

所有的准备工作完成。

相关的网站:
/index.php?aid=53
/u2/88891/showart_174339 7.html。

相关文档
最新文档