zephyr

wotaifuzao8 天前
低功耗蓝牙·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 严格的依赖版本限制,杜绝多项目环境冲突,一次配置永久复用,适配日常开发、项目编译、固件烧录全流程。
dozenyaoyida17 天前
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
dozenyaoyida19 天前
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 部分闭源,本文不涉及
iini1 个月前
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 又各自解决什么问题?
fitpolo2 个月前
zephyr
详解Zephyr设备树与设备驱动模型在做传统的嵌入式c语言开发时,我们常会使用宏定义的方式来实现硬件的抽象,例如: 在实际的驱动代码中就可以屏蔽掉硬件的具体细节,实现便于移植的驱动代码,例如: 这种方法的优点: 简单直观。如果想要修改外设分配,只需修改宏定义,无需修改代码
乐鑫科技 Espressif2 个月前
人工智能·物联网·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
fitpolo2 个月前
zephyr
Zephyr的SPI串行外设接口(SPI)是一种短距离串行通信接口,它使用高速时钟(与I2C相比),适用于更高的数据速率。SPI接口有多种不同的串行通信变体,但四线接口是最流行的一种。这四个信号是:
toradexsh2 个月前
arm·rtos·nxp·imx8mp·zephyr
基于 NXP i.MX8M Plus 测试 Zephyr RTOSZephyr 是一个开源的小型实时操作系统(RTOS),专为资源受限的嵌入式系统而设计——从简单的环境传感器、LED 可穿戴设备,到复杂的嵌入式控制器、智能手表和 IoT 无线应用,均可使用 Zephyr 进行开发。Zephyr 采用 Apache 2.0 宽松许可证,由 Linux 基金会托管,拥有活跃的社区支持。
ScilogyHunter3 个月前
zephyr·twister
Zephyr Twister测试框架完全指南在嵌入式系统开发中,测试是确保代码质量和可靠性的关键环节。Zephyr RTOS提供了一套强大的测试框架——Twister,它能够自动发现、编译、运行和报告测试结果,大大简化了测试流程。
ScilogyHunter3 个月前
驱动开发·uart·zephyr
Zephyr串口驱动开发及构建完全指南串口(UART)是嵌入式系统中最常用的通信接口之一,用于调试、数据传输和设备间通信。Zephyr提供了一套完整的串口驱动框架,支持多种硬件平台和通信模式。
ScilogyHunter3 个月前
zephyr·hello world
Zephyr Hello World应用开发构建完全指南Hello World是每个程序员学习新语言或新平台的第一步。对于Zephyr RTOS来说,Hello World应用不仅展示了基本的开发流程,更重要的是让开发者理解Zephyr的项目结构、构建系统和运行机制。
ScilogyHunter3 个月前
init·zephyr·west
west init 命令详解在Zephyr开发中,west init是项目初始化的第一个命令,它负责设置工作区并克隆必要的代码仓库。然而,对于网络条件受限或磁盘空间有限的开发者来说,如何优化这个过程、只下载必要的内容,是一个非常实际的问题。本文将详细介绍west init命令的执行过程,以及如何配置工程以实现按需下载。
ScilogyHunter3 个月前
kconfig·zephyr
使用Kconfig配置Zephyr工程完全指南Kconfig是Zephyr RTOS的核心配置系统,它源自Linux内核,提供了一种灵活的配置机制,可以在编译时选择启用或禁用功能。理解和掌握Kconfig是高效开发Zephyr应用的关键。
ScilogyHunter3 个月前
zephyr
Zephyr设备树完全指南在嵌入式系统开发中,硬件配置是一个复杂而关键的环节。不同的硬件平台有不同的外设配置、中断映射和内存布局。为了解决这个问题,Zephyr引入了设备树(Device Tree)机制,将硬件配置从代码中分离出来,实现了软件与硬件的解耦。
ScilogyHunter3 个月前
zephyr
Zephyr项目按需配置完全指南Zephyr项目是一个功能丰富的RTOS生态系统,包含62个活跃子仓库和大量可选组件。对于普通开发者来说,完整克隆所有仓库不仅耗时(可能需要数GB存储和数小时下载),而且往往是不必要的。
ScilogyHunter3 个月前
zephyr
Zephyr最简工程配置指南在Zephyr RTOS开发中,配置一个最简工程是学习和测试的最佳起点。本文将详细介绍如何配置一个最小化的Zephyr工程,仅使用x86平台,并在QEMU模拟器中运行。
ScilogyHunter3 个月前
zephyr
Zephyr主仓库目录结构完全指南Zephyr RTOS的主仓库是整个项目的核心,包含了内核、驱动、协议栈、构建系统等关键组件。对于Zephyr开发者来说,熟悉主仓库的目录结构是掌握Zephyr开发的基础。
ScilogyHunter3 个月前
zephyr
Zephyr工程配置完全指南Zephyr RTOS以其高度模块化和可配置性著称,能够支持从资源受限的微控制器到复杂的物联网设备。这种灵活性主要来自于其强大的配置系统,包括Kconfig配置系统、设备树(Device Tree)机制、CMake构建系统,以及West项目管理系统。