nRF Command Line ToolsDesktop tool

Cross-platform desktop software

The nRF Command Line Tools is used for development, programming and debugging of Nordic Semiconductor's nRF51, nRF52, nRF53 and nRF91 Series devices.


Components:

  • nrfjprog executable - tool for programming through SEGGER J-LINK programmers and debuggers
  • mergehex executable - enables you to combine up to three .HEX files into one single file
  • nrfjprog DLL - a DLL that exports functions for programming and controlling nRF51, nRF52, nRF53 and nRF91 Series devices and lets developers create their own development tools using the DLLs API
  • SEGGER J-Link software and documentation pack (only included in the Windows installer)


Available platforms:

  • Windows
  • Linux
  • macOS
Key features

Supports nRF51, nRF52, nRF53 and nRF91 Series

Flash utility

SEGGER J-Link support

HEX file merging

Create your own development tools

Windows

Linux

macOS

Choose platform and version

Choose your Desktop platform and select version (latest released version recommended)

Selected version

10.7.0 Win32

nRF-Command-Line-Tools_10_7_0_Installer.exe

Changelog:

10.7.0 Win32

Changelog from 10.6.0 to 10.7.0:
- (Release) Update bundled Segger installers and tar balls to v6.62b.

- (WindowsRelease) Included .lib files for all dlls.

- (OSXRelease) Fixed issue where OSX release contained a tar ball with the same name as the parent tar ball.

- (nrfjprog.exe) Added support for nRF52820_xxAA_REV2

- (nrfjprog.dll) Fix issue where nRF9160 targets could be identified as nRF9160_FUTURE.
- (nrfjprog.dll) Fix issue where nRF52 targets were not halted during page erase.
- (nrfjprog.dll) nRFJProg now updates the debug probe fw without user interaction again (changed in 10.6.0). Note that this may lead to issues with J-Link Dll versions v6.60 to v6.60f.
- (nrfjprog.dll) Added support for nRF52820_xxAA_REV2
- (nrfjprog.dll) NRFJPROG_connect_to_emu_with_snr() will fail with WRONG_FAMILY_FOR_DEVICE if the target device debug port IDR does not match the one expected by the dll.
- (nrfjprog.dll) NRFJPROG_connect_to_emu_without_snr() will fail with WRONG_FAMILY_FOR_DEVICE if the target device debug port IDR does not match the one expected by the dll.

- (pynrfjprog)   Added support for nRF52820_xxAA_REV2

- (highleveldll) Added support for nRF52820_xxAA_REV2

10.6.0 Win32

  • Update bundled Segger installers and tar balls to v6.60e.
  • Added support for modem firmware upgrade for nRF91 over serial port communication.
  • Fixed bug where nrfjprog could not be called from inside a folder containing utf characters.
  • Fixed issue where nrfjprog exe caused segmentation faults if an unsupported JLink Dll was loaded.
  • Documented “—log” functionality and argument option to set log file location.
  • Known issue: nRFJProg previously updated the debug probe fw without user interaction. Due to an issue with J-Link, a popup will now appear on connection if a fw update is available.

10.5.0 Win32

  • Added support for nRF5340
  • Update bundled Segger installers and tar balls to v6.54c.
  • Added rtt functionality to highleveldll

10.4.1 Win32

    • Installation of command line tools on OSX, fixed.
    • In some cases when nrfjprog was called through an indirection (ie. PATH or symlink), it could not find its local resources. Fixed.
    • For Linux and OSX, nrfdfu file had changed name. Fixed.
    • Bundled with Segger JLink version 6.50b

10.4.0 Win32

  • In devices with Trustzone, if AIRCR.SYSRESETREQS was set and the core was running NonSecure code, operations that required a call to disable_bprot could fail silently. Fixed.
  • In devices with SPU, if a page was set as NonSecure, erasepage and sectorerase failed silently. Fixed.
  • In special circumstances family detection in unknown dll could fail for nRF9160. Fixed.
  • Added MCUBoot support for Zephyr targets over serial port communication.
  • Updated Segger JLink to version 6.50b.
     

10.3.0 Win32

  • NRFJPROG_erase_page() now returns UNAVAILABLE_BECAUSE_BPROT if block protection is enabled for the page to erase.
  • Removed undocumented sys_reset side effect of erase_page function in nRF91 dll.

10.2.1 Win32

  • (pynrfjprog) New functions added, including modem DFU
  • (nRF-Command-Line-Tools) Fixed issue where if BPROT, ACL, SPU or other similar mechanisms were used to protect memory, program might silently fail.
  • (nRF-Command-Line-Tools) Updated ipc_dfu bootloader
  • (nrfjprog) In some special circumstances page erase would fail to erase, fixed



10.1.1 Win32

  • Includes Segger J-Link Software Pack v6.44e
  • Added support for nRF9160
  • Added support for nRF52811
  • Added support for nRF52810 revision 2
  • Added support for nRF52840 revision 2
  • Initial release of OS X .dmg and .pkg packages
  • Initial release of Linux .deb package
  • Added HighLevel.py module, a python API for the nrfjprog.exe-like highlevelnrfjprog library
  • Changed to Nordic 5-clause license
  • Various bug fixes and improvements

9.8.1 Win32

  • Windows install Includes Segger J-Link Software Pack v6.40
  • See release notes for more details

9.8.0 Win32

  • Update to Segger J-Link Software Pack v6.34g
  • Only support Windows 7 and newer versions
  • Added option to support flash hex files with address-unaligned records
  • Renamed some dll header files, se release notes for details
 

9.7.3 Win32

  • Windows install includes Segger J-Link Software Pack v6.22g
  • Bug fixes and stability improvements

9.7.2 Win32

  • Windows install Includes Segger J-Link Software Pack v6.20i 
  • Added support for new device nRF52840_xxAA_ENGB
 

9.7.1 Win32

  • Windows install Includes Segger J-Link Software Pack v6.20b
  • Fixed bug in jlinkarm dll detection on Linux and OS X. Some cases were not covered by 9.7.0 update.

9.7.0 Win32

  • Windows install Includes Segger J-Link Software Pack v6.20b.
  • Add –ini option to nrfjprog.exe . Specifies location of nrfjprog.ini file.
  • Removed the possibility to define the QSPI settings file in the nrfjprog.ini file. Option --qspiini should be used instead.
  • Added support for nRF52832_xxAA_Rev2 and nRF52832_xxAB_Rev2 devices.
  • Fixed bug in jlinkarm dll detection in high level library on Linux and OS X. In some cases, library path was mistakenly treated as non-valid.
  • Added is_alive() and terminate() functions to multiAPI interface. Allows user to stop background MultiAPI threads and processes immediately.
  • Added NRFJPROG_get_library_info() function in HighLevel DLL. Allows readout of jlinkarm version and path to library file.
  • Added NRFJPROG_get_probe_info() function in HighLevel DLL. Allows readout of debug probe serial number, firmware version and requested clockspeed.