1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /*
- LUFA Library
- Copyright (C) Dean Camera, 2018.
- dean [at] fourwalledcubicle [dot] com
- www.lufa-lib.org
- */
- /*
- Copyright 2018 Dean Camera (dean [at] fourwalledcubicle [dot] com)
- Permission to use, copy, modify, distribute, and sell this
- software and its documentation for any purpose is hereby granted
- without fee, provided that the above copyright notice appear in
- all copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
- The author disclaims all warranties with regard to this
- software, including all implied warranties of merchantability
- and fitness. In no event shall the author be liable for any
- special, indirect or consequential damages or any damages
- whatsoever resulting from loss of use, data or profits, whether
- in an action of contract, negligence or other tortious action,
- arising out of or in connection with the use or performance of
- this software.
- */
- #include "../../Common/Common.h"
- #if (ARCH == ARCH_UC3)
- #define __INCLUDE_FROM_INTMANAGEMENT_C
- #include "InterruptManagement.h"
- /** Interrupt vector table, containing the ISR to call for each interrupt group */
- InterruptHandlerPtr_t InterruptHandlers[AVR32_INTC_NUM_INT_GRPS];
- /** ISR for unhandled interrupt groups */
- ISR(Unhandled_Interrupt)
- {
- for (;;);
- }
- InterruptHandlerPtr_t INTC_GetInterruptHandler(const uint_reg_t InterruptLevel)
- {
- return InterruptHandlers[AVR32_INTC.icr[AVR32_INTC_INT3 - InterruptLevel]];
- }
- void INTC_Init(void)
- {
- for (uint8_t InterruptGroup = 0; InterruptGroup < AVR32_INTC_NUM_INT_GRPS; InterruptGroup++)
- {
- InterruptHandlers[InterruptGroup] = Unhandled_Interrupt;
- AVR32_INTC.ipr[InterruptGroup] = Autovector_Table[AVR32_INTC_INT0];
- }
- __builtin_mtsr(AVR32_EVBA, (uintptr_t)&EVBA_Table);
- }
- #endif
|