From 2e13c372f1419f08dab7797b244681f889dd9bcf Mon Sep 17 00:00:00 2001 From: Michal Hanus Date: Mon, 14 Apr 2025 22:04:32 +0200 Subject: nrfdemo --- nrfdemo/build/tfm/api_ns/platform/common/assert.c | 32 +++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 nrfdemo/build/tfm/api_ns/platform/common/assert.c (limited to 'nrfdemo/build/tfm/api_ns/platform/common/assert.c') 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 +#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 -- cgit v1.2.3