summaryrefslogtreecommitdiffstats
path: root/vectors.s
blob: 794d1942e723c735b95b518ba62522005319d81c (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
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/*
 * vectors.s -- fmk interrupt vector table
 *
 * Copyright (C) 2016-2017 Tomasz Kramkowski <tk@the-tk.com>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
.syntax unified

.section ".vectors"
// ARM Core System Handler Vectors
.long _estack //   0 ARM: Initial Stack Pointer
.long _start  //   1 ARM: Initial Program Counter
.long _halt   //   2 ARM: Non-maskable Interrupt (NMI)
.long _halt   //   3 ARM: Hard Fault
.long _halt   //   4 ARM: MemManage Fault
.long _halt   //   5 ARM: Bus Fault
.long _halt   //   6 ARM: Usage Fault
.fill 4,4,0   //   7..10
.long 0       //  11 ARM: Supervisor call (SVCall)
.long 0       //  12 ARM: Debug Monitor
.long 0       //  13 -
.long 0       //  14 ARM: Pendable request for system service (PendableSrvReq)
.long 0       //  15 ARM: System tick timer (SysTick)

// Non-Core Vectors
.long 0       //  16 DMA: DMA channel 0 transfer complete
.long 0       //  17 DMA: DMA channel 1 transfer complete
.long 0       //  18 DMA: DMA channel 2 transfer complete
.long 0       //  19 DMA: DMA channel 3 transfer complete
.long 0       //  20 DMA: DMA channel 4 transfer complete
.long 0       //  21 DMA: DMA channel 5 transfer complete
.long 0       //  22 DMA: DMA channel 6 transfer complete
.long 0       //  23 DMA: DMA channel 7 transfer complete
.long 0       //  24 DMA: DMA channel 8 transfer complete
.long 0       //  25 DMA: DMA channel 9 transfer complete
.long 0       //  26 DMA: DMA channel 10 transfer complete
.long 0       //  27 DMA: DMA channel 11 transfer complete
.long 0       //  28 DMA: DMA channel 12 transfer complete
.long 0       //  29 DMA: DMA channel 13 transfer complete
.long 0       //  30 DMA: DMA channel 14 transfer complete
.long 0       //  31 DMA: DMA channel 15 transfer complete
.long 0       //  32 DMA: DMA error interrupt channels 0-15
.long 0       //  33 -
.long 0       //  34 Flash_memory: Command complete
.long 0       //  35 Flash_memory: Read collision
.long 0       //  36 Mode_Controller: Low-voltage detect, low-voltage warning
.long 0       //  37 LLWU: Low Leakage Wakeup
.long 0       //  38 WDOG or EWM: Both watchdog modules share this interrupt.
.long 0       //  39 -
.long 0       //  40 I2C0: -
.long 0       //  41 I2C1: -
.long 0       //  42 SPI0: Single interrupt vector for all sources
.long 0       //  43 SPI1: Single interrupt vector for all sources
.long 0       //  44 -
.long 0       //  45 CAN0: OR'ed Message buffer (0-15)
.long 0       //  46 CAN0: Bus Off
.long 0       //  47 CAN0: Error
.long 0       //  48 CAN0: Transmit Warning
.long 0       //  49 CAN0: Receive Warning
.long 0       //  50 CAN0: Wake Up Transmit
.long 0       //  51 I2S0: Transmit
.long 0       //  52 I2S0: Receive
.fill 7,4,0   //  53..59 -
.long 0       //  60 UART0: Single interrupt vector for UART LON sources
.long uart0_isr //  61 UART0: Single interrupt vector for UART status sources
.long 0       //  62 UART0: Single interrupt vector for UART error sources
.long 0       //  63 UART1: Single interrupt vector for UART status sources
.long 0       //  64 UART1: Single interrupt vector for UART error sources
.long 0       //  65 UART2: Single interrupt vector for UART status sources
.long 0       //  66 UART2: Single interrupt vector for UART error sources
.fill 6,4,0   //  67..72 -
.long 0       //  73 ADC0: -
.long 0       //  74 ADC1: -
.long 0       //  75 CMP0: -
.long 0       //  76 CMP1: -
.long 0       //  77 CMP2: -
.long 0       //  78 FTM0: Single interrupt vector for all sources
.long 0       //  79 FTM1: Single interrupt vector for all sources
.long 0       //  80 FTM2: Single interrupt vector for all sources
.long 0       //  81 CMT: -
.long 0       //  82 RTC: Alarm interrupt
.long 0       //  83 RTC: Seconds interrupt
.long 0       //  84 PIT: Channel 0
.long 0       //  85 PIT: Channel 1
.long 0       //  86 PIT: Channel 2
.long 0       //  87 PIT: Channel 3
.long 0       //  88 PDB: -
.long usb_isr //  89 USBOTG: -
.long 0       //  90 USB_Charger_Detect: -
.fill 6,4,0   //  91..96
.long 0       //  97 DAC0: -
.long 0       //  98 -
.long 0       //  99 TSI: Single interrupt vector for all sources
.long 0       //  100 MCG: -
.long 0       //  101 LPT: -
.long 0       //  102 -
.long 0       //  103 Port_control_module: Pin detect (Port A)
.long 0       //  104 Port_control_module: Pin detect (Port B)
.long 0       //  105 Port_control_module: Pin detect (Port C)
.long 0       //  106 Port_control_module: Pin detect (Port D)
.long 0       //  107 Port_control_module: Pin detect (Port E)
.long 0       //  108 -
.long 0       //  109 -
.long 0       //  110 Software: Software interrupt 4