技术栈
zephyr
wotaifuzao
8 天前
低功耗蓝牙
·
ble
·
nrf52
·
zephyr
·
gatt
·
cccd
(十)BLE GATT与ATT深度解剖-从属性表到CCCD-订阅收不到数据的终极答案
本文是 BLE 系列第十篇。上一篇 MTU 讲的是"管道有多粗",这一篇讲"管道里运的是什么、怎么运、为什么你的手机收不到"。
星源~
8 天前
linux
·
mcu
·
嵌入式开发
·
zephyr
zephyr-Linux环境下搭建步骤
1. 基础嵌入式环境配置 2. 环境最终验证Zephyr RTOS 是一款开源、跨平台、轻量级、高安全性的嵌入式实时操作系统,全面适配 STM32、GD32、HC32 等主流及国产 MCU,是物联网、低功耗嵌入式设备开发的优选系统。 本教程基于 VMware + Ubuntu 22.04 LTS 搭建官方标准 Zephyr 开发环境,采用 pyenv + 虚拟环境 双层隔离方案,彻底解决 Zephyr 严格的依赖版本限制,杜绝多项目环境冲突,一次配置永久复用,适配日常开发、项目编译、固件烧录全流程。
dozenyaoyida
17 天前
controller
·
嵌入式开发
·
ble
·
host
·
zephyr
·
协议栈
·
软链路层
Zephyr BLE 上行链路源码拆解:一个空中报文怎么从 radio 跑到应用回调(NCS v3.2.1)
数据来源说明:本文上行链路以 Zephyr 软链路层(controller/ll_sw/,开源)为主线讲清机制,关键函数已用 gitee 镜像 main 分支核对(https://gitee.com/zephyrproject-rtos/zephyr/raw/main/)。gitee 镜像只有 main 分支,ncs-v3.2.1 tag 不在镜像上,文中行号以 main 为参考并标注版本差异(main 与 v3.2.1 行号有偏移,函数名与机制一致)。nRF54L15 实际用的是 SoftDevice
dozenyaoyida
19 天前
ble
·
zephyr
·
gatt
·
ble协议栈
Zephyr BLE GATT Server 注册到收发调用链源码解析(NCS v3.2.1)
数据来源说明:本文基于 Zephyr BLE 协议栈 Host 开源部分(subsys/bluetooth/host/gatt.c、att.c、include/zephyr/bluetooth/gatt.h)撰写。GATT/ATT 均为 Host 开源代码,可对照源码阅读。文中行号依据 NCS v3.2.1 研究文档标注,因本机联网限流(raw.githubusercontent.com 返回 429)未对每一行独立联网核对,以实际源码为准。SoftDevice Controller 部分闭源,本文不涉及
iini
1 个月前
agent
·
ai编程
·
nrf connect sdk
·
zephyr
·
蓝牙开发
·
deepseek
·
mcp
·
claude code
·
nordic mcp
nRF Connect SDK 开发新体验:VS Code + Claude Code + DeepSeek + Nordic MCP 全流程(蓝牙开发实例)
什么是 AI Agent?Claude Code 跟 Claude 大模型有什么不同?MCP 是什么、为什么嵌入式开发也需要它?Skill、Hook、Subagent 又各自解决什么问题?
fitpolo
2 个月前
zephyr
详解Zephyr设备树与设备驱动模型
在做传统的嵌入式c语言开发时,我们常会使用宏定义的方式来实现硬件的抽象,例如: 在实际的驱动代码中就可以屏蔽掉硬件的具体细节,实现便于移植的驱动代码,例如: 这种方法的优点: 简单直观。如果想要修改外设分配,只需修改宏定义,无需修改代码
乐鑫科技 Espressif
2 个月前
人工智能
·
物联网
·
esp32
·
乐鑫科技
·
zephyr
用 AI 开发 Zephyr-IoT 应用
在持续改进基于 AI 的嵌入式软件工作流的过程中,本文将同样的 AI 智能体协作纪律应用到了 Zephyr 上。在本文的实验中,乐鑫仍使用同一套来自 M5Stack 的 ESP DualKey 套件,沿用相同的规格说明、集成规则、计划 → 执行 → 提交 → 测试流程、可复用模块、开发日志以及 Git 管理方式——但并未重新定义产品本身。
固执的你
2 个月前
zephyr
串口中断接收协议数据并用状态机解析_printk()打印内容
目标如下: 我想实现串口数据输入,然后printk()打印收到的内容, 串口输入的数据格式为 0x55AA 然后是字符TLV, 之后是两字节type字段,两字节length字段,高字节在前,低字节在后,之后是数据内容,根据length字段可知。 串口使用uart1, PA9,PA10. 帮我完成 app.overlay, 和 prj.conf,以及main.c
fitpolo
2 个月前
zephyr
Zephyr的SPI
串行外设接口(SPI)是一种短距离串行通信接口,它使用高速时钟(与I2C相比),适用于更高的数据速率。SPI接口有多种不同的串行通信变体,但四线接口是最流行的一种。这四个信号是:
toradexsh
2 个月前
arm
·
rtos
·
nxp
·
imx8mp
·
zephyr
基于 NXP i.MX8M Plus 测试 Zephyr RTOS
Zephyr 是一个开源的小型实时操作系统(RTOS),专为资源受限的嵌入式系统而设计——从简单的环境传感器、LED 可穿戴设备,到复杂的嵌入式控制器、智能手表和 IoT 无线应用,均可使用 Zephyr 进行开发。Zephyr 采用 Apache 2.0 宽松许可证,由 Linux 基金会托管,拥有活跃的社区支持。
ScilogyHunter
3 个月前
zephyr
·
twister
Zephyr Twister测试框架完全指南
在嵌入式系统开发中,测试是确保代码质量和可靠性的关键环节。Zephyr RTOS提供了一套强大的测试框架——Twister,它能够自动发现、编译、运行和报告测试结果,大大简化了测试流程。
ScilogyHunter
3 个月前
驱动开发
·
uart
·
zephyr
Zephyr串口驱动开发及构建完全指南
串口(UART)是嵌入式系统中最常用的通信接口之一,用于调试、数据传输和设备间通信。Zephyr提供了一套完整的串口驱动框架,支持多种硬件平台和通信模式。
ScilogyHunter
3 个月前
zephyr
·
hello world
Zephyr Hello World应用开发构建完全指南
Hello World是每个程序员学习新语言或新平台的第一步。对于Zephyr RTOS来说,Hello World应用不仅展示了基本的开发流程,更重要的是让开发者理解Zephyr的项目结构、构建系统和运行机制。
ScilogyHunter
3 个月前
init
·
zephyr
·
west
west init 命令详解
在Zephyr开发中,west init是项目初始化的第一个命令,它负责设置工作区并克隆必要的代码仓库。然而,对于网络条件受限或磁盘空间有限的开发者来说,如何优化这个过程、只下载必要的内容,是一个非常实际的问题。本文将详细介绍west init命令的执行过程,以及如何配置工程以实现按需下载。
ScilogyHunter
3 个月前
kconfig
·
zephyr
使用Kconfig配置Zephyr工程完全指南
Kconfig是Zephyr RTOS的核心配置系统,它源自Linux内核,提供了一种灵活的配置机制,可以在编译时选择启用或禁用功能。理解和掌握Kconfig是高效开发Zephyr应用的关键。
ScilogyHunter
3 个月前
zephyr
Zephyr设备树完全指南
在嵌入式系统开发中,硬件配置是一个复杂而关键的环节。不同的硬件平台有不同的外设配置、中断映射和内存布局。为了解决这个问题,Zephyr引入了设备树(Device Tree)机制,将硬件配置从代码中分离出来,实现了软件与硬件的解耦。
ScilogyHunter
3 个月前
zephyr
Zephyr项目按需配置完全指南
Zephyr项目是一个功能丰富的RTOS生态系统,包含62个活跃子仓库和大量可选组件。对于普通开发者来说,完整克隆所有仓库不仅耗时(可能需要数GB存储和数小时下载),而且往往是不必要的。
ScilogyHunter
3 个月前
zephyr
Zephyr最简工程配置指南
在Zephyr RTOS开发中,配置一个最简工程是学习和测试的最佳起点。本文将详细介绍如何配置一个最小化的Zephyr工程,仅使用x86平台,并在QEMU模拟器中运行。
ScilogyHunter
3 个月前
zephyr
Zephyr主仓库目录结构完全指南
Zephyr RTOS的主仓库是整个项目的核心,包含了内核、驱动、协议栈、构建系统等关键组件。对于Zephyr开发者来说,熟悉主仓库的目录结构是掌握Zephyr开发的基础。
ScilogyHunter
3 个月前
zephyr
Zephyr工程配置完全指南
Zephyr RTOS以其高度模块化和可配置性著称,能够支持从资源受限的微控制器到复杂的物联网设备。这种灵活性主要来自于其强大的配置系统,包括Kconfig配置系统、设备树(Device Tree)机制、CMake构建系统,以及West项目管理系统。