Hi, I recently started using nrfutil with the deprecation of nRF Command Line Tools. In one of the recent updates the change log lists:
2025-03-24: Version 2.8.4 Added:
Enabled experimental support for external flash programming, and added experimental flag --x-ext-mem-config-file for setting external memory configuration. The config file format remains unstable for now.
Looking at the help page it states it want a json config file. However, I am unable to find any reference to an example or syntax of this config file. As far as I can tell the source code for nrfutil is not available online so I can't llook at the code to see what it expects.
--x-ext-mem-config-file <PATH>
(Experimental) Path to external memory firmware config file. The format follows a json format which depends on which peripheral is used for accessing the external memory connected to the micro controller.
I am aware a lot of the features in nrfutil are still experimental and the file format is subject to change, but any reference for how to configure this feature in nrfutil would be greatly appreciated.
I would imagine it would be similar to the TOML config files used by nrfjprog although this did not have a lot of documentation either as far as I can tell.
[qspi]
mem_size = 8388608
spi_mode = "MODE0"
read_mode = "READ4IO"
write_mode = "PP4IO"
rx_delay = 2
page_program_size = "PAGE256"
address_mode = "BIT24"
frequency = "M16"
wip_index = 0
retain_ram = true
[qspi.csn]
pin = 17
port = 0
[qspi.sck]
delay = 128
pin = 19
port = 0
[qspi.dio0]
pin = 20
port = 0
[qspi.dio1]
pin = 21
port = 0
[qspi.dio2]
pin = 22
port = 0
[qspi.dio3]
pin = 23
port = 0
[qspi.custom]
io2_level = "LEVEL_LOW"
io3_level = "LEVEL_HIGH"
[[qspi.custom.instructions]]
command = 6
data = []
[[qspi.custom.instructions]]
command = 1
data = [64,0,2,]