imx6ull linux bluetooth移植

紧接上一篇wifi移植,BT与wifi是二合一模块ap6745,首先要确保硬件的配置正确

通讯上使用uart接口,以及BT_REG_ON控制,另外两个host_wake,wake_bt如果平台不关注功耗影响,一般可以不用配置。

软件主要是做这些配置,由于bt使用的是uart的接口,驱动代码平台默认都有路径为:

kernel-source/drivers/bluetooth/hci_h4.c hci_ldisc.c 以及kernel-source/net/bluetooth下的文件

如果dts配置正确的话,就可以执行蓝牙上电操作了,由于imx6ull 的rfkill 默认并没有蓝牙的上电操作,所以需要自己添加相关驱动代码,刚好之前v3平台用过,就将这部分接口代码复制过来。

这个文件主要是添加rfkill的蓝牙节点,通过这个节点控制bt的reg_on上电操作。

有了这个节点,就可以上电了。

brcm_patchram_plus 这个可执行文件可以从网上下载源代码然后交叉编译到自己的平台上,bcmdhd.hcd固件 模组厂会提供。
后面的ttyms0根据实际硬件接口来配置。

这些执行完之后,我们板子上并没有出现后面的hci正常交互的输出命令,而是

出现这儿就卡住了,说明uart初始化交互就失败了。我查了上电动作,gpio 上电能正常控制,也查了蓝牙的32k时钟也有,测量uart波形,模块端的tx、rx,cts高电平,rts低电平,cts为高说明cpu端一直没有准备好开始接收数据,查了gpio配置没有发现问题,直接硬拉rts管脚,发现数据就通讯正常了。但是查看硬件连接没有发现啥问题,百度上有人说IMX6平台UART的rts、cts不能交叉接,我就cpu的rts、cts交换,发现uart通讯正常了。

 

到了这一步就可以执行蓝牙的扫描工作了。

rfkill unblock  bluetooth

hciconfig hci0 up

hcitool scan 扫描BT设备

 

hcitool lescan 扫描ble设备

gatttool -t random -b D2:24:84:60:01:95 -I 连接到ble设备

输入 connect 命令,就一直提示 connection refused信息,

这时候需要执行

btmgmt le on

表示打开ble功能,默认ble功能是关闭的

在yocot 项目中,blue5.37默认是已经集成了的,但是gatttool以及btmgmt需要单独install到bin目录中,至于如何instal我会在下篇中讲述。

不过也可以使用Bluetoothctl工具测试,蓝牙功能启动之后执行:/usr/libexec/bluetooth/bluetoothd --experimental start &,然后就可以执行Bluetoothctl命令进行测试了,注意--experimental 这个参数,如果没有添加在执行 list-attributes是不会得到任何回馈的,即使能够正常connect

 

执行完之后再连接就显示 connection successful了

执行primary 打印当前连接的ble设备支持的服务信息。

参考链接:https://www.cnblogs.com/zzb-Dream-90Time/p/7605201.html

                 http://shaocheng.li/post/blog/2015-10-22

               https://blog.csdn.net/qq_33433070/article/details/78668105

            http://59.110.0.194/article/u013129593/53010878

           https://blog.csdn.net/gatieme/article/details/48751743

           https://www.cnblogs.com/zjutlitao/p/9589661.html

        https://blog.csdn.net/pengrui18/article/details/53747562

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值