- 博客(14)
- 收藏
- 关注
原创 Zephyr蓝牙协议栈-LE Advertising Report Event深度剖析
事件含义表示一个或多个蓝牙设备响应主动扫描,或在被动扫描期间广播报文被接收数据批处理机制控制器可缓存并合并多设备数据至单个事件上报上述并没有体现参数RSSI,为什么呢?柔性数组必须位于结构体的最后一项,这是C语言标准(C99及以上)的明确要求。从协议规范中可以看出,RSSI位于数据之后,而数据长度是变化的,无法在结构体中直接包含。Zephyr采用的方法是:先解析出前面的固定部分(包括事件类型、地址、数据长度和数据),然后手动从缓冲区中取出RSSI。
2025-06-23 21:52:44
769
原创 BLE之L2CAP层协议——理论部分
在BLE协议栈中,L2CAP(Logical Link Control and Adaptation Protocol)层通过信道(Channel)实现协议复用、数据分段与重组。信道分为(Fixed Channels)和。
2025-06-02 20:04:04
518
原创 Z_STRUCT_SECTION_FOREACH深度解析
宏实现了:高效遍历特定内存段中的结构体实例类型安全的迭代器访问零开销的静态注册机制嵌入式系统中管理组件/服务的通用模式在蓝牙协议栈中,它被用于管理L2CAP固定通道等静态注册资源,提供了一种高效、类型安全且低开销的模块管理机制。
2025-06-02 17:50:41
432
原创 Z_STRUCT_SECTION_ITERABLE 宏深度解析
在Zephyr蓝牙协议栈中,开发者通过以下方式定义固定通道宏会在编译时生成一个段名为的数据结构。链接脚本通过上述规则收集所有此类结构,构建全局固定通道列表供协议栈初始化本质:通过编译期链接器魔法实现零开销固定信道注册关键步骤使用放入专用段运行时通过/Z_遍历初始化BLE 应用CID=0x0005:LE 信令信道CID=0x0004:ATT 信道CID=0x0006:SMP 信道设计优势零运行时开销类型安全模块化扩展。
2025-06-02 16:21:54
808
原创 1. gatt概念介绍
1. GATT的基本概念通用属性配置文件(GATT)是基于属性协议(ATT)定义的一种服务框架,主要用于蓝牙低功耗(BLE)技术中管理和传输数据。核心功能:1)服务与特征的框架服务(Service):代表设备的一项功能(如心率监测、电池电量)。特征(Characteristic):服务中的具体数据(如心率值、电量百分比)。每个特征包含数据值、权限(读/写)和描述符(如通知开关)。2...
2025-02-12 05:52:00
671
原创 1. 基于单片机从零写bootloader之第1个bootloader(APP无异常向量表)
1.Bootloader烧写在Flash上,APP也在Flash上直接运行,BootLoader直接跳转到APP位置即可。
2025-01-23 06:27:00
224
原创 2. 基于单片机从零写bootloader之第1个bootloader(APP有异常向量表)
继上篇博客中,bootloader在flash上先运行,然后跳转到addrA这个地址上执行应用程序,这个应用程序的启动文件中不存在异常向量表,此时直接由bootloader跳转到APP的Reset_Handler这个地方执行。根据我们的分区,APP在Flash上的起始地址为0x08040000,向量表就是以这个地址为开始进行存放。0x08040004这个地址上存放的是Reset_Handler的地址,我们可以从0x08040004这个地址上取出Reset_Handler的地址,然后跳转执行。
2025-01-20 21:54:31
349
原创 ALSA驱动框架_audio系列第二篇
在alsa架构中,当应用程序调用open、read、write时,将调用驱动程序中的相应接口,本篇博客就从驱动程序中的snd_fops结构体开始说起。
2024-11-30 14:56:45
1892
原创 【ALSA架构简介_audio系列第一篇】
ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构。首先来了解一下,alsa架构的组成部分以及它们的作用。Native ALSA Application:tinyplay/tinycap/tinymix,这些用户程序直接调用 alsa 用户库接口来实现播放、录音、控制。ALSA Library API:alsa 用户库接口,常见有 tinyalsa、alsa-lib。
2024-11-30 14:53:07
1714
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅