在S3C2410上移植bluetooth(蓝牙)(4)

发布时间:2021-06-07

在S3C2410上移植bluetooth(蓝牙)

............

Service Name: OBEX Object Push

Service RecHandle: 0x10005

Service Class ID List:

"OBEX Object Push" (0x1105)

Protocol Descriptor List:

"L2CAP" (0x0100)

"RFCOMM" (0x0003)

Channel: 10

"OBEX" (0x0008)

Profile Descriptor List:

"OBEX Object Push" (0x1105)

Version: 0x0100

Browsing 00:08:1B:C0:D1:3C ...

手机上绑定了很多的服务,有拨号服务,音频服务,串口服务,文件交换服务(OBEX)...在SDP协议下,每个服务绑定到一个Channel上。GPS上没有绑定服务,它只作为虚拟串口设备来使用。

利用实用工具rfcomm可以把遵循RFCOMM的服务bind到一个类似的串口设备上。在绑定之前,必须确保/dev下有rfcomm*的设备,如果没有,就自己建立:

# mknod -m 666 /dev/rfcommX c 216 X (X是数字)

这样就可以绑定了,比如我需要用手机拨号上网的功能,看到它的Channel 1是RFCOMM的Dialup Networking功能,则: # rfcomm bind 0 00:0E:07:58:1A:33 1

即将00:0E:07:58:1A:33设备的Channel 1服务绑定到/dev/rfcomm0上,这样,就相当于建立了一个虚拟的串行连接到一个可以拨号的无线modem上了,打开minicom,设置串口为 /dev/rfcomm0,波特率19200,8N1,键入atz,返回OK。用ppp就可以拨号上网了,第一次连接时手机会弹出个输入框问PIN code,以后就不用了。

GPS设备只是作为串口来用的,也很简单:

# rfcomm bind 1 00:08:1B:C0:D1:3C

打开minicom设置波特率为4800就可以读GPS数据了,大功告成!

另外,sdpd程序是本设备提供给对外的看到的服务,可以通过sdptool add --channel=X SP来增加对外的服务,我没有研究过。还有对于文件传输OBEX和个人局域网BNEQ还需要继续学习。

二)在HHARM2410-R3上的移植

完成了在普通red hat上的安装,熟悉了蓝牙协议栈一些基本的东西,下面的任务就是把协议栈搬到开发板上了。 第一步当然是内核了,由于华恒的内核代码改过,我也不知道从bluez上下载的patch能不能使用,试试看了,只好。 # cd /HHARM2410/kernel

# gzip -dc ~/patch-2.4.18-mh15.gz | patch -p1

# find ./ -name '*rej'

./fs/cramfs/inode.c.rej

不好,有文件不能patch,看看是针对cramfs文件系统的patch,我也不清楚为什么bluez的patch会修改到cramfs,不过我想问题应该不大。内核源代码关于bluetooth的部分华恒应该没有改过,因此patch的主要部分应该是没有问题的。如果内核编译后发生问题,我想大概也只有把内核代码翻出来看了。

在S3C2410上移植bluetooth(蓝牙)(4).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219