Nordic IoT NPU(nRF54LM20)开发套件 第二部分(Zephyr Linux 环境初始搭建)

本文是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 upgradenrfutil 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,延时周期 100ms
    • blink1() 控制 led1,延时周期 1000ms
  • 任意线程翻转 LED 状态时,都会将线程 / LED 信息及翻转次数写入 FIFO 缓冲区。
  • 第三个线程通过 :c:func:printk 将 FIFO 中的数据打印至 minicom 终端。

至此,本次Nordic IoT 平台演示完成。敬请关注本系列后续文章。这款荣获 2026 德国嵌入式展(Embedded World 2026)大奖的Nordic IoT nRF54LM20-DK 开发套件现已在得捷电子开售。