arm bluez 移植(测试)

来源:互联网 发布:tk 域名 编辑:程序博客网 时间:2024/04/29 19:38

1.        软件环境

主机:Ubuntu 13.04

开发板:s3c6410

Gcc : arm-none-linux-gnueabi-gcc

2.        内核支持

make menuconfig

[*]Networkingsupport  --->                

<*>   Bluetoothsubsystem support  --->    //蓝牙子系统必须选择

<*>   L2CAPprotocol suppor       //逻辑链路控制和适配协议。

<*>   SCOlinks support           //蓝牙语音和耳机支持

<*>   RFCOMMprotocol suppor      //面向流的传输协议,支持拨号网络等

[*]   RFCOMMTTY support          //

<*>   BNEPprotocol support       //蓝牙网络封装协议,自组网支持

[*]   Multicastfilter support    //蓝牙多播,支持支持BNEP

[*]   Protocolfilter support //蓝牙多播,支持支持支持BNEP

<*>   HIDPprotocol support       //基本支持协议

Bluetoothdevice drivers  --->

<*>HCI USBdriver              //USB蓝牙模块支持

<M>HCIUARTdriver              //基于串口,CF卡或PCMCIA的蓝牙

<*>HCI BlueFRITZ! USB driver

<*>HCI VHCI (Virtual HCI device) driver

3.     移植bluez

依赖库:

bluez-libs-3.36.tar.gz

bluez-libs-2.25.tar.gz

dbus-1.5.12.tar.gz

expat-2.0.1.tar.gz

glib-2.26.1.tar.gz

bluez-utils-3.36.tar.gz

libusb-0.1.12.tar.gz

步骤:

1)     编译安装bluez-libs-3.36.tar.gz

#tar zxvfbluez-libs-3.36.tar.gz

#./configure--prefix=/opt/libs --host=arm-linux --target=arm-linux     CC=arm-none-linux-gnueabi-gcc

#make

#makeinstall

2)        编译安装expat-2.0.1.tar.gz

这个库是后面的dbus依赖的,你也可以用libxml2来代替expat,官方网站上说dbus必须依赖于他们中的一个,我这里用的是expat-2.0.1.tar.gz

  #tar zxvf expat-2.0.1.tar.gz

  #./configure--prefix=/opt/libs --host=arm-linux --target=arm-linux     CC=arm-none-linux-gnueabi-gcc

  #make 

#make install

3)    编译安装dbus-1.5.12.tar.gz

#tar zxvf dbus-1.5.12.tar.gz

  #echo ac_cv_have_abstract_sockets=yes>arm-linux.cache

  #./configure--prefix=/opt/libs --host=arm-linux --target=arm-linux     CC="arm-none-linux-gnueabi-gcc-I/opt/libs/include -L/opt/libs/lib" --cache-file=arm-linux.cache--with-x=no

  #make 

  #make install

4)        编译安装glib-2.26.1.tar.gz

#tar  -zxjf  glib-2.26.1.tar.gz

echo ac_cv_header_pwd_h=yes>arm-linux.cache

echoac_cv_type_long_long=yes>arm-linux.cache

echoglib_cv_stack_grows=no>>arm-linux.cache

echo glib_cv_uscore=no>>arm-linux.cache

echoac_cv_func_posix_getgrgid_r=yes>>arm-linux.cache

echo ac_cv_func_posix_getpwuid_r=yes>>arm-linux.cache

echoglib_cv_have_qsort_r=no>>arm-linux.cache

 

#./configure--prefix=/opt/libs --host=arm-linux --target=arm-linux     CC="arm-none-linux-gnueabi-gcc-I/opt/libs/include -L/opt/libs/lib" --cache-file=arm-linux.cache

#make

#makeinstall

5)        编译安装bluez-utils-3.36.tar.gz

#tar zxvf bluez-utils-3.36.tar.gz

#./configure--prefix=/opt/libs --host=arm-linux --target=arm-linux     CC="arm-none-linux-gnueabi-gcc-I/opt/libs/include -L/opt/libs/lib" --disable-audio

#make

#makeinstall

 

4.      bluez测试

测试说明

在自己配置 ./configure --prefix=/opt/libs 时 说明自己的库会被安装在/opt/libs 下

copy /opt/libs/sbin/* 到你的文件系统 /sbin

copy /opt/libs/bin/ 下的 hcitool,rfcomm,sdptool 到你的文件系统 /bin

copy /opt/libs/etc/bluetooth/* 到你的文件系统 /etc

5.2测试命令

[root@FORLINX6410]#hciconfig hci0 up  启用蓝牙

[root@FORLINX6410]#hciconfig hci0 iscan配置开发板蓝牙可被查找
[root@FORLINX6410]# hcitool scan
查找蓝牙
Scanning ...
        00:22:A5:E2:85:AC       HTC click
这个是我手机的蓝牙设备
[root@FORLINX6410]#

 

0 0
原创粉丝点击