Nordic nRF Util
nRF Util
To support interaction with Nordic’s nRF Util tooling during production, an SBC or x86-64 should be included in the test fixture.
RPi4B
An RPi4B with AgentOS SBC image running nRF Util can be controlled by the PLT over USB.
Sample Test Plan (nRF54 firmware)
title: "nRF54 programming with nrfutil on RPi4B SBC,using Segger J-Link"
suite:
- title: Defines
steps:
- command: define FIRMWARE.hex "nrf54l20-fw.hex"
- title: New SBC Session
steps:
- command: agentCfg PROGSBC %SBC.uart%
with:
- "%FIRMWARE.hex%"
- title: "Erase and Program nRF54 with nrfutil"
steps:
- command: agentExec PROGSBC "nrfutil device recover --log-output=stdout --json"
- command: agentExec PROGSBC "nrfutil device program --firmware %FIRMWARE.hex% --log-output=stdout --json"
See also
nRF Util Preparation
Use the following test plan to prepare an SBC with an AgentOS SD Card image with nRF Util and an “Offline bundle”.
Files:
nrfutil.bin
: Prebuilt binary for aarch64 (download from Nordic: https://files.nordicsemi.com/ui/native/swtools/external/nrfutil/executables/aarch64-unknown-linux-gnu/ )offline.tgz
: Created withnrfutil prepare-offline
title: "AgentOS: Install nrfutil"
suite:
- ident: SBC
title: "SBC Setup"
retry: 2
steps:
- command: agentCfg SBC
with:
- nrfutil.bin
- offline.tgz
- ident: NRFUTIL.INST
title: "Install nrfutil binary and offline bundle"
steps:
- command: agentExec SBC "sudo bash"
- command: agentExec SBC "mount -o remount,rw /"
- command: agentExec SBC "cp /run/pltagent/mnt/nrfutil.bin /opt/nrfutil/nrfutil"
- command: agentExec SBC "tar -C /opt/nrfutil -xzvf /run/pltagent/mnt/offline.tgz"
timeout: 30s
- command: agentExec SBC "chmod +x /opt/nrfutil/nrfutil"
- ident: NRFUTIL.VER
title: "nrfutil version check"
steps:
- command: agentExec SBC "/opt/nrfutil/nrfutil --version"
- ident: NRFUTIL.BOOTSRAP
title: "nrfutil bootstrap"
steps:
- command: agentExec SBC "export NRFUTIL_BOOTSTRAP_TARBALL_PATH=/opt/nrfutil/offline/package-repository/nrfutil-aarch64-unknown-linux-gnu-8.0.0.tar.gz"
- command: agentExec SBC "/opt/nrfutil/nrfutil install device --from-offline /opt/nrfutil/offline"
timeout: 30s
- command: agentExec SBC "/opt/nrfutil/nrfutil list"
timeout: 30s
- command: agentExec SBC "mount -o remount,ro /"
timeout: 30s
Tip
Deploying nrfutil and the offline bundle only needs to be done once after writing the AgentOS SD card image, after this nrfutil can be used directly after agentCfg
References
x86-64 PC
When using an x86-64 PC to run nRF Util, a PLT agent should be installed on the programming PC to allow control from a PLT over Ethernet:
References
to program an nRF54:
Sample Test Plan (nRF54 firmware)
title: "nRF54 programming with nrfutil on x86-64 PC, using Segger J-Link"
suite:
- title: Defines
steps:
- command: define FIRMWARE.hex "nrf54l20-fw.hex"
- title: New SBC Session
steps:
- command: agentCfg PROGSBC %SBC.uart%
id: "a0:36:bc:57:9c:a8" # Ethernet MAC address of nrfutil host (x86-64).
with:
- "%FIRMWARE.hex%"
- title: "Erase and Program nRF54 with nrfutil"
steps:
- command: agentExec PROGPC "nrfutil device recover --log-output=stdout --json"
- command: agentExec PROGPC "nrfutil device program --firmware %FIRMWARE.hex% --log-output=stdout --json"