📡 蓝牙驱动开发 · 从入门到交付
🎓 30章
完整项目实战
第 01 章
蓝牙技术概述
发展历史 (1.0→5.4) · 低功耗短距离 · 与Wi-Fi区别 · 物联网/音频/数据传输
第 02 章
蓝牙协议栈架构
Host/Controller划分 · HCI接口 · L2CAP · RFCOMM · SDP
第 03 章
GAP 与 GATT
通用访问规范 · 角色模式 · Client/Server · Service/Characteristic
第 04 章
蓝牙物理层与射频基础
2.4GHz ISM · 跳频AFH · GFSK调制 · 发射功率/灵敏度
第 05 章
蓝牙BR/EDR (经典蓝牙)
ACL/SCO链路 · 配对绑定 · Scatternet & Piconet
第 06 章
BLE 低功耗核心概念
四种角色 · 广播扫描 · 连接建立流程
第 07 章
BLE广播包与扫描响应
广播信道37/38/39 · PDU格式 · AD Structure · 扫描请求/响应
第 08 章
BLE连接事件与数据通道
连接参数 · 数据通道选择算法CSA #2
第 09 章
BLE安全机制
配对方式 · 加密密钥 · 白名单/隐私保护
第 10 章
蓝牙驱动开发环境搭建
Linux内核源码 · 交叉编译 · BlueZ · 硬件调试工具
第 11 章
Linux蓝牙子系统架构
BlueZ核心组件 · Socket接口 · Sysfs/Debugfs
第 12 章
HCI 驱动开发
传输层UART/USB/SDIO · 命令事件 · 自定义hci_uart
第 13 章
L2CAP 层驱动开发
信道管理 · 分段重组 · CoC/CL · MTU协商
第 14 章
RFCOMM 协议驱动
帧格式 · DLCI · 串口仿真 · tty集成
第 15 章
SDP 服务发现驱动
记录格式 · 服务搜索 · UUID/属性 · 服务器实现
第 16 章
GATT 协议驱动开发
服务器/客户端 · ATT · PDU格式 · 读写/通知
第 17 章
BLE 广播驱动开发
广播参数 · 扫描配置 · 主动/被动扫描 · 过滤
第 18 章
BLE 连接驱动开发
参数更新 · 连接终止 · 事件调度 · 多连接管理
第 19 章
蓝牙电源管理
低功耗模式Sniff/Hold/Park · Runtime PM · 唤醒源
第 20 章
蓝牙音频驱动 (A2DP/HFP)
Source/Sink · AG/HF · 编解码SBC/AAC/LDAC · ALSA路由
第 21 章
蓝牙HID驱动开发
HID over GATT · 报告描述符 · 输入设备 · 鼠标/键盘
第 22 章
蓝牙Mesh协议驱动
Mesh拓扑 · 发布/订阅 · 配置模型 · Friend/Low Power节点
第 23 章
蓝牙驱动调试与测试
动态调试 · ftrace · 抓包hcidump/btmon · 性能测试
第 24 章
蓝牙驱动性能优化
中断优化 · DMA · 内存池 · 锁竞争 · 流水线
第 25 章
蓝牙驱动安全加固
输入验证 · 缓冲区溢出 · 权限审计 · BlueBorne/KNOB
第 26 章
蓝牙驱动与Android集成
Bluedroid/Fluoride · HAL层 · JNI · AIDL服务
第 27 章
蓝牙驱动与RTOS集成
FreeRTOS+NimBLE · 任务优先级 · 队列/信号量 · 内存
第 28 章
项目实战(一) 需求与方案
需求文档 · 芯片选型(Nordic/TI/Realtek) · 硬件接口 · 架构
第 29 章
项目实战(二) 编码与单元测试
模块划分 · HCI/L2CAP/GATT实现 · CUnit/Unity · 代码审查
第 30 章
项目实战(三) 集成测试与交付
系统集成测试 · 兼容性 · 功耗测试 · 文档与交付物