本文围绕BLE协议栈的核心模块展开,重点解析 btm_ble_init
初始化函数、供应商能力管理(tBTM_BLE_VSC_CB
)、广播过滤功能(btm_ble_adv_filter_init
)及动态配置机制(ble_vnd_is_included
)的实现逻辑。通过分析关键数据结构(如 tBTM_BLE_ADV_FILTER_CB
控制块)、硬件能力获取接口(BTM_BleGetVendorCapabilities
)及支持性检查(is_filtering_supported
),揭示了 BLE 协议栈如何通过状态重置、资源动态分配、硬件能力适配实现功能的稳定运行与灵活扩展。
一、概述
BLE协议栈的高效运行依赖于核心模块的初始化、硬件能力适配及功能动态配置。本文涉及的核心模块包括:
1.1 BLE 控制块初始化(btm_ble_init
)
作为 BLE 功能启动的基础,btm_ble_init
负责:
-
资源清理与重置:释放旧定时器资源,通过
memset
清零 BLE 控制块