diff options
| author | Michal Hanus <mikehanus@protonmail.com> | 2025-04-19 22:50:44 +0200 |
|---|---|---|
| committer | Michal Hanus <mikehanus@protonmail.com> | 2025-04-19 22:50:44 +0200 |
| commit | 9078b7ec09b135f091cb951ed234bf013c9c838e (patch) | |
| tree | ba953e144c2dd42d327a83720cdfc9fb5bb9fe34 /nrfdemo/build/tfm/api_ns/platform/include/exception_info.h | |
| parent | 2e13c372f1419f08dab7797b244681f889dd9bcf (diff) | |
bme680 added
Diffstat (limited to 'nrfdemo/build/tfm/api_ns/platform/include/exception_info.h')
| -rw-r--r-- | nrfdemo/build/tfm/api_ns/platform/include/exception_info.h | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/nrfdemo/build/tfm/api_ns/platform/include/exception_info.h b/nrfdemo/build/tfm/api_ns/platform/include/exception_info.h deleted file mode 100644 index 9502008..0000000 --- a/nrfdemo/build/tfm/api_ns/platform/include/exception_info.h +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (c) 2021, Nordic Semiconductor ASA. All rights reserved. - * Copyright (c) 2023, Arm Limited. All rights reserved. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef __EXCEPTION_INFO_H__ -#define __EXCEPTION_INFO_H__ - -#include <stdint.h> - -#if defined(__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) -#define TRUSTZONE_PRESENT -#endif - -#if defined(__ARM_ARCH_8_1M_MAIN__) || defined(__ARM_ARCH_8M_MAIN__) \ - || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) -#define FAULT_STATUS_PRESENT -#endif - -/* Exception type number (subtract 16 for IRQn) */ -#define EXCEPTION_TYPE_HARDFAULT 3 -#define EXCEPTION_TYPE_MEMMANAGEFAULT 4 -#define EXCEPTION_TYPE_BUSFAULT 5 -#define EXCEPTION_TYPE_USAGEFAULT 6 -#define EXCEPTION_TYPE_SECUREFAULT 7 - -/* Store context for an exception, and print an error message with the context. - * - * @param[in] exception_type One of the EXCEPTION_TYPE_* values defined above. Any - * other value will result in printing "Unknown". - */ -#ifdef TFM_EXCEPTION_INFO_DUMP - -struct exception_info_t { - uint32_t VECTACTIVE; /* Active exception number. */ - uint32_t EXC_RETURN; /* EXC_RETURN value in LR. */ - uint32_t MSP; /* (Secure) MSP. */ - uint32_t PSP; /* (Secure) PSP. */ - uint32_t *EXC_FRAME; /* Exception frame on stack. */ - uint32_t EXC_FRAME_COPY[8]; /* Copy of the basic exception frame. */ - uint32_t CALLEE_SAVED_COPY[8]; /* Copy of the callee saved registers. */ - uint32_t xPSR; /* Program Status Registers. */ - -#ifdef FAULT_STATUS_PRESENT - uint32_t CFSR; /* Configurable Fault Status Register. */ - uint32_t HFSR; /* Hard Fault Status Register. */ - uint32_t BFAR; /* Bus Fault address register. */ - uint32_t BFARVALID; /* Whether BFAR contains a valid address. */ - uint32_t MMFAR; /* MemManage Fault address register. */ - uint32_t MMARVALID; /* Whether MMFAR contains a valid address. */ -#ifdef TRUSTZONE_PRESENT - uint32_t SFSR; /* SecureFault Status Register. */ - uint32_t SFAR; /* SecureFault Address Register. */ - uint32_t SFARVALID; /* Whether SFAR contains a valid address. */ -#endif -#endif -}; - -/** - * \brief Get a pointer to the current exception_info_t context - * - * \return A pointer to the exception_info_t context or NULL if no context - * has been stored - */ -void tfm_exception_info_get_context(struct exception_info_t *ctx); - -/* Store context for an exception, then print the info. - * Call EXCEPTION_INFO() instead of calling this directly. - */ -void store_and_dump_context(uint32_t MSP_in, uint32_t PSP_in, uint32_t LR_in, - uint32_t *callee_saved); - -/* IAR Specific */ -#if defined(__ICCARM__) -#pragma required = store_and_dump_context -#endif - -#if defined(__ARM_ARCH_8M_BASE__) || defined(__ARCM_ARCH_V6_M__) -#define EXCEPTION_INFO() \ - __ASM volatile( \ - "MRS R0, MSP\n" \ - "MRS R1, PSP\n" \ - "MOV R2, R11\n" \ - "MOV R3, R10\n" \ - "PUSH {R2, R3}\n" \ - "MOV R2, R9\n" \ - "MOV R3, R8\n" \ - "PUSH {R2, R3}\n" \ - "PUSH {R4-R7}\n" \ - "MOV R3, SP\n" \ - "MOV R2, LR\n" \ - "BL store_and_dump_context\n" \ - "ADD SP, #32\n" \ - ) -#elif defined(__ARM_ARCH_8M_MAIN__) || defined(__ARM_ARCH_8_1M_MAIN__) || \ - defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) -#define EXCEPTION_INFO() \ - __ASM volatile( \ - "MRS R0, MSP\n" \ - "MRS R1, PSP\n" \ - "PUSH {R4-R11}\n" \ - "MOV R3, SP\n" \ - "MOV R2, LR\n" \ - "BL store_and_dump_context\n" \ - "ADD SP, #32\n" \ - ) -#else -/* Unhandled arch, call store_and_dump_context with callee_saved = NULL */ -#define EXCEPTION_INFO() \ - __ASM volatile( \ - "MRS R0, MSP\n" \ - "MRS R1, PSP\n" \ - "MOV R2, LR\n" \ - "MOV R3, #0\n" \ - "BL store_and_dump_context\n" \ - ) -#endif - -#else /* TFM_EXCEPTION_INFO_DUMP */ -#define EXCEPTION_INFO() -#endif /* TFM_EXCEPTION_INFO_DUMP */ - -#endif /* __EXCEPTION_INFO_H__ */ |
