星期六, 19 12月 2020 20:39

【炬芯(Actions)BLE ATB110X】 蓝牙相关功能配置

设备的蓝牙地址是每个设备唯一的标志,需要通过ATT 工具来烧写。
在没有烧写地址的时候,系统使用默认地址。
1. 蓝牙地址配置:
设备的蓝牙地址是每个设备唯一的标志,需要通过ATT 工具来烧写。
在没有烧写地址的时候,系统使用默认地址。
烧写对应的配置项是定义在nvram 区的BT_ADDR
BT_ADDR=11:22:33:44:0b:10

2. 蓝牙设备名称配置:
蓝牙设备名称采用静态配置的方式,修改文件:
\samples\voice_rcu\src\peripheral_rmc\include\autoconf.h

其中,蓝牙名称配置通常在2 个地方使用:
• 蓝牙广播数据包,对端设备在扫描广播包即可得到名称。
• GAP service 中蓝牙名称,对端设备在连接,发现,访问GAP 属性服务才能得到名称。
注解:
• 在使用过程中,注意保持一致。
• 在IOS 设备中,首次扫描阶段显示的名称是广播包的名称,连接后,将会使用GAP 属性的名称。

3. 蓝牙协议栈的连接及配对个数的配置:
采用静态配置的方式,修改文件:
\samples\voice_rcu\src\peripheral_rmc\include\autoconf.h

其中,
• CONFIG_BT_MAX_CONN 允许支持的最大连接设备的个数
• CONFIG_BT_MAX_PAIRED 允许支持的最大配对设备的个数,小于或等于最大连接个数
注解: ATB1103 及ATB1109 支持的最大连接个数小于或等于4,主要受控制器的资源限制,如果配置大于4 个,将会异常


4. 蓝牙协议栈所需的buffer 配置
采用静态配置的方式,修改文件:
\samples\voice_rcu\src\peripheral_rmc\include\autoconf.h

其中,
• CONFIG_BT_HCI_CMD_COUNT 用于发送HCI 命令buffer 的个数
• CONFIG_BT_RX_BUF_COUNT 用于接收HCI 命令/事件/数据/buffer 的个数
• CONFIG_BT_RX_BUF_LEN 用于接收HCI 命令/事件/数据/buffer 的大小
• CONFIG_BT_L2CAP_TX_BUF_COUNT 用于发送HCI ACL数据包buffer 的个数
• CONFIG_BT_L2CAP_TX_MTU 用于发送HCI ACL 数据包buffer 的大小
• CONFIG_BT_CONN_TX_MAX 最大支持能够并发发送ACL数据包的个数, 能够并发TX buffer 个数受限制与BLE 控制器TX BUFFER 的个数, 
当前控制器TX buffer 的个数默认配置为4, 即最终协议栈并发TX buffer 个数取2者之中的最小值。控制器ACL buffer 的配置, 修改文件:
\subsys\bluetooth\host\bt_host_config_init.c


5. 蓝牙协议栈大小配置
采用静态配置的方式,修改文件:
\samples\voice_rcu\src\peripheral_rmc\include\autoconf.h

其中,
• CONFIG_BT_HCI_TX_STACK_SIZE 用于配置蓝牙TX 线程栈的大小
• CONFIG_BT_RX_STACK_SIZE 用于配置蓝牙RX 线程栈的大小
注解: 栈的配置修改要特别慎重,避免出现栈溢出,或者是栈浪费的情况。

6. 蓝牙协议栈ATT 层配置
采用静态配置的方式,修改文件:
\samples\voice_rcu\src\peripheral_rmc\include\autoconf.h

其中,
• CONFIG_BT_ATT_PREPARE_COUNT 如果设置大于0,表示
ATT 层支持并发perpare 写的个数,默认不支持,以节省空间
• CONFIG_BT_ATT_TX_MAX 配置ATT 层能够并发发送TX
request 类型命令的个数

7. 蓝牙私有地址配置
采用静态配置的方式,修改文件:
\samples\voice_rcu\src\peripheral_rmc\include\autoconf.h

其中,
• CONFIG_BT_PRIVACY 是否支持私有地址
• CONFIG_BT_RPA_TIMEOUT 定时更换私有地址的时间,默认
900 秒,15 分钟
查看 3817
麻喆

专栏编辑