☰
【nRF】第0篇 在 Ubuntu 上安装 nRF Connect SDK(VS Code)并接入 TaoToken 统一 Key 通道
2026/9/28 19:01:54 网站建设 项目流程

1. 为什么要在 Ubuntu 上折腾 nRF Connect SDK

如果你手里有一块 nRF52、nRF53 或者 nRF91 系列的开发板,想在 Ubuntu 上把开发环境一次性搭好,那 nRF Connect SDK 基本是绕不开的选择。它底层是 Zephyr RTOS,Nordic 在上面封装了自己的协议栈、驱动和例程,蓝牙、Thread、Zigbee、蜂窝、Wi-Fi 这些都能用同一套构建系统跑起来。对嵌入式工程师来说,好处是工程结构统一,坏处是初次安装的依赖链条比较长:VS Code 插件、Toolchain、SDK 本体、west 多仓库管理、J-Link 烧录工具,任何一环版本对不上都会卡住。

这篇是「第0篇」,目标很明确:在 Ubuntu 上从零把 nRF Connect SDK 装进 VS Code,能编译、能烧录,同时把 TaoToken 的统一 Key 通道接进来,方便后面用 AI 辅助写代码、查报错、生成 Devicetree 片段。我试过在 Ubuntu 22.04 和 24.04 上各装一遍,踩过的坑主要集中在 Toolchain 下载慢、west update 网络中断、以及 VS Code 找不到 SDK 路径这三处,下面会逐个给可复制的命令和检查动作。

适合谁看:刚拿到 Nordic 开发板、第一次在 Linux 下搭 Zephyr 环境的嵌入式工程师;或者之前用 Windows 装过,现在想迁到 Ubuntu 的人。全程不需要特殊网络手段,按步骤走即可。

2. TaoToken 前置准备:统一 Key 与 API 通道

nRF Connect SDK 本身是本地编译工具链,和 AI 通道没有强绑定。但实际开发里,你经常需要让 AI 帮你读 Kconfig、解释 Devicetree 报错、生成 CMake 片段,这时候如果每个工具都单独配 Key 就很烦。TaoToken 的思路是提供一个统一的 Key 和 API 入口,兼容 OpenAI 风格的调用方式,VS Code 里的 AI 插件、命令行工具、Coding Agent 都能指向同一个地址。

你需要先拿到两样东西:一个 API Key,以及确认 API 基地址。注册和创建 Key 的入口在控制台,地址是 https://taotoken.net/console ,登录后在 API Keys 页面新建一个 Key,复制出来保存好,后面配置里会用到。API 基地址统一用 https://taotoken.net/api ,注意这个地址不带任何查询参数,直接作为 base_url 填进去。

如果你后面打算长期用 AI 做编码辅助,比如让 Agent 自动改代码、跑构建,可以了解一下 Coding Plan,入口在 https://taotoken.net/coding-plan 。它更适合高频、长会话的编码场景,比单次对话更划算。只是想验证模型通不通,用模型对话页面就够了:https://taotoken.net/models 。

这里要强调一点:TaoToken 是正常的 API 服务通道,配置时只填 base_url 和 Key,不要引入任何额外的网络层工具。所有请求走标准 HTTPS,Ubuntu 下用 curl 就能直接验证。

3. 可复制配置:VS Code settings.json 与 config.toml 骨架

这一节给两份可直接粘贴的配置。第一份是 VS Code 的 settings.json,用来让 nRF Connect 插件知道 SDK 和 Toolchain 的位置;第二份是给命令行 AI 工具用的 config.toml,把 TaoToken 的 Key 和地址写进去。

先说 VS Code。安装扩展包「nRF Connect for VS Code Extension Pack」之后,插件默认会把 SDK 和 Toolchain 放在~/ncs和~/.nrfutil下。如果你按默认路径装,settings.json 里其实不用写太多;但如果你像我一样把 SDK 放到别的盘,就要显式指定。打开 VS Code 的 settings.json(Ctrl+Shift+P 输入 Open User Settings JSON),加入下面这段:

{ "nrf-connect.toolchain.path": "/home/yourname/.nrfutil/toolchains", "nrf-connect.sdk.path": "/home/yourname/ncs/v2.7.0", "nrf-connect.west.path": "/home/yourname/.local/bin/west", "nrf-connect.topdir": "/home/yourname/ncs/v2.7.0", "nrf-connect.defaultBoard": "nrf52840dk_nrf52840", "C_Cpp.default.compilerPath": "/home/yourname/.nrfutil/toolchains/*/bin/arm-zephyr-eabi-gcc" }

把yourname换成你的实际用户名。nrf-connect.topdir指向 SDK 根目录,插件靠它找west.yml。defaultBoard按你手上的板子改,nRF52840 DK 就是nrf52840dk_nrf52840,nRF5340 DK 是nrf5340dk_nrf5340_cpuapp。

再说 config.toml。很多命令行 AI 工具(包括一些 Coding Agent)用 TOML 存配置。在~/.config/taotoken/config.toml下建文件,内容如下:

[api] base_url = "https://taotoken.net/api" api_key = "sk-你的Key" model = "gpt-4o-mini" timeout = 60 [workspace] project_root = "/home/yourname/ncs/v2.7.0"

base_url一定不要加尾部斜杠,也不要加/v1之外的多余路径,标准 OpenAI 兼容接口会自动补/v1/chat/completions。Key 从控制台复制,别写进 Git 仓库,建议这个文件权限设成 600:

chmod 600 ~/.config/taotoken/config.toml

4. 验证请求:SDK 工具链与 TaoToken 通道连通性

配置写完必须验证,不然编译报错你分不清是 SDK 问题还是 Key 问题。分两步走。

第一步,验证 nRF 工具链。先确认 west 装好了:

pip3 install --user west west --version

正常会输出West version: v1.2.0之类的版本号。如果提示 command not found,把~/.local/bin加进 PATH:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc source ~/.bashrc

然后进 SDK 目录做一次 west update 和 zephyr-export:

cd ~/ncs/v2.7.0 west update west zephyr-export

west update会拉一堆仓库,网络不稳就多跑几次,它支持断点续传。完成后验证工具链:

west build -b nrf52840dk_nrf52840 zephyr/samples/hello_world

能走到Building C object并最终生成zephyr.hex就说明工具链没问题。产物在build/zephyr/zephyr.hex。

第二步,验证 TaoToken 通道。用 curl 直接打 API:

curl -s https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer sk-你的Key" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-4o-mini", "messages": [{"role": "user", "content": "回复 ok"}] }'

返回 JSON 里choices[0].message.content有内容,就说明 Key 和地址都对。如果返回 401,检查 Key 有没有多余空格;返回 404,检查 base_url 是不是写成了带路径的形式。这一步通了,后面 VS Code 里的 AI 插件、命令行 Agent 都能复用同一份配置。

烧录验证也顺手做掉。装 J-Link 和 nRF 命令行工具:

sudo dpkg -i JLink_Linux_V788m_x86_64.deb sudo dpkg -i nrf-command-line-tools_10.24.0_amd64.deb

插上开发板,执行:

nrfjprog --ids

能列出板子序列号就说明烧录链路通了。然后west flash把 hello_world 烧进去,串口终端应该能看到输出。

5. 本篇常见错排查

装 nRF Connect SDK 最容易卡在几个固定位置,这里按报错现象给排查路径。

Toolchain 下载卡住或超时。VS Code 插件里点安装 Toolchain 后进度条不动,多半是下载源慢。可以改用 nrfutil 命令行装:

nrfutil toolchain-manager install --ncs-version v2.7.0

装完用nrfutil toolchain-manager list确认。如果还是慢,就换时间段重试,或者用离线包。

west update 报错unknown host或中途断开。这是仓库多、单次拉取量大导致的。先git config --global http.postBuffer 524288000加大缓冲,再重跑west update。已经拉下来的仓库不会重复下载。

VS Code 提示找不到 SDK。检查 settings.json 里nrf-connect.sdk.path是否指向含west.yml的那一层。注意 SDK 根目录下应该有nrf、zephyr、modules这些文件夹,如果指到了上一层就会报错。

编译报arm-zephyr-eabi-gcc not found。说明 Toolchain 没被 CMake 识别。在 VS Code 里按 Ctrl+Shift+P 执行nRF Connect: Build,插件会重新扫描 Toolchain。或者手动确认~/.nrfutil/toolchains下有对应版本目录。

TaoToken 返回 401 或 403。先确认 Key 没写错,再用 curl 单独测。如果 curl 通、插件不通,检查插件里 base_url 是否被自动加了/v1导致重复。标准填法是https://taotoken.net/api,让客户端自己补路径。

烧录报No J-Link found。Ubuntu 下需要 udev 规则,把 SEGGER 的规则文件拷过去:

sudo cp /opt/SEGGER/JLink_Linux_V788m_x86_64/99-jlink.rules /etc/udev/rules.d/ sudo udevadm control --reload-rules

重新插拔开发板即可。

6. 后续怎么用这套环境

环境搭好之后,日常开发流程就是:VS Code 里用 nRF Connect 插件建工程、选板子、编译、烧录,遇到 Kconfig 或 Devicetree 报错时,把报错贴给接了 TaoToken 的 AI 工具,让它结合 SDK 版本给修改建议。因为 Key 是统一的,你在 VS Code 插件、命令行、Coding Agent 里不用重复配置,换工具只改一处。

需要新建 Key 或者查看用量,去控制台:https://taotoken.net/console 。API 接入细节和参数说明看文档:https://taotoken.net/doc 。如果你主要用 Claude Code 这类 Agent 做长期编码,Anthropic 兼容入口在 https://taotoken.net/claudecode-anthropic ,配置方式类似,把 base_url 换成对应地址即可。模型对话验证还是用 https://taotoken.net/models ,快速确认某个模型能不能调通。

下一篇会讲怎么在 nRF Connect SDK 里建第一个自定义工程,把 Devicetree overlay 和 Kconfig 片段接进构建系统,并用 AI 辅助生成板级配置。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询