1 /*----------------------------------------------------------------------------
3 *----------------------------------------------------------------------------*/
8 #include "RTE_Components.h"
9 #include CMSIS_device_header
11 #ifdef RTE_Compiler_EventRecorder
12 #include "EventRecorder.h"
16 #include "CV_Report.h"
18 //lint -e970 allow using int for main
23 // System Initialization
24 SystemCoreClockUpdate();
26 #ifdef RTE_Compiler_EventRecorder
27 // Initialize and start Event Recorder
28 (void)EventRecorderInitialize(EventRecordError, 1U);
29 (void)EventRecorderEnable(EventRecordAll, 0xFEU, 0xFEU);
41 #if defined(__CORTEX_A)
44 #if (defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) || \
45 (defined ( __GNUC__ ))
46 #define __IRQ __attribute__((interrupt("IRQ")))
47 #elif defined ( __CC_ARM )
49 #elif defined ( __ICCARM__ )
50 #define __IRQ __irq __arm
52 #error "Unsupported compiler!"
57 void IRQ_Handler(void);
59 void IRQ_Handler(void) {
60 const IRQn_ID_t irqn = IRQ_GetActiveIRQ();
61 IRQHandler_t const handler = IRQ_GetHandler(irqn);
62 if (handler != NULL) {
67 IRQ_EndOfInterrupt(irqn);
71 void Undef_Handler (void);
73 void Undef_Handler (void) {
74 cmsis_cv_abort(__FILENAME__, __LINE__, "Undefined Instruction!");
79 void SVC_Handler (void);
81 void SVC_Handler (void) {
85 void PAbt_Handler (void);
87 void PAbt_Handler (void) {
88 cmsis_cv_abort(__FILENAME__, __LINE__, "Prefetch Abort!");
93 void DAbt_Handler (void);
95 void DAbt_Handler (void) {
96 cmsis_cv_abort(__FILENAME__, __LINE__, "Data Abort!");
101 void FIQ_Handler (void);
103 void FIQ_Handler (void) {
107 #if defined(__CORTEX_M)
109 void HardFault_Handler(void);
111 void HardFault_Handler(void) {
112 cmsis_cv_abort(__FILENAME__, __LINE__, "HardFault!");