diff options
| author | Michal Hanus <mikehanus@protonmail.com> | 2025-04-14 22:04:32 +0200 |
|---|---|---|
| committer | Michal Hanus <mikehanus@protonmail.com> | 2025-04-14 22:04:32 +0200 |
| commit | 2e13c372f1419f08dab7797b244681f889dd9bcf (patch) | |
| tree | 995a31c40f13068c4135c213e938e0a2a9ed05a3 /nrfdemo/build/tfm/api_ns/platform/common/assert.c | |
| parent | 620dfd94019f3c7e3022fa5a5fb9c9b51491062d (diff) | |
nrfdemo
Diffstat (limited to 'nrfdemo/build/tfm/api_ns/platform/common/assert.c')
| -rw-r--r-- | nrfdemo/build/tfm/api_ns/platform/common/assert.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/nrfdemo/build/tfm/api_ns/platform/common/assert.c b/nrfdemo/build/tfm/api_ns/platform/common/assert.c new file mode 100644 index 0000000..2a2dacf --- /dev/null +++ b/nrfdemo/build/tfm/api_ns/platform/common/assert.c @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2023 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +#include <pm_config.h> +#include "autoconf.h" +#include "region_defs.h" +#include "utilities.h" + +#define IS_ALIGNED_POW2(value, align) (((value) & ((align)-1)) == 0) + +/* Making sure the borders between secure and non-secure regions are + * aligned with the SPU regions + */ +#if !(IS_ALIGNED_POW2(PM_TFM_NONSECURE_ADDRESS, CONFIG_NRF_SPU_FLASH_REGION_ALIGNMENT)) +#pragma message \ + "\n\n!!!Partition alignment error!!!" \ + "\nThe non-secure start address in pm_static.yml" \ + " or generated partition.yml is: " \ + M2S(PM_TFM_NONSECURE_ADDRESS) \ + "\nwhich is not aligned with the SPU HW requirements." \ + "\nRefer to the documentation section 'TF-M partition alignment requirements'" \ + "\nfor more information.\n\n" + +#error "TF-M non-secure start address is not aligned to SPU HW requirements" +#endif + +#if !(IS_ALIGNED_POW2(PM_SRAM_NONSECURE_ADDRESS, CONFIG_NRF_SPU_RAM_REGION_ALIGNMENT)) +#error "SRAM non-secure address is not aligned to SPU HW requirements" +#endif |
