nRF52-QA-命令行常用指令

一:nRF52常用指令

  1. 芯片恢复出厂设置:nrfjprog –recover
  2. 擦除整个芯片:nrfjprog –eraseall
  3. 芯片复位:nrfjprog –reset
  4. 烧录程序校验并复位:nrfjprog –program MERGED.hex –sectorerase –verify -r

二:nRF9160常用指令

  1. 烧录modem固件:nrfjprog –verify –program mfw_nrf9160_1.3.6.zip
  2. 烧录app程序:nrfjprog –program app.hex –sectorerase –verify -r

三:nRF5340常用指令

  1. 复位网络核指令:nrfjprog -f NRF53 –coprocessor CP_NETWORK –recover
  2. 擦除网络核程序指令:nrfjprog -f NRF53 –coprocessor CP_NETWORK –eraseall
  3. 烧录核程序指令:nrfjprog -f NRF53 –coprocessor CP_NETWORK –program net.hex –verify
  4. 复位应用核指令:nrfjprog -f NRF53 –recover
  5. 擦除应用核程序指令:nrfjprog -f NRF53 –eraseall
  6. 烧录应用核程序指令:nrfjprog -f NRF53 –program app.hex –verify

三:nRF54L15常用指令

  • 使用nrfjprog下载程序:
    nrfjprog --family nRF54L --recover
    nrfjprog --family nRF54L --program zephyr.hex --sectorerase --verify --reset
    
  • 使用nrfutil下载程序:
    nrfutil device recover
    nrfutil device program --firmware zephyr.hex --traits jlink --options reset=RESET_DEBUG,verify=VERIFY_READ,chip_erase_mode=ERASE_RANGES_TOUCHED_BY_FIRMWARE
    

四:合并文件相关指令

  1. 将文件A.hex和文件B.hex和合并成一个名称为MERGED.hex 的文件:mergehex.exe -m A.hex B.hex -o MERGED.hex

五:nrfutil相关指令

nRF52840生成app dfu升级包

  1. 生成dfu私钥:nrfutil keys generate private.pem
  2. 根据dfu私钥生成dfu公钥:nrfutil keys display –key pk –format code private.pem –out_file dfu_public_key.c
  3. dfu生成settings文件:nrfutil settings generate –family NRF52840 –application APP.hex –application-version 3 –bootloader-version 2 –bl-settings-version 2 ST.hex
  4. dfu生成升级包:nrfutil pkg generate –key-file private.pem –hw-version 52 –sd-req 0x0100 –application APP.hex –application-version 0xFF APP.zip
  5. 通过BLE dfu升级,通过mac识别设备:nrfutil dfu ble -ic nRF52840 -pkg APP.zip -p COM6 -a D3:F1:96:04:74:0A -f
  6. 通过BLE dfu升级,通过蓝牙名称识别设备:nrfutil dfu ble -ic nRF52840 -pkg APP.hex -p COM6 -n Nordic_UART -f
  7. 通过串口dfu升级:nrfutil dfu serial -pkg APP.zip -p COM8 -b 115200
  8. 通过USB dfu升级:nrfutil dfu usb-serial -pkg APP.hex -p COM7 -b 115200

六:帮助文件

  1. nrfutil Usage: 需要下载nrfutil.exe并添加到环境变量

nrfutil.exe [OPTIONS] COMMAND [ARGS]...

Options:
  -v, --verbose            Increase verbosity of output. Can be specified more
                           than once (up to -v -v -v -v).  [x>=0]
  -o, --output <filename>  Log output to file
  --help                   Show this message and exit.

Commands:
  dfu       Perform a Device Firmware Update over serial, BLE, Thread, Zigbee
            or ANT transport given a DFU package (zip file).
  keys      Generate and display private and public keys.
  pkg       Display or generate a DFU package (zip file).
  settings  Generate and display Bootloader DFU settings.
  version   Display nrfutil version.
  zigbee    Zigbee-related commands and utilities.
  1. nrfjprog Usage: 需要安装nrf-command-line-tools
-------------------------------------------------------------------------------

 -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.

     --force                 Bypass all questions to continue.
                             Recommended to use this flag when scripting.

     --log [<path>]          Enable logging.
                             Default output file is "log.log".
                             Set the <path> option to modify log file
                             location and/or name.
                             If the parent folder of <path> does not
                             yet exist, nrfjprog will attempt to create it.
                             Logger output is always appended
                             to the file.
                             Must be combined with another command.

     --jdll <file>           Uses the Segger's JLinkARM dll specified in the
                             given file path instead of searching for the
                             latest version of Segger's JLinkARM dll. Must be
                             combined with another command.
                             Limitations:
                             Unicode paths are not supported

     --config <file>         Uses the nrfjprog settings file specified in the
                             given file path instead of searching for the
                             default config.toml file in the installation
                             folder. TOML configuration files may contain
                             both QSPI and nrfjprog target settings.
                             Must be combined with another command.

     --storeconfig <file>    Stores the nrfjprog settings loaded from
                             --config / --ini / --qspiini and command line
                             to <file> in toml formatting.
                             This option can be used to translate old .ini
                             files to .toml files for example.

     --ini <file>            Deprecated: Use a TOML file with --config instead.
                             Uses the nrfjprog settings file specified in the
                             given ini file path instead of searching for the
                             default config.toml file in the installation
                             folder. Must be combined with another command.

     --qspiini <file>        Deprecated: Use a TOML file with --config instead.
                             Uses the QSPI settings file specified in the given
                             file ini path instead of searching for the default
                             config.toml file in the installation folder.
                             Must be combined with either --erasepage, --memrd,
                             --memwr, --program, --verify, --readqspi or
                             --qspieraseall commands.
                             Limitations:
                             For nRF51 devices, the operation is not available.
                             For nRF52 devices, the operation is not available
                             for devices without a QSPI peripheral.
                             For nRF91 devices, the operation is not available

     --qspicustominit        Deprecated, this operation does nothing.

 -i  --ids                   Displays the serial numbers of all the debuggers
                             connected to the PC.

     --expand                Expands the information printed by --ids. This is.
                             useful for seeing addition information on
                             network connected debug probes.

     --com                   Displays a list of the serial port associated
                             with all connected debuggers. If combined with
                             --snr, it will display all comports associated
                             with this debugger

     --deviceversion         Displays the type of devices connected.
                             If combined with --snr, it will display the device
                             associated with this debugger.
                             If not combined with --snr, it will display the device
                             associated with all connected debuggers.

 -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 family
                             detection of the device is performed. Note that
                             providing the actual family is faster than
                             performing the automatic family detection. If
                             --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 those connected to the PC for the
                             operation. Must be combined with another command.

     --ip [<hostname>|<ip>|<tunnel>]        Provide a network connection string
                             for target debugger. This string can be an IPv4
                             address or a hostname. The port to connect to can
                             be specified with the --port option.
                             Passing --ip without any arguments is equivalent
                             to passing --iface ip.
                             It is possible to connect to a debugger running
                             in tunneling mode. Shortened tunnel connection
                             string format is not supported.
                             An example of a tunnel mode connection string is:
                             "tunnel:123456789:pwd:jlink-europe.segger.com"
                             Read more about JLink connection types at
                             "https://wiki.segger.com/J-Link_Remote_Server".
                             Must be combined with another command.

     --port <port>           Selects which port to use when establishing a
                             network connection to a debugger. Must be used
                             together with the --ip option.
                             Default port is 19020.

 -c  --clockspeed <speed>    Sets the debugger SWD clock speed in kHz
                             resolution for the operation. The valid clockspeed
                             arguments go from 4 kHz to 50000 kHz. If given
                             clockspeed is above the maxiumum clockspeed
                             supported by the emulator, its maximum will be
                             used instead. If --clockspeed option is not given,
                             the default is taken from nrfjprog.ini. Must be
                             combined with another command.

     --iface <USB|IP> [USB|IP]            Sets which interfaces to use when
                             searching for and connecting to debuggers.
                             Both USB and IP can be listed at the same time.
                             By default, only USB connected debuggers are
                             targeted unless the --ip option is present.
                             This option is mainly intended to be
                             used together with --snr and --ids.
                             Must be combined with another command

     --recover               Erases all user available non-volatile memory and
                             disables the read back protection mechanism if
                             enabled.

     --rbp <level>           Enables the readback protection mechanism. Valid
                             argument options are CR0 and ALL.
                             Limitations:
                             For nRF52 devices, the CR0 argument option is
                             invalid.
                             Side effects:
                             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, --debugreset
                             or --recover operations are available after --rbp.

     --pinresetenable        Enables the pin reset by the use of UICR PSELRESET
                             registers.
                             Limitations:
                             For nRF51 devices, the command is not available.
                             For nRF53 devices, the command is not available.
                             For nRF91 devices, the command is not available.

 -p  --pinreset              Performs a pin reset. 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.

     --hardreset             Performs a hard reset. 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.
                             Limitations:
                             For nRF51 devices, the command is not available.
                             For nRF53 devices, the command is not available.
                             For nRF91 devices, the command is not available.

 -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 the 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.
                             Limitations:
                             For nRF51 devices, the --debugreset operation is
                             not available.
                             For nRF52 devices, the --debugreset operation is
                             not available for nRF52832_xxAA_ENGA devices.

 -e  --eraseall              Erases all user available program flash memory and
                             the UICR page. Can be combined with the
                             --qspieraseall operation.
                             Limitations:
                             For nRF51 devices, if the device came from Nordic
                             with a pre-programmed SoftDevice, only the user
                             available code flash and UICR will be erased.

     --qspieraseall          Erases all the flash of the external memory device
                             with the help of the QSPI peripheral. Note that
                             depending on the external memory device's erase
                             speed the operation might take minutes. Can be
                             combined with the --eraseall operation.
                             Limitations:
                             For nRF51 devices, the operation is not available.
                             For nRF52 devices, the operation is not available
                             for devices without a QSPI peripheral.
                             For nRF52 devices, the operation is only available
                             for devices connected to an external memory
                             device. To determine if an external memory device
                             is connected, nrfjprog checks MemSize parameter
                             from the QspiDefault.ini file or the QSPI
                             configuration ini file that is given with the
                             --qspiini option.
                             For nRF91 devices, the operation is not available

     --eraseuicr             Erases the UICR page.
                             Limitations:
                             For nRF51 devices, the operation is available only
                             if the device came from Nordic with a
                             pre-programmed SoftDevice.
                             For nRF91 devices, the operation is not available
                             to erase uicr, please use --eraseall

     --erasepage <start[-end]>                      Erases the flash pages
                             starting at the flash page containing the start
                             address and ending at the page containing the end
                             address (not included in the erase). If end
                             address is not 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 given
                             with the --qspiini option.
                             Limitations:
                             For nRF51 devices, the page will not be erased if
                             it belongs to region 0.

     --program <hex_file> [--sectorerase | --chiperase | --sectoranduicrerase |
                              --recover] [--qspisectorerase | --qspichiperase]
                             Programs the specified image_file into the device.
                             Supported file formats are .hex, .ihex, .elf,
                             .axf, and .bin. A valid format must be specified
                             by the filename extension.
                             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 --recover,
                              --sectorerase, --sectoranduicrerase and
                              --chiperase. If --chiperase is given, all the
                             available user non-volatile memory, including
                             UICR, will be erased before programming. If
                             --recover is given, all the available user
                             non-volatile memory, including UICR, will
                             be erased before programming, even if the
                             device is readback protected.
                             If --sectorerase is given, only the targeted
                             non-volatile memory pages excluding UICR will
                             be erased. If --sectoranduicrerase is given,
                             only the targeted non-volatile memory pages
                             including UICR will be erased. Note that the
                             --sectoranduicrerase and --sectorerase
                             operations normally take significantly longer time
                             compared to --chiperase operation so use them with
                             caution. If your device is equipped witha 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 XIP region
                             is considered as address 0 of the external memory
                             device. To determine if an external memory device
                             is present, nrfjprog checks the MemSize paramter
                             from QspiDefault.ini file or from the QSPI
                             configuration ini file given with the --qspiini
                             option. 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 external memory device are --qspichiperase
                             and --qspisectorerase. If --qspichiperase is
                             given, the external memory device will be erased.
                             If the --qspisectorerase is given, only 4kB pages
                             pages from the targeted external memory device
                             will be erased. Note that --qspichiperase
                             operation may take several minutes. The --program
                             command can be combined with the --verify
                             operation. It can also be combined with either the
                             --reset, --debugreset, --hardreset and the
                             --pinreset operations. The reset
                             will occur after the flash operation in order to
                             start the execution.
                             Limitations:
                             For --hardreset limitations, see the usage
                             text for the respective command.
                             For nRF51 devices, the --sectoranduicrerase
                             operation is not available.
                             For nRF51 devices, if the image_file provided
                             contains sectors belonging to region 0, the
                             --program operation will fail.
                             For nRF51 devices, the --qspisectorerase and
                             --qspichiperase operations are not available.
                             For nRF52 devices, the --qspisectorerase and
                             --qspichiperase operations are not available
                             unless the device is equipped with a QSPI
                             peripheral and an external memory is connected. To
                             determine if an external memory is present, the
                             MemSize parameter from QspiDefault.ini file or
                             from the QSPI configuration ini file given with
                             the --qspiini option is evaluated.
                             For nRF91 devices, the --qspisectorerase and
                             --qspichiperase operations are not available.

     --memwr <addr> --val <val>                     Writes to the provided
                             address in memory with the 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
                             QspiDefault.ini file or 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>                     Writes to memory without
                             the help of the NVM Controller to the provided
                             address. If the target address is in non-volatile
                             memory, --ramwr will have no effect unless the
                             non-volatile memory controller (NVMC) has been
                             previously configured by the user for a write
                             operation. Can be combined with the --verify
                             operation.

     --verify [<image_file>] [--fast]                 The provided image_file
                             contents are compared with the contents in the
                             device code flash, RAM, UICR and XIP regions for
                             devices equipped with a QSPI peripheral connected
                             to an external memory device, and fail if there is
                             a mismatch.
                             Supported file formats are .hex, .ihex, .elf,
                             .axf, and .bin. A valid format must be specified
                             by the filename extension.
                             To determine if an external memory
                             device is present, nrfjprog checks MemSize
                             parameter from QspiDefault.ini file or from the
                             QSPI configuration ini file given with the
                             --qspiini option. If the optional --fast parameter
                             is given, nrfjprog will calculate a hash of the
                             flash target area using a sha256 algorithm and
                             compare it to the expected hash instead of
                             reading back the actual contents of the device's
                             flash in order to speed the operation. It can be
                             combined with the --program, --memwr and --ramwr
                             operations if provided without the image_file
                             parameter.
                             Limitations:
                             For nRF51 devices, the --fast verifying option
                             is not available
                             For nRF91 devices, the --fast verifying option
                             is not available.

     --memrd <addr> [--w <width>] [--n <n>]         Reads n bytes from the
                             provided address. If width is not given, 32-bit
                             words will be 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 will be 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, mrfjprog checks
                             the MemSize parameter from QspiDefault.ini file or
                             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.
                             Limitations:
                             A single --memrd instruction cannot be used to
                             read addresses from both the external memory
                             device and the nRF device.

     --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 <file>       Reads the device UICR and stores it in the given
                             file name. Can be combined with --readram,
                             --readcode and --readqspi. If combined, only one
                             instruction can provide a file name.
                             Supported output formats are .hex, .ihex, .elf,
                             .axf, and .bin. A valid format must be specified
                             by the filename extension.

     --readcode <file>       Reads the device flash and stores it in the given
                             file name. Can be combined with --readuicr,
                             --readram and --readqspi. If combined, only one
                             instruction can provide a file name.
                             Supported output formats are .hex, .ihex, .elf,
                             .axf, and .bin. A valid format must be specified
                             by the filename extension.

     --readram <file>        Reads the device ram and stores it in the given
                             file name. Can be combined with --readuicr,
                             --readcode and --readqspi. If combined, only one
                             instruction can provide a file name.
                             Supported output formats are .hex, .ihex, .elf,
                             .axf, and .bin. A valid format must be specified
                             by the filename extension.

     --readqspi <file>       Reads the QSPI-connected external memory and
                             stores it in the given file name. Can be combined
                             with --readuicr, --readcode and --readram. If
                             combined, only one instruction can provide a file
                             name.
                             Supported output formats are .hex, .ihex, .elf,
                             .axf, and .bin. A valid format must be specified
                             by the filename extension.

     --readregs [first_register] [second_register] Reads the cpu registers.
                             If no optional arguments are specified, all
                             CPU registers in the selected core are printed.
                             If optional argument first_register is specified
                             only that register is printed.
                             If both first_register and second_register is
                             specified the registers between and including
                             first_register and second_register are printed.

     --coprocessor <coprocessor>                    Connects the device to the
                             selected coprocessor. Valid arguments are
                             CP_APPLICATION and CP_NETWORK.
                             If --coprocessor option is not used,
                             CP_APPLICATION will be the target of the other
                             operation. Must be combined with another command.

新手必知

海量第三方学习资源.

超全常用工具与文档.

本站常用资源下载.

常见问题搜索.

QQ群: 542294007.

文章引用自:元仓库 OLIB.cn.