nRF Connect SDK

Difference from "vanilla" Zephyr

References to the Zephyr guide and hints for partition configuration.

Because nRF Connect SDK is based on Zephyr, the following pages in the Zephyr guide apply to nRF Connect SDK as well:

There is only one difference you should be aware of when customizing partitions for core dumps:

Core dump partition configuration

Although nRF Connect SDK uses Partition Manager to compute flash partitions, the Zephyr core dump module also requires the core dump partition to be defined in the devicetree. Therefore, you need to add the core dump partition both to the Partition Manager configuration and to the devicetree.

For example, add the following file to the root of your project when building for nRF7002DK without TF-M:

pm_static_nrf7002dk_nrf5340_cpuapp.yml
app:
  address: 0x0
  end_address: 0xec000
  region: flash_primary
  size: 0xec000
coredump_partition:
  address: 0xf0000
  end_address: 0x100000
  region: flash_primary
  size: 0x10000
settings_storage:
  address: 0xec000
  end_address: 0xf0000
  region: flash_primary
  size: 0x4000

Then, add the following devicetree overlay:

boards/nrf7002dk_nrf5340_cpuapp.overlay
/delete-node/ &storage_partition;
/delete-node/ &tfm_ps_partition;
/delete-node/ &tfm_its_partition;
/delete-node/ &tfm_otp_partition;

&flash0 {
	partitions {
		/* Reserve last 64 KiB of flash for core dumps */
		coredump_partition: partition@f0000 {
			label = "coredump-partition";
			reg = <0x000f0000 DT_SIZE_K(64)>;
		};
	};
};
Note that only the core dump partition is defined in the devicetree overlay. It's sufficient to define other partitions (such as storage partition) only in the Partition Manager configuration.

Ensure that the address and size of the core dump partition in the devicetree overlay and in the Partition Manager configuration match. Check our core dump sample on GitHub, for example, to see the Partition Manager configuration for nRF7002DK with TF-M.

How is this guide?