本文是Nordic 获奖新品 nRF54LM20-DK 物联网开发套件系列文章的第二部分。
本文旨在演示如何在 Linux 环境下搭建该平台的 Zephyr 开发环境。本次配置方式与此前文章中的步骤基本一致。现阶段,本文将演示如何基于该平台的 CPU(ARM)核心进行 Zephyr 开发,相关架构框图如下所示。
我们将在下一篇文章中演示如何在 Zephyr 中使用 AXON 人工智能神经网络处理器(NPU)。基于此初始目标,第一步请在 Linux 主机中执行以下操作:
sudo apt update
sudo apt upgrade
sudo apt install --no-install-recommends git cmake ninja-build gperf ccache dfu-util device-tree-compiler wget python3-dev python3-venv python3-tk xz-utils file make gcc libsdl2-dev libmagic1
python3 -m venv venv
source venv/bin/activate
(venv) pip install west
(venv) west init zephyrproject
(venv) cd zephyrproject
(venv) west update
(venv) west zephyr-export
(venv) west packages pip --install
(venv) cd zephyr
(venv) west sdk install
请从该链接下载适用于 Linux(x64)系统的 nrfutil 工具。下载完成后修改权限并运行(sudo chmod 777 nrfutil)。检查版本并将其添加至系统环境变量(.bashrc)中。
(venv) sudo apt install libusb-1.0-0
(venv) nrfutil self-upgrade
(venv) nrfutil install nrf5sdk-tools
(venv) nrfutil upgrade
(venv) nrfutil install sdk-manager
(venv) nrfutil install device
(venv) nrfutil sdk-manager install v3.2.0
务必执行 nrfutil upgrade 与 nrfutil sdk-manager install v3.2.0 命令,本文发布时,只有 3.2.0 版本可适配本次演示。同时请下载并安装 JLink_Linux_V864_x86_64.deb。
随后进入 Zephyr 目录 ~/DigiKey_Coffee_Cup/Nordic/zephyrproject/zephyr:
(venv)~/DigiKey_Coffee_Cup/Nordic/zephyrproject/zephyr$ nrfutil sdk-manager toolchain launch --ncs-version v3.2.0 --shell
该命令会在终端中打开一个新的 Shell 环境。接下来即可为这款获奖新品 nRF54LM20-DK 开发套件编译 Zephyr 应用。本文演示的是 Zephyr 操作系统多线程示例。
编译命令如下:
(venv)~/DigiKey_Coffee_Cup/Nordic/zephyrproject$ west build -p always -b nrf54lm20dk/nrf54lm20b/cpuapp zephyr/samples/basic/threads
...
...
[167/167] Linking C executable zephyr/zephyr.elf
Memory region Used Size Region Size %age Used
FLASH: 40996 B 2036 KB 1.97%
RAM: 8580 B 511 KB 1.64%
IDT_LIST: 0 B 32 KB 0.00%
Generating files from DigiKey_Coffee_Cup/Nordic/zephyrproject/build/zephyr/zephyr.elf for board: nrf54lm20dk/nrf54lm20b/cpuapp
正在为 nrf54lm20dk/nrf54lm20b/cpuapp 开发板从 DigiKey_Coffee_Cup/Nordic/zephyrproject/build/zephyr/zephyr.elf 生成镜像文件。
编译完成后,通过 USB 数据线将 nRF54LM20-DK 开发套件连接至 Linux 主机,如下图所示:
在另一个终端打开 minicom,执行如下命令烧录程序:
(venv) ~/DigiKey/Nordic/zephyrproject$ west flash
- west flash: rebuilding
ninja: no work to do.
-- west flash: using runner nrfutil
-- runners.nrfutil: reset after flashing requested
Using board 001051861371
-- runners.nrfutil: Flashing file: DigiKey_Coffee_Cup/Nordic/zephyrproject/build/zephyr/zephyr.hex
-- runners.nrfutil: Connecting to probe
-- runners.nrfutil: Programming image
-- runners.nrfutil: Verifying image
-- runners.nrfutil: Reset
-- runners.nrfutil: Board(s) with serial number(s) 1051861371 flashed successfully.
minicom 终端将显示如下信息:
下方视频展示该多线程演示效果。
本示例通过 :c:func:K_THREAD_DEFINE 创建多个线程,共创建三个线程。每个线程均在编译阶段通过 K_THREAD_DEFINE 宏定义。
- 前两个线程分别控制开发板上的独立 LED(led0、led1),通过独立函数实现循环闪烁与延时逻辑。
blink0()控制 led0,延时周期 100msblink1()控制 led1,延时周期 1000ms
- 任意线程翻转 LED 状态时,都会将线程 / LED 信息及翻转次数写入 FIFO 缓冲区。
- 第三个线程通过
:c:func:printk将 FIFO 中的数据打印至 minicom 终端。
至此,本次Nordic IoT 平台演示完成。敬请关注本系列后续文章。这款荣获 2026 德国嵌入式展(Embedded World 2026)大奖的Nordic IoT nRF54LM20-DK 开发套件现已在得捷电子开售。



