aboutsummaryrefslogtreecommitdiff
path: root/interrupts.c
blob: 6952f893abdf600f8bc9f0b0b3eba4cfca20ee57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "uart.h"
/**
    @brief The undefined instruction interrupt handler

    If an undefined instruction is encountered, the CPU will start
    executing this function. Just trap here as a debug solution.
*/
void
__attribute__((interrupt("UNDEF")))
__attribute__((section(".interrupts.text")))
undefined_instruction_vector(void)
{
    uart_puts("Undefined instruction occured");
    while( 1 )
    {
        /* Do Nothing! */
    }
}

void __attribute__((section(".interrupts.data")))
(*system_reentry_point) (void);

void
__attribute__((interrupt("ABORT")))
__attribute__((section(".interrupts.text")))
abort_handler(void)
{
  system_reentry_point();
}