v2.3.0 of the sdk-nrf included this commit that checks for the alignment of the TF-M Non Secure partition (which hosts the `app` one) with CONFIG_NRF_SPU_FLASH_REGION_SIZE .
#define IS_ALIGNED_POW2(value, align) (((value) & ((align) - 1)) == 0)
#if !(IS_ALIGNED_POW2(PM_TFM_NONSECURE_ADDRESS, CONFIG_NRF_SPU_FLASH_REGION_SIZE))
#error "TF-M non-secure address start is not aligned on SPU region size"
#endif
For stock/most cases (eg. hello_world code), the assertion holds and the project compiles.
The problem arouses when the partition_manager.py script outputs a layout solution in which the resulting PM_TFM_NONSECURE_ADDRESS becomes non-aligned. This has been my experience with the current project that I'm working on.
To temporarily mitigate this, I ended up taking out the alignment assertion check altogether.
Is this a safe thing to do or is there any other better solution to this?
Thank you,
V