nrf ncs环境安装(nrf connect sdk)
开发你的第一个nRF Connect SDK(NCS)/Zephyr应用程序 - iini - 博客园
nRF Connect SDK安装与入门 - Nordic Semiconductor中文官网
[VS Code系列] VS Code 1: 安装_哔哩哔哩_bilibili
ncs v2.7.0安装教程与开发环境搭建 附带toolchain离线安装包与sdk离线安装包_ncs开发环境搭建-CSDN博客
一、使用vscode
Nordic nRF Connect SDK(NCS) && VS Code 安装记录 - K_Code - 博客园
按照该方法安装时,从百度网盘下载SDK:开发你的第一个nRF Connect SDK(NCS)/Zephyr应用程序 - iini - 博客园

文章中提到的设置NCS SDK路劲时:

新版本的nRF Connect for VS Code插件已经没有这个设置项了,通过如下方式指定自定义NCS SDK路劲:

点击:

来设置自定义SDK路劲:

工具链可以使用vscode下载或者使用离线工具链:



这里设置的工具链的上一级路劲:



toolchains.json的内容如下:
[ { "default_toolchain": { "ncs_version": "v2.8.0" }, "schema": 1, "toolchains": [ { "identifier": { "bundle_id": "2d382dcd92" }, "ncs_versions": [ "v2.8.0" ] } ] } ]
toolchains.json文件要和工具链匹配,vscode会读取该json文件内容来找工具链,整个安装完成后重启vscode,如果ncs插件没起作用,那么把插件卸载后重装
更改工具链目录后重启vscode
要查看ncs的工具链使用的zephyr sdk版本可以在编译信息中找到:

可以看出当前ncs2..8.0工具链中使用的zephyr sdk版本是0.16.8
如果设置了环境变量,那么环境变量也需要修改为对应的路劲,否则出错:

其中ZEPHYR_SDK_INSTALL_DIR用来设置Zephyr自定义工具链地址,在编译项目时可以选择使用zephyr的工具链还是ncs的工具链:



当然zephyr sdk的工具链最好和ncs中zephyr sdk的工具链保持一致,这样两个工具编译出来的hex文件保持一致。
编译的时候可以选择使用sysbuild或者no sysbuild:

二、west命令行方式(以v2.8.0为例)
1)下载nrf connect sdk,使用nrf编译好的网盘中的版本
链接: https://pan.baidu.com/s/1FKTfY3Q_zBVvviO7KC7Gyg#list/path=%2Fblog 密码: y8fb
解压后放在任意盘符:

2)下载window环境下zephyr编译工具链
https://github.com/zephyrproject-rtos/sdk-ng/releases/


解压后放在C盘:

3)设置环境变量

4)按照文章开发你的第一个nRF Connect SDK(NCS)/Zephyr应用程序 - iini - 博客园中的步骤安装工具:
其中python使用 choco install python312方式安装特定的版本,不能安装最新版本

5)打开cmd/power shell进入到ncs仓库,按照文章开发你的第一个nRF Connect SDK(NCS)/Zephyr应用程序 - iini - 博客园中的方式安装其它软件包:


第一个与第二个依赖包安装的较久,第三个所需的包在第一二个安装完成后基本已经满足
6)测试验证
复制hello world到任意位置,在hello world中打开cmd/ps使用west build -b nrf5340dk_nrf5340_cpuapp_ns -d build -p编译工程,稍微修改了下原工程的代码:
/* * Copyright (c) 2012-2014 Wind River Systems, Inc. * * SPDX-License-Identifier: Apache-2.0 */ #include <zephyr/kernel.h> #include <zephyr/logging/log.h> #include <stdio.h> #include "myfunc.h" LOG_MODULE_REGISTER(main, LOG_LEVEL_DBG); int main(void) { int count1 = 20; int count2 = 30; while (1) { count1++; int sum = mysum(count1, count2); // printf("Hello World! %s, sum = %d\n", CONFIG_BOARD_TARGET, sum); LOG_INF("Hello World! %s, sum = %d", CONFIG_BOARD_TARGET, sum); // LOG_ERR("hello error"); // LOG_WRN("hello warning"); // LOG_DBG("hello debug"); k_sleep(K_SECONDS(1)); } return 0; }


编译成功后使用west flash下载:

打开串口查看数据输出:

其它:

zephyr工具链最新0.18版本的目录结构与早期的不同:


如果使用0.18版本的工具链会导致编译出错,原因是generic.cmake的路劲不同


ncs仓库中的zephyr中定义的工具链路劲为:

如果不修改zephyr仓库中定义的工具链路劲的话,那么需要使用0.17版本,不能使用0.18版本,或者更新zephyr仓库,看看最新版本的zephyr是否重新定义了工具链的路劲
安装问题汇总:
zehpyr 搭建开发环境遇到的一些问题_west build-CSDN博客
cmake注册表信息:


浙公网安备 33010602011771号