轩辕小胖作品下载:关于android蓝牙的调试

来源:百度文库 编辑:中财网 时间:2024/04/29 01:47:50

对于bcm4330这个芯片,好多事情,博通帮我们做好了。我们需要在我们的平台上找相应gpio口,给她上电,上电的代码倒是很简单,看硬件的原理图,找到相应的gpio口,给其上电。就ok了。

    首先我们应该编译\system\bluetooth\brcm_patchram_plus文件里必须把brcm_patchram_plus.c和android.mk这两个文件编译好了。其实对于初学者来说,编译还是有点困难的。下面我来说一下,首先我们得配置一下环境,在我们build目录下,配置一下mm命令:

1、Source envsetup.sh  2、choosecombo 1 1 msm8660_surf eng  

     对于脚本不一样,编译的命令还是不一样的。其次我们可以看下android.mk 文件,我们只需要把它修改一下,就可以编译了。一开始接触mk文件,心里还是有点发毛的,去网上找点资料,还是可以慢慢地解决的。至于编译是否成功,我们可以看下文件夹\out\target\product\msm8660_surf\system\bin,在这个目录下,把我们编译的命令找出来才是正确的。只有我们在这个文件夹中找出来我们编译的结果,才算是真正的编译出来了。

    对于brcm_patchram_plus.c这个文件,我们可以看到这个c文件的前面有如下提示:

 手动调试的步骤:

1、echo 1 > /sys/class/rfkill/rfkill0/state

2、brcm_patchram_plus  --enable_hci --baudrate 115200 -d --patchram /sdcard/boshoujing.hcd /dev/ttyHS0

3、brcm_patchram_plus  --enable_hci --baudrate 115200 -d --patchram /system/lib/modules/BCM4330B1_002_001_003_0379_0430.hcd /dev/ttyHS0

4、hciconfig hci0 up

5、Hciconfig  

6、hcitool scan

如果能发现的话,说明是正确地。。。

这样手动调试,一般来说,是可以成功的。其次我们应该是从界面上打开。打开界面,我们需要做的工作,就是修改init.qcom.rc这个文件里面的service,下面我来说下,这几行代码的含义吧。

service hciattach /system/bin/sh /system/etc/brcm_patchram_plus.sh

    user bluetooth

    group qcom_oncrpc bluetooth net_bt_admin

    disabled

Oneshot

Android系统的hciattach服务,不会自动起来的,需要用户bluetooth使用者,文件的具体调用在bluetooth.c中的property_set("ctl.start", "hciattach")中启用,这时候才会真正的调用,disable的意思说,开机后不会自动启用,oneshot代表关闭后,不会自动启用。brcm_patchram_plus这个脚本,比较麻烦,反正说起来也很简单,就是也就是设置波特率和加载固件。

这样蓝牙UI界面基本上就可以起来了。