1 /*----------------------------------------------------------------------------
3 *----------------------------------------------------------------------------*/
5 /* Includes ------------------------------------------------------------------*/
10 #include "RTE_Components.h"
11 #include CMSIS_device_header
13 #ifdef RTE_Compiler_EventRecorder
14 #include "EventRecorder.h"
18 #include "CV_Report.h"
20 //lint -e970 allow using int for main
22 /* Private functions ---------------------------------------------------------*/
33 // System Initialization
34 SystemCoreClockUpdate();
35 #ifdef RTE_Compiler_EventRecorder
36 // Initialize and start Event Recorder
37 (void)EventRecorderInitialize(EventRecordError, 1U);
38 (void)EventRecorderEnable (EventRecordAll, 0xFEU, 0xFEU);
50 #if defined(__CORTEX_A)
53 #if (defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) || \
54 (defined ( __GNUC__ ))
55 #define __IRQ __attribute__((interrupt("IRQ")))
56 #elif defined ( __CC_ARM )
58 #elif defined ( __ICCARM__ )
59 #define __IRQ __irq __arm
61 #error "Unsupported compiler!"
65 void IRQ_Handler(void) {
66 const IRQn_ID_t irqn = IRQ_GetActiveIRQ();
67 IRQHandler_t const handler = IRQ_GetHandler(irqn);
68 if (handler != NULL) {
73 IRQ_EndOfInterrupt(irqn);
77 void Undef_Handler (void) {
78 cmsis_cv_abort(__FILENAME__, __LINE__, "Undefined Instruction!");
83 void SVC_Handler (void) {
87 void PAbt_Handler (void) {
88 cmsis_cv_abort(__FILENAME__, __LINE__, "Prefetch Abort!");
93 void DAbt_Handler (void) {
94 cmsis_cv_abort(__FILENAME__, __LINE__, "Data Abort!");
99 void FIQ_Handler (void) {
103 #if defined(__CORTEX_M)
105 extern void HardFault_Handler(void);
106 void HardFault_Handler(void) {
107 cmsis_cv_abort(__FILENAME__, __LINE__, "HardFault!");