尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Nexting参考固件移植教程:一套Zephyr代码如何跑通nRF52840与ESP32四块开发板
【免费下载链接】nextingRemote control for Claude Code, Codex, Grok, and Cursor on Mac or PC. View sessions, send tasks, and drive them remotely from your phone, PIN, or Ring. OpenClaw supported.项目地址https://gitcode.com/gh_mirrors/ne/nexting点击查看免费下载Nexting是一款让物理设备远程遥控 Claude Code、Codex 等 AI Agent 的开源项目。它的设备端固件Nexting 参考固件有一个很有意思的设计同一套 Zephyr 源码不改一行main.c就能编译出 Nordic nRF52840 和乐鑫 ESP32-C3/S3 共四块开发板的固件。本篇教程带你从零了解这套一份代码、四板通跑的移植架构并给出完整的构建与验证步骤。为什么一套代码能跑四块板移植 BLE 设备固件最大的坑往往是每换一块板就改一堆代码。Nexting 参考固件用三层结构把这个问题解决了层级位置职责换板时是否要改协议核心C99devices/sdk/c/src/nexting_device.c消息编解码、帧切分、TTL、选择锁定、重发逻辑❌ 完全复用Zephyr 适配器devices/firmware/zephyr/src/main.cBLE/GATT、配对绑定、定时器、固定缓冲区❌ 完全复用板级引脚定义devices/firmware/zephyr/boards/ 下的.overlay文件Allow / Deny 按键和 Pending 指示灯的引脚别名✅ 每块板一个 overlay换句话说芯片和引脚的差异被收敛到了薄薄的.overlay设备树文件里协议行为由共享的 C99 核心保证四块板表现完全一致不存在两套解析器各自演化的问题。四块支持的开发板与 Zephyr 目标官方 Experimental 0.2 将 Nordic 与 ESP32 视为对等的产品家族四块板全部处于 Build verified构建已验证状态开发板芯片Zephyr 板级目标适合场景nRF52840 DKNordic nRF52840nrf52840dk/nrf52840调试可观测性最好内置 4 键 4 灯排查问题首选XIAO nRF52840 / SenseNordic nRF52840xiao_ble/nrf52840/sense小巧、低功耗、BLE 成熟、UF2 拖拽烧录XIAO ESP32-C3乐鑫 ESP32-C3xiao_esp32c3/esp32c3低成本 RISC-VBLE Wi-Fi社区货源充足XIAO ESP32-S3乐鑫 ESP32-S3xiao_esp32s3/esp32s3/procpuIO 与内存更充裕适合屏幕、触摸等富交互形态各板允许 / 拒绝 / 待处理引脚的参考接线如下按键均用内部上拉、低电平有效开发板Allow 按键Deny 按键Pending 指示灯nRF52840 DKButton 1sw0Button 2sw1LED 1led0XIAO nRF52840 / SenseD0 接 GNDD1 接 GND板载红 LEDXIAO ESP32-C3D0 接 GNDD1 接 GNDD2 经电阻接 LED高电平点亮XIAO ESP32-S3D0 接 GNDD1 接 GND板载 LED一键构建west build 四板命令在配置好的 Zephyr 或 nRF Connect SDK 工作空间中只需切换-b参数即可切换目标板west build -p always -b nrf52840dk/nrf52840 /path/to/nexting-devices/firmware/zephyr west build -p always -b xiao_ble/nrf52840/sense /path/to/nexting-devices/firmware/zephyr west build -p always -b xiao_esp32c3/esp32c3 /path/to/nexting-devices/firmware/zephyr west build -p always -b xiao_esp32s3/esp32s3/procpu /path/to/nexting-devices/firmware/zephyr⚠️ 两个常见坑ESP32 目标需要上游 Zephyr 工作区中的hal_espressif及其配套无线电固件radio blobs和兼容的 Zephyr SDK——仅列出 ESP 板定义的 nRF Connect SDK 清单是不够的只构建你手上有的板。官方 CI 锁定版本为Zephyr 4.3.0 / Zephyr SDK 0.17.4 / west 1.5.0建议对齐。如果还没有 Zephyr 环境仓库提供了引导脚本自动创建隔离 Python 环境、初始化固定版本的 Zephyr 工作区并构建git clone --branch devices-v0.2.0-experimental.2 --depth 1 \ https://gitcode.com/gh_mirrors/ne/nexting cd nexting/devices ./scripts/bootstrap-zephyr.sh --board xiao-nrf52840-sense --install-sdk --build脚本位于 devices/scripts/bootstrap-zephyr.sh重复执行安全可用--dry-run预览所有解析出的版本与路径。板级差异如何收敛overlay 与自动选择机制这套一份代码的魔法来自两个文件配合devices/firmware/zephyr/CMakeLists.txt根据编译时的BOARD变量自动挑对应的 overlayif(BOARD MATCHES ^xiao_ble) set(DTC_OVERLAY_FILE ${CMAKE_CURRENT_SOURCE_DIR}/boards/xiao_ble.overlay) elseif(BOARD MATCHES ^xiao_esp32c3) set(DTC_OVERLAY_FILE ${CMAKE_CURRENT_SOURCE_DIR}/boards/xiao_esp32c3.overlay)overlay 文件为每块板声明统一的引脚别名。以 xiao_esp32c3.overlay 为例它把 D0/D1 声明为 Allow/Deny 按键D2 声明为 Pending LED高电平有效nexting-allow nexting_allow; nexting-deny nexting_deny; nexting-led nexting_led;而 main.c 读取这些别名时还做了兜底优先找nexting-allow找不到就用 nRF52840 DK 的sw0/sw1/led0别名——这就是 DK 连 overlay 文件都没有也能直接编译的原因。想加自己板子新建一个 overlay把 Allow/Deny/Pending 三个别名指到你自己的引脚再在 CMakeLists.txt 加一条BOARD MATCHES分支即可main.c一行都不用动。BLE 安全配置强制绑定、Secure Connections、NVS 存储等统一写在 devices/firmware/zephyr/prj.conf同样与板无关。烧录与第一次验证XIAO 系列UF2 拖拽烧录无需烧录器USB-C 连接板子快速双击 Reset 键出现名为XIAO BLE的 U 盘把构建产物zephyr.uf2拖进去卷自动弹出即完成烧录此时 Pending LED 应保持熄灭——只有 Host 下发审批请求时才会点亮。nRF52840 DK则直接用west flash通过板载调试器烧录。上电后的标准手势验证短按任意一个按键回答当前的 Allow/Deny 请求同时按住两个键 3 秒清除板上全部 BLE 绑定Pending LED 亮 1 秒作为确认随后恢复广播注意手机端也需忽略此设备因为绑定关系两边各存一份。详细接线与流程见 devices/docs/reference-approval-controller.md 和 devices/docs/first-approval.md遇到配对失败、Device Info 读不到等问题查 devices/docs/troubleshooting.md。构建验证不等于板级验证证据等级Nexting Devices 对支持的定义非常克制四个等级逐级递进等级含义Core tested芯片适配器复用了共享 C99 核心且桌面测试通过不代表无线电可用Build verified固定工具链成功编译出该板的固件不代表蓝牙功能实测Board verified指定开发板完成 iPhone 竞态、过期、断连、重启、畸形输入等全部实板清单Nexting Compatible独立治理的兼容计划接受该产品0.2 实验期不可获得要拿到Board verified需逐项完成 devices/docs/board-verification.md 的实板清单——包括按键抖动不能改变首次选择断连后不得从 flash 恢复审批TTL 边界后按键不得生效等 30 余项行为用例并记录板子版本、工具链、固件 commit、手机 App 版本和串口日志。把这套模式移植到你的新芯片如果你的平台不是上述四块板devices/docs/porting-guide.md 把移植工作拆成五块核心原则是协议核心原样复用平台适配器保持薄组件策略说明协议与状态机复用sdk/cJSON、UTF-8 边界、换行成帧、TTL、选择锁定、重发BLE 适配器自己实现四个 GATT UUID、加密写、通知、Device Info、连接生命周期输入自己实现两个可信本地动作映射为 Allow/Deny先消抖再进核心输出自己实现区分 Pending/Idle不拿 LED 当权威产品安全实现并文档化配对体验、绑定存储/吊销、更新路径、物理威胁模型平台侧只需满足最小硬件契约BLE 外设/GATT、加密绑定与本地吊销、≥512 字节接收缓冲、两个无歧义本地动作、Pending 输出、单调毫秒时钟、掉电即失的审批状态。完整路线见 devices/docs/implementation-tracks.md。小结Nexting 参考固件展示了一个可复制的移植范式共享协议核心 薄平台适配器 板级 overlay 收敛差异。一份main.c与一套 C99 核心靠west build -b切换目标就点亮了 nRF52840 与 ESP32 的两大家族四块开发板——对正在做多平台 BLE 设备固件的你来说这套分层思路值得直接借鉴。延伸阅读固件说明与接线表devices/firmware/zephyr/README.md协议规范devices/SPEC.mdC99 设备 SDKdevices/sdk/c/README.md硬件支持状态devices/docs/hardware-support.md赞分享【免费下载链接】nextingRemote control for Claude Code, Codex, Grok, and Cursor on Mac or PC. View sessions, send tasks, and drive them remotely from your phone, PIN, or Ring. OpenClaw supported.项目地址https://gitcode.com/gh_mirrors/ne/nexting点击查看免费下载相关推荐Zephyr 与 RAK3112 LoRaWAN 模块基于 ESP32-S3 与 SX1262 的开发板移植实战指南Zephyr 与 RAK3112 LoRaWAN 模块基于 ESP32 S3 与 SX1262 的开发板移植实战指南 RAK3112 是 RAKwireles操作系统嵌入式RTOS物联网Zephyr 在 Pro Micro nRF52840 开发板上的移植与实战构建、烧录与恢复指南Zephyr 在 Pro Micro nRF52840 开发板上的移植与实战构建、烧录与恢复指南 Pro Micro nRF52840promicro_nr操作系统嵌入式RTOS物联网Zephyr 与 PineCone BL602Pine64 PineCone 开发板移植实战与源码解析Zephyr 与 PineCone BL602Pine64 PineCone 开发板移植实战与源码解析 PineCone 是 Pine64 推出的基于 Bou操作系统嵌入式RTOS物联网创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

安卓原生对接苹果cms后端:接口解析、播放器接入与踩坑实战

安卓原生对接苹果cms后端:接口解析、播放器接入与踩坑实战

简介:这是一份面向苹果CMS影视站开发者与二次开发者的安卓原生APP后端源码包,由最新优化版前端App与Feiapp后端组成,用于快速搭建对接苹果CMS的移动端视频应用。包内含后端PHP接口、前端App工程资源、主题样式及数据库相关文件,共…

📅 2026/10/11 10:51:23
ApexSQLLog2016 数据库日志分析实战:从慢查询到锁等待的故障排查

ApexSQLLog2016 数据库日志分析实战:从慢查询到锁等待的故障排查

简介:ApexSQLLog2016 是一款面向 SQL Server 数据库管理员与运维开发人员的日志恢复工具,主要用于在误执行 delete 或 update 后,借助数据库事务日志找回被修改或删除的数据,适用于数据误操作后的紧急恢复与审计排查场景。压缩包共…

📅 2026/10/11 10:46:23
3天跑通LLaMA2预训练、微调与RAG全流程实操手稿

3天跑通LLaMA2预训练、微调与RAG全流程实操手稿

简介:本资源是Datawhale开源的《Happy-LLM:从零开始的大语言模型原理与实践教程》PDF电子书,面向具备基础Python和深度学习知识的NLP学习者、算法工程师及大模型入门研究者,旨在系统解决“原理难懂、代码难跑、训练难上手”的核心…

📅 2026/10/11 10:46:23
MORE NEWS

更多资讯

📰

自制无人机视角小目标检测数据集:VOC/YOLO/COCO格式转换与增强实战

简介:面向无人机视角小目标检测的研究者与毕业设计、课程设计使用者,这是一份自制车辆行人检测数据集,包含548张真实场景图像,背景丰富且非单一连续帧。标注涵盖轿车、摩托车、行人、三轮车、货车、自行车、遮阳三轮车、忽略区域、…

📰

DataX db2writer 插件:DB2 批量写入与数据迁移实战

简介:本资源为DataX数据迁移插件DB2Writer的完整实现包,面向需要将数据高效写入IBM DB2数据库的开发者与数据工程师,尤其适合金融、电信等企业级数据同步场景。DB2Writer支持全量迁移、基于时间戳或自增ID的增量迁移、多线程并行写入以及错误…

📰

Linux下NVMe SSD故障诊断与数据抢救实战指南

1. 项目概述:这不是一次简单的硬盘更换,而是一场对存储底层逻辑的重新校准Homelab NVMe 修复记录——这七个字背后,藏着一个非常典型的个人实验室运维现场:没有厂商SLA保障、没有专职运维团队、没有冗余热备盘,但偏偏又…

📰

LLM Internals 交叉熵损失函数详解:GPT 训练背后的核心数学,为什么取负对数?

【免费下载链接】llm-internals Learn LLM internals step by step - from tokenization to attention to inference optimization. 项目地址: https://gitcode.com/gh_mirrors/ll/llm-internals 点击查看 免费下载 交叉熵损失函数(Cross-Entropy Loss&…

📰

让Claude用给5岁小孩讲故事的方式解释任何技术概念:ELI5技能完整入门指南

AI 技能/插件AI 评测人工智能 【免费下载链接】ELI5 ELI5 — A Claude Code skill that explains anything to anyone: kids, managers, engineers, parents. Adapts tone, vocabulary, and analogies to match the audience. 项目地址: https://gitcode.com/gh_mir…

📰

恶劣天气三维重建:3D高斯Splatting雨雾场景全流程解析

简介:面向恶劣天气下室外场景三维重建的项目包,基于高斯Splatting算法实现,解决雨、雾、雪等天气干扰导致重建精度下降的问题。包内包含完整源码与流程教程,覆盖数据采集、模型训练、渲染到评估全流程,适合计算机视觉研…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬