嵌入式技术论坛
登录
直播中
605342
12年用户
111经验值
擅长:EMC/MEI设计,控制/MCU
私信
关注
[经验]
【MYD-Y6ULX试用体验】配置支持蓝牙
BlueTooth
试用
体验
配置
支持
`
本帖最后由 Tony_Ho 于 2018-3-3 18:14 编辑
蓝牙架构
在Linux中蓝牙的stack分层如下:
从总体上看分为两层, 一个在内核态,一个在用户态,内核态。
在内核态中的部分暴露了一个特殊的Socket给用户态,然后用户态使用命令+参数的格式传递给内核态。而如果硬件有反馈信息,一般是事件,那么会有callback消息上来。
硬件说明
对于蓝牙,一般都是模组,例如有些是BT Wifi模组,即BT-Wifi为一体的模组。
这种模组一般是通过UART,SDIO,或者USB接口与SoC的某类总线连接。
而模组本身其实也带有固件,甚至里面自己跑着操作系统,这个时候可能就需要下载固件。这个固件是由内核发现设备的时候从用户态获取,然后通过总线现在到模组中。
内核态的配置
对于现在的比较新的内核一般都有蓝牙的stack支持,以及驱动。
如同前面所说,蓝牙自己在内核态创建了一种新的socket来和上面的用户态
通信
。我们可以看到内核态中的muenuconfig中,蓝牙位于Networking support中:
选中了Bluetooth subsystem support后就有驱动等支持。
对于通用,常用的蓝牙dongle都有对应的驱动:
可以看到支持的范围很广:
USB
UART
SDIO
以及broadcom特殊协议
而协议的话,支持
H4
H5等协议。
我们购买的是CSR USB 的蓝牙dongle:
测试在编译好配置了bt的内核后,编译烧写,启动后我们可以插入Dongle,即可看到log:
然后就可以看到生成了hci节点了:
至此,蓝牙的内核态支持就好了。
`
更多回帖
rotate(-90deg);
回复
相关帖子
BlueTooth
试用
体验
配置
支持
【
MYD-Y6ULX
试用
体验】用户态
蓝牙
配置
2826
【
MYD-Y6ULX
试用
体验】
MYD-Y6ULX
编译环境的搭建及内核编译
5712
【
MYD-Y6ULX
试用
体验】开箱
3534
【
MYD-Y6ULX
试用
体验】串口登录
MYD-Y6ULX
进行开发环境
配置
3671
【
MYD-Y6ULX
试用
体验】Linux开发从零到一
3246
【
MYD-Y6ULX
试用
体验】opencv3.2移植到
MYD-Y6ULX
开发板
2224
【
MYD-Y6ULX
试用
体验】控制GPIO
2503
【
MYD-Y6ULX
试用
体验】开箱评测+SFTP服务
2362
【
MYD-Y6ULX
试用
体验】开箱评测
2980
【
MYD-Y6ULX
试用
体验】开箱测试
5672
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分