nrfjprog offers a variety of commands for programming Nordic Semiconductor SoCs with different options and executing other operations on the SoCs.
There are shorthand forms for the most commonly used commands. Some commands will only function together with other commands.
Shorthand form | Command | Description |
---|---|---|
-q |
--quiet |
Reduces the stdout info. Must be combined with another command. |
-h |
--help |
Displays this help. |
-v |
--version |
Displays the nrfjprog and DLL versions. |
--log [<path>] |
Enables logging. The default output file is log.log. Specify a file path to modify the output file name and/or location. If the parent folder of the specified file does not exist, nrfjprog attempts to create it. Logger output is appended to the file. Must be combined with another command. | |
--jdll <file> |
Specifies the file path of the JLinkARM DLL that should be used. If this command is omitted, nrfjprog searches for the latest version of SEGGER's JLinkARM DLL. Must be combined with another command. | |
--ini <file> |
Specifies the file path of the nrfjprog settings file that should be used instead of the default nrfjprog.ini file in the installation folder. Must be combined with another command. | |
--qspiini <file> |
Specifies the file path of the QSPI settings file that should be used instead
of the default QspiDefault.ini file in the installation folder.
Must be combined with either --memrd , --memwr ,
--program , --verify ,
--erasepage , or --qspieraseall .Note the
following limitation:
|
|
--qspicustominit |
Deprecated. This operation does nothing. | |
-i |
--ids |
Displays the serial numbers of all the debuggers connected to the computer. |
--com |
Displays a list of the serial ports associated with all connected debuggers. If
combined with --snr , this option displays all serial ports
associated with the given debugger. |
|
--deviceversion |
Displays the type of the device that is connected. If combined with
--snr , this option displays the type of the device that is
associated with the given debugger. |
|
-f |
--family <family> |
Selects the device family for the operation. Valid argument options are NRF51,
NRF52, NRF53, NRF91, and UNKNOWN. If UNKNOWN family is given, an automatic detection
of the device family is performed. Note that providing the actual family is faster
than performing the automatic family detection. If the --family
option is not given, the default is taken from nrfjprog.ini.
Must be combined with another command. |
-s |
--snr <serial_number> |
Selects the debugger with the given serial number among all debuggers connected to the computer for the operation. Must be combined with another command. |
-c |
--clockspeed <speed> |
Sets the debugger SWD clock speed in kHz resolution for the operation. The
valid clock speed arguments go from 125 kHz to 50000 kHz. If the given clock speed
is above the maximum clock speed supported by the emulator, its maximum will be used
instead. If the --clockspeed option is not given, the default is
taken from nrfjprog.ini. Must be combined with another command. |
--recover |
Erases all user flash memory and disables the readback protection mechanism if enabled. | |
--rbp <level> |
Enables the readback protection mechanism. Valid argument options are CR0 and
ALL. Note the following limitation:
Note: After an
--rbp operation is performed, the
available operations are reduced. For nRF51 devices, and if argument option ALL is
used, --pinreset will not work on certain older devices. For
nRF52 devices, only --pinreset or --recover
operations are available after --rbp . |
|
--pinresetenable |
Enables pin reset by using the UICR PSELRESET registers. Note the following
limitation:
|
|
-p |
--pinreset |
Performs a pin reset. Core will run after the operation. |
-r |
--reset |
Performs a soft reset by setting the SysResetReq bit of the AIRCR register of
the core. The core will run after the operation. Can be combined with the
--program operation. If combined with the
--program operation, the reset will occur after the flashing has
occurred to start execution. |
-d |
--debugreset |
Performs a soft reset by use of the CTRL-AP. The core will run after the
operation. Can be combined with the --program operation. If
combined with the --program operation, the debug reset will occur
after the flashing has occurred to start execution.Note the following
limitations:
|
-e |
--eraseall |
Erases all user available program flash memory and the UICR page. Can be
combined with the --qspieraseall operation.Note the following
limitation:
|
--qspieraseall |
Erases all flash of the external memory device with help of the QSPI
peripheral. Note that depending on the external memory device's erase speed, the
operation might take several minutes. Can be combined with the
--eraseall operation.Note the following limitations:
|
|
--eraseuicr |
Erases the UICR page. Note the following limitations:
|
|
--erasepage <start[-end]> |
Erases the flash pages starting at the given start address and ending at the
given end address (not included in the erase). If no end address is given, only one
flash page will be erased. If your device is equipped with a QSPI peripheral, the
pages to erase belong to the XIP region of the device, and an external memory device
is present, this command erases 4 kB pages from the external memory device. The first address of the region is considered as address 0 of
the external memory device.
To determine if an external memory device is
present, nrfjprog checks the MemSize parameter from the
QspiDefault.ini file or from the QSPI configuration
ini file that is given with the --qspiini option.Note the
following limitation:
|
|
--program <hex_file> [--sectorerase | --chiperase |
--sectoranduicrerase][--qspisectorerase | --qspichiperase] |
Programs the specified HEX file into the device. If the
target area to program is not erased, the --program operation
will fail, unless an erase option is given. Valid erase operations for the
internal flash memory are --sectorerase ,
--sectoranduicrerase , and --chiperase . If
Note that the If
your device is equipped with a QSPI peripheral and an external memory device is
present, data targeting the XIP region will be written to the external memory
device. The first address of the region is considered as address 0 of
the external memory device.
To determine if an external memory device is
present, nrfjprog checks the MemSize parameter from the
QspiDefault.ini file or from the QSPI configuration
ini file that is given with the If the
target area to program is not erased, the If Note the
following limitations:
|
|
--memwr <addr> --val <val> [--verify] |
Writes to the provided address in memory with help of the NVM Controller or, if
your device is equipped with a QSPI peripheral and the address to write belongs to
the XIP region, with the help of the QSPI peripheral to an external memory device.
To determine if an external memory device is
present, nrfjprog checks the MemSize parameter from the
QspiDefault.ini file or from the QSPI configuration
ini file that is given with the --qspiini option.
The first address of the region is considered as address 0 of
the external memory device. If the target address is
flash (either internal or in the external memory device) and not erased, the
operation will fail. This command can be combined with the --verify
operation. |
|
--ramwr <addr> --val <val> [--verify] |
Writes to memory without help of the NVM Controller to the provided address.
Can be combined with the --verify operation. |
|
--verify [<hex_file>][--fast] |
Compares the provided hex_file contents with the contents in
the device code flash, RAM, UICR, and XIP regions (for devices that are equipped
with a QSPI peripheral and connected to an external memory device) and fails if
there is a mismatch. To determine if an external memory device is
present, nrfjprog checks the MemSize parameter from the
QspiDefault.ini file or from the QSPI configuration
ini file that is given with the --qspiini option. If the optional
--fast parameter is given, nrfjprog will calculate a hash of the
flash target area using a SHA-256 algorithm and compare it to the expected hash
instead of reading back the actual contents of the device flash in order to speed
the operation. This command can be combined with the --program ,
--memwr , and --ramwr operations if provided
without the hex_file parameter.Note the following limitation:
|
|
--memrd <addr> [--w <width>] [--n <n>] |
Reads n bytes from the provided address. If
width is not given, 32-bit words are read if
addr is word aligned, 16-bit words if addr is
half word aligned, and 8-bit words otherwise. If n is not given,
one word of size width is read. The address and n must be aligned
to the width parameter. The maximum number of bytes that can be read is 1 MB. The
width must be 8, 16, or 32. If your device is equipped with a QSPI peripheral and
the addresses to read belong to the XIP region, the QSPI peripheral is used to read
from the external memory device if present. To determine if an external memory device is
present, nrfjprog checks the MemSize parameter from the
QspiDefault.ini file or from the QSPI configuration
ini file that is given with the --qspiini option.
The first address of the region is considered as address 0 of
the external memory device.Note the following
limitation:
|
|
--halt |
Halts the CPU core. | |
--run [--pc <pc_addr> --sp <sp_addr>] |
Starts the CPU. If --pc and --sp options are
given, the pc_addr and sp_addr are used as initial
PC and stack pointer. For pc_addr to be valid, its last bit must be
one. For sp_addr to be valid, it must be word aligned. |
|
--readuicr <path> |
Reads the device UICR and stores it in the given file path .
Can be combined with --readcode , --readram , and
--readqspi . If combined, only one instruction can provide a
path. |
|
--readcode <path> |
Reads the device flash and stores it in the given file path .
Can be combined with --readuicr , --readram , and
--readqspi . If combined, only one instruction can provide a
path. |
|
--readram <path> |
Reads the device RAM and stores it in the given file path . Can
be combined with --readuicr , --readcode , and
--readqspi . If combined, only one instruction can provide a
path. |
|
--readqspi <path> |
Reads the QSPI-connected external memory and stores it in the given file
path . Can be combined with --readuicr ,
--readcode , and --readram . If combined, only one
instruction can provide a path. |
|
--readregs |
Reads the CPU registers. | |
--coprocessor <coprocessor> |
Connects the device to the selected coprocessor. Valid arguments are
CP_APPLICATION, CP_NETWORK, and CP_MODEM. If --coprocessor option
is not used, CP_APPLICATION is used as target. Must be combined with another
command.Note the following limitations:
|