9 #include "tfm_hal_device_header.h"
12 #if !defined(__ARM_ARCH_6M__) && !defined(__ARM_ARCH_7M__) && \
13 !defined(__ARM_ARCH_7EM__)
14 #error "Unsupported ARM Architecture."
47 #if defined(__ICCARM__)
49 #pragma required = tfm_pendsv_do_schedule
64 "BL tfm_pendsv_do_schedule \n"
79 uint32_t sp, uint32_t sp_limit)
87 #if defined(__ICCARM__)
89 #pragma required = tfm_core_svc_handler
105 "BL tfm_core_svc_handler \n"
113 #if defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__)
117 __ASM
volatile(
"b .");
119 #elif defined(__ARM_ARCH_6M__)
126 __ASM
volatile(
"b .");
133 __ASM
volatile(
"b .");
138 __ASM
volatile(
"b .");
143 __ASM
volatile(
"b .");
149 #if defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__)
150 NVIC_SetPriority(MemoryManagement_IRQn, 0);
151 NVIC_SetPriority(BusFault_IRQn, 0);
154 NVIC_SetPriority(SVCall_IRQn, 0);
155 NVIC_SetPriority(PendSV_IRQn, (1 << __NVIC_PRIO_BITS) - 1);
161 #ifndef __ARM_ARCH_6M__
162 #if defined (__FPU_USED) && (__FPU_USED == 1U)
166 SCB->CPACR |= (3U << 10U*2U)
173 #ifndef __ARM_ARCH_6M__
void tfm_arch_init_actx(struct tfm_arch_ctx_t *p_actx, uint32_t sp, uint32_t sp_limit)
void HardFault_Handler(void)
void tfm_arch_set_secure_exception_priorities(void)
void BusFault_Handler(void)
#define EXC_RETURN_THREAD_S_PSP
void tfm_pendsv_do_schedule(struct tfm_arch_ctx_t *p_actx)
void PendSV_Handler(void)
void MemManage_Handler(void)
Overwrites default Hard fault handler.
void tfm_arch_configure_coprocessors(void)
Configure coprocessors.
uint32_t tfm_core_svc_handler(uint32_t *svc_args, uint32_t lr, uint32_t *msp)
void UsageFault_Handler(void)
void tfm_arch_clear_fp_status(void)
uint32_t SVCHandler_main(uint32_t *svc_args, uint32_t lr)