当前位置:文档之家› 蓝牙协议栈移植

蓝牙协议栈移植

蓝牙协议栈移植

目录

第一步:下载文件 (1)

第二步:配置内核支持Bluetooth (2)

第三步:交叉编译蓝牙协议栈库文件 (3)

第四步:移植到arm板 (4)

硬件平台:S3C6410开发板

Linux内核:linux-3.0.1

作者:孙怀亚

说明:这是一个6410+usb蓝牙移植过程!

在做下面的过程中,我认为你是有个有点嵌入式开发经验的人,并且交叉编译器已经安装完毕,内核源码已经可以编译通过运行等!特别要强调,usb总线驱动一定要是好的。

如有需要请联系:sunhuaiya@

第一步:下载文件

bluez-lib-3.36.tar.gz

expat-2.0.1.tar.gz

dbus-1.2.16.tar.gz

glib-2.22.4.tar.bz2

libusb-0.1.12.tar.gz

bluez-utils-3.36.tar.gz(哥花钱下载的!肯爹的官网没下载下来!)

第二步:配置内核支持Bluetooth

make menuconfig

[*] Networking support --->

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

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

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

<*> RFCOMM protocol suppor //面向流的传输协议,支持拨号网络等[*] RFCOMM TTY support //

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

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

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

<*> HIDP protocol support //基本支持协议

Bluetooth device drivers --->

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

<*>HCI UART driver //基于串口,CF卡或PCMCIA的蓝牙

<*> HCI BlueFRITZ! USB driver

<*> HCI VHCI (Virtual HCI device) driver

第三步:交叉编译蓝牙协议栈库文件

1、编译安装bluez-lib-3.36.tar.gz

这个库不需要什么依赖,直接解压,配置,编译然后安装即可。

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

#./configure --prefix=/opt/blu/lib --host=arm-linux --target=arm-linux CC=arm-linux-gcc

#make

#make install

=======================================================

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/blu/lib --host=arm-linux --target=arm-linux CC= arm-linux-gcc

#make

#make install

=======================================================

3、编译安装dbus-1.2.16.tar.gz

#tar zxvf dbus-1.2.16.tar.gz

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

#make

4、编译安装libusb-0.1.12.tar.gz

#tar zxvf libusb-0.1.12.tar.gz

#./configure --prefix=/opt/blu/lib --host=arm-linux --target=arm-linux CC=

arm-linux-gcc

#make

#make install

4、编译安装glib-2.22.4.tar.bz2

#tar -zxjf glib-2.22.4.tar.bz2

#./configure --prefix=/opt/blu/lib --target=arm-linux --host=arm-linux CC=" arm-linux-gcc -I/opt/blu/lib/include -L/opt/blu/lib/lib" glib_cv_stack_grows=no glib_cv_uscore=no ac_cv_func_posix_getpwuid_r=yes ac_cv_func_posix_getgrgid_r=yes ac_cv_lib_rt_clock_gettime=no glib_cv_monotonic_clock=yes

#make

#make install

=======================================================

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

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

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

#make

#make install

这样Bluez协议栈就编译好了。

第四步:移植到arm板

编译好后的库安装在/opt/blu/lib/lib下,如图所示:

将安装好的/opt/blu/lib/lib下所有文件拷贝到arm板下面的/usr/lib目录下

相关主题