mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
126 lines
5.5 KiB
C
126 lines
5.5 KiB
C
/*
|
|
* Copyright (C) 2018 Mesotic SAS
|
|
*
|
|
*
|
|
* This file is subject to the terms and conditions of the GNU Lesser
|
|
* General Public License v2.1. See the file LICENSE in the top level
|
|
* directory for more details.
|
|
*/
|
|
|
|
/**
|
|
* @ingroup cpu_saml1x
|
|
* @{
|
|
*
|
|
* @file vectors.c
|
|
* @brief Startup code and interrupt vector definition
|
|
*
|
|
* @author Dylan Laduranty <dylan.laduranty@mesotic.com>
|
|
*
|
|
* @}
|
|
*/
|
|
|
|
#include <stdint.h>
|
|
#include "vectors_cortexm.h"
|
|
|
|
/* define a local dummy handler as it needs to be in the same compilation unit
|
|
* as the alias definition */
|
|
void dummy_handler(void) {
|
|
dummy_handler_default();
|
|
}
|
|
|
|
/* SAML1x specific interrupt vector */
|
|
WEAK_DEFAULT void isr_system(void);
|
|
WEAK_DEFAULT void isr_wdt(void);
|
|
WEAK_DEFAULT void isr_rtc(void);
|
|
WEAK_DEFAULT void isr_eic0(void);
|
|
WEAK_DEFAULT void isr_eic1(void);
|
|
WEAK_DEFAULT void isr_eic2(void);
|
|
WEAK_DEFAULT void isr_eic3(void);
|
|
WEAK_DEFAULT void isr_eic_other(void);
|
|
WEAK_DEFAULT void isr_freqm(void);
|
|
WEAK_DEFAULT void isr_nvmctrl(void);
|
|
WEAK_DEFAULT void isr_port(void);
|
|
WEAK_DEFAULT void isr_dmac0(void);
|
|
WEAK_DEFAULT void isr_dmac1(void);
|
|
WEAK_DEFAULT void isr_dmac2(void);
|
|
WEAK_DEFAULT void isr_dmac3(void);
|
|
WEAK_DEFAULT void isr_dmac_other(void);
|
|
WEAK_DEFAULT void isr_evsys0(void);
|
|
WEAK_DEFAULT void isr_evsys1(void);
|
|
WEAK_DEFAULT void isr_evsys2(void);
|
|
WEAK_DEFAULT void isr_evsys3(void);
|
|
WEAK_DEFAULT void isr_evsys_nschk(void);
|
|
WEAK_DEFAULT void isr_pac(void);
|
|
WEAK_DEFAULT void isr_sercom0_0(void);
|
|
WEAK_DEFAULT void isr_sercom0_1(void);
|
|
WEAK_DEFAULT void isr_sercom0_2(void);
|
|
WEAK_DEFAULT void isr_sercom0_other(void);
|
|
WEAK_DEFAULT void isr_sercom1_0(void);
|
|
WEAK_DEFAULT void isr_sercom1_1(void);
|
|
WEAK_DEFAULT void isr_sercom1_2(void);
|
|
WEAK_DEFAULT void isr_sercom1_other(void);
|
|
WEAK_DEFAULT void isr_sercom2_0(void);
|
|
WEAK_DEFAULT void isr_sercom2_1(void);
|
|
WEAK_DEFAULT void isr_sercom2_2(void);
|
|
WEAK_DEFAULT void isr_sercom2_other(void);
|
|
WEAK_DEFAULT void isr_tc0(void);
|
|
WEAK_DEFAULT void isr_tc1(void);
|
|
WEAK_DEFAULT void isr_tc2(void);
|
|
WEAK_DEFAULT void isr_adc_other(void);
|
|
WEAK_DEFAULT void isr_adc_resrdy(void);
|
|
WEAK_DEFAULT void isr_ac(void);
|
|
WEAK_DEFAULT void isr_dac_underrun_a(void);
|
|
WEAK_DEFAULT void isr_dac_empty(void);
|
|
WEAK_DEFAULT void isr_ptc(void);
|
|
WEAK_DEFAULT void isr_trng(void);
|
|
WEAK_DEFAULT void isr_tram(void);
|
|
|
|
/* CPU specific interrupt vector table */
|
|
ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = {
|
|
(void*) isr_system, /* 0 Main Clock */
|
|
(void*) isr_wdt, /* 1 Watchdog Timer */
|
|
(void*) isr_rtc, /* 2 Real-Time Counter */
|
|
(void*) isr_eic0, /* 3 External Interrupt Controller */
|
|
(void*) isr_eic1, /* 4 External Interrupt Controller */
|
|
(void*) isr_eic2, /* 5 External Interrupt Controller */
|
|
(void*) isr_eic3, /* 6 External Interrupt Controller */
|
|
(void*) isr_eic_other, /* 7 External Interrupt Controller */
|
|
(void*) isr_freqm, /* 8 Frequency Meter */
|
|
(void*) isr_nvmctrl, /* 9 Non-Volatile Memory Controller */
|
|
(void*) isr_port, /* 10 Port Module */
|
|
(void*) isr_dmac0, /* 11 Direct Memory Access Controller */
|
|
(void*) isr_dmac1, /* 12 Direct Memory Access Controller */
|
|
(void*) isr_dmac2, /* 13 Direct Memory Access Controller */
|
|
(void*) isr_dmac3, /* 14 Direct Memory Access Controller */
|
|
(void*) isr_dmac_other, /* 15 Direct Memory Access Controller */
|
|
(void*) isr_evsys0, /* 16 Event System Interface */
|
|
(void*) isr_evsys1, /* 17 Event System Interface */
|
|
(void*) isr_evsys2, /* 18 Event System Interface */
|
|
(void*) isr_evsys3, /* 19 Event System Interface */
|
|
(void*) isr_evsys_nschk, /* 20 Event System Interface */
|
|
(void*) isr_pac, /* 21 Peripheral Access Controller */
|
|
(void*) isr_sercom0_0, /* 22 Serial Communication Interface */
|
|
(void*) isr_sercom0_1, /* 23 Serial Communication Interface */
|
|
(void*) isr_sercom0_2, /* 24 Serial Communication Interface */
|
|
(void*) isr_sercom0_other, /* 25 Serial Communication Interface */
|
|
(void*) isr_sercom1_0, /* 26 Serial Communication Interface */
|
|
(void*) isr_sercom1_1, /* 27 Serial Communication Interface */
|
|
(void*) isr_sercom1_2, /* 28 Serial Communication Interface */
|
|
(void*) isr_sercom1_other, /* 29 Serial Communication Interface */
|
|
(void*) isr_sercom2_0, /* 30 Serial Communication Interface */
|
|
(void*) isr_sercom2_1, /* 31 Serial Communication Interface */
|
|
(void*) isr_sercom2_2, /* 32 Serial Communication Interface */
|
|
(void*) isr_sercom2_other, /* 33 Serial Communication Interface */
|
|
(void*) isr_tc0, /* 34 Basic Timer Counter */
|
|
(void*) isr_tc1, /* 35 Basic Timer Counter */
|
|
(void*) isr_tc2, /* 36 Basic Timer Counter */
|
|
(void*) isr_adc_other, /* 37 Analog Digital Converter */
|
|
(void*) isr_adc_resrdy, /* 38 Analog Digital Converter */
|
|
(void*) isr_ac, /* 39 Analog Comparators */
|
|
(void*) isr_dac_underrun_a, /* 40 Digital Analog Converter */
|
|
(void*) isr_dac_empty, /* 41 Analog Digital Converter */
|
|
(void*) isr_ptc, /* 42 Peripheral Touch Controller */
|
|
(void*) isr_trng, /* 43 True Random Number Generator */
|
|
(void*) isr_tram, /* 44 Trust RAM */
|
|
};
|