blob: d916db09ef655923239d2dd9c2f21fb34144f21b (
plain) (
blame)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
#pragma once
#include <stdint.h>
/* Type def to a void function to make things mor ereadable. */
typedef void (*isr_routine)(void);
typedef struct {
// What NULL points to. nothing useful.
uint32_t reserved__;
// Called when the device boots or reset is pressed.
isr_routine reset_cb;
isr_routine nmi_cb;
isr_routine exc_cb;
uint32_t _reserved_1[8];
isr_routine systick_cb;
uint32_t _reserved_2;
isr_routine swi_cb;
uint32_t _reserved_3;
isr_routine tmr0_cb;
isr_routine gpio_a_cb;
isr_routine gpio_b_cb;
isr_routine spi0_cb;
isr_routine blel_cb;
isr_routine bleb_cb;
isr_routine usb_cb;
uint32_t _reserved_4;
isr_routine tmr1_cb;
isr_routine tmr2_cb;
isr_routine uart0_cb;
isr_routine uart1_cb;
isr_routine rtc_cb;
isr_routine adc_cb;
uint32_t _reserved_5;
isr_routine pwmx_cb;
isr_routine tmr3_cb;
isr_routine uart2_cb;
isr_routine uart3_cb;
isr_routine wdog_bat_cb;
} isr_vector_t;
/** Reference to the global ISR vector. */
extern isr_vector_t isr_vector;
/** Default IRQ handler. This is weakly defined and can be overridden. */
void default_irq_handler(void);
/** Weakly defined interrput service routine vectors. These just alias to
* default_irq_handler if not overridden. */
void irq_on_nmi(void);
void irq_on_exc(void);
void irq_on_systick(void);
void irq_on_swi(void);
void irq_on_tmr0(void);
void irq_on_gpio_a(void);
void irq_on_gpio_b(void);
void irq_on_spi0(void);
void irq_on_blel(void);
void irq_on_bleb(void);
void irq_on_usb(void);
void irq_on_tmr1(void);
void irq_on_tmr2(void);
void irq_on_uart0(void);
void irq_on_uart1(void);
void irq_on_rtc(void);
void irq_on_adc(void);
void irq_on_pwmx(void);
void irq_on_tmr3(void);
void irq_on_uart2(void);
void irq_on_uart3(void);
void irq_on_wdog_bat(void);
|