App provisioning data

I want to create a partition in flash to store provisioning data for my application (default configuration, device configuration) so that it can be easily modified without needing to distribute multiple firmware images (for example, for OEM customers). So it seems to be quite similar to the fast pair provision data in requirements, which has its own flash partition defined in pm_static.yml.

I was looking at how fast pair provision hex generation works, and fast_pair_hex.cmake is included directly from nrf/sysbuild/CMakeLists.txt. This uses the expression $<TARGET_PROPERTY:partition_manager,PM_BT_FAST_PAIR_ADDRESS> to obtain the partition address. The partition_manager target is a sysbuild target and is not available when my app's CMake script runs. So how should my application obtain the partition address without needing to modify the SDK to include my custom hex cmake script? Can I somehow include my cmake script in the sysbuild cmake execution?

Parents
  • Hi nrbrook,

    I am not an expert on the CMake side, but I wonder a little bit about the part where you say Sysbuild CMake isn't part of your application build CMake. Sysbuild is a part of the process by default.

    I am not sure if there is any hook in Sysbuild that you can use. However, the Partition Manager will compile the partitions into a partitions.yml file in your build directory, that you can get the addresses of the partition from.

    Does this work for you?

    Hieu

Reply
  • Hi nrbrook,

    I am not an expert on the CMake side, but I wonder a little bit about the part where you say Sysbuild CMake isn't part of your application build CMake. Sysbuild is a part of the process by default.

    I am not sure if there is any hook in Sysbuild that you can use. However, the Partition Manager will compile the partitions into a partitions.yml file in your build directory, that you can get the addresses of the partition from.

    Does this work for you?

    Hieu

Children
Related