移植蓝牙协议栈及其工具到嵌入式ARM Linux下

Finallyyang 2011-09-18

目前,蓝牙技术已经比较成熟,特别是基于手机和PC得蓝牙文件传输。

本文主要讲述基于嵌入式arm linux的蓝牙文件传输。

现行2.6.x的linux内核都已经集成了bluez蓝牙驱动,对于2.4版本内核的需要到bluez官方网站下载并安装bluez蓝牙驱动。

本为基于2.6版本的内核讲述。对于2.4下载bluez后安装即可。有了bluez蓝牙驱动还需要安装bluez-libs库和bluez-utils工具

蓝牙文件传输应用开发分为2部分,On  pc  和on ARM。

我用linux系统配置

Fedora 9

内核版本 2.6.25

gcc:4.0.0

做嵌入式开发用新版本的内核总是会遇到很多问题。2.6.11的内核比较适合做嵌入式开发。

首先:在pc上安装bluez-libs库和bluez-utils工具。

1,在bluez官方网站下载bluez-libs和bluez-utils

http://www.bluez.org/download/

我下载的是bluez-libs-3.36和bluez-utils-3.36。

2.编译PC的linux内核 

  1. #cd /usr/src/kernels/2.6.25-14.fc9.i686/   
  2. #make menuconfig   
  3. Networking -->  
  4.              <M> Bluetooth subsystem support-->  
  5.                       <M> L2CAP protocl support  
  6.                       <M> SCO links support  
  7.                       <M> RFCOMM protocol support  
  8.                       [*] RFCOMM TTY support  
  9.                       <M> BENP protocol support  
  10.                       [*] Multicast filter support  
  11.                       [*] Protocol filter support  
  12.                       <M> CMTP protocol support  
  13.                       <M> HIDP protocol support  
  14.                           Bluetooth devices drivers-->  
  15.                                <M> HCI USB driver  

3.安装libs和utils。

libs和bluez得安装都是安装linux软件正常方式安装

安装libs

  1. #tar xzvf bluez-libs-3.36.tar.gz   
  2. #cd bluez-libs-2.25   
  3. #./configure   
  4. #make   
  5. #make install  

注意:如果你是fedora 9或者是内核是2.6.25及以上的版本在安装utils的时候会出现某些文件没有或者是参数没定义的问题。

相关推荐