Files
microchip-application-pec93…/Drivers/PEC930/Device/src/interrupt.c
T

120 lines
4.1 KiB
C

/**
* Copyright (c) 2024 Wei-Lun Hsu. All Rights Reserved.
*/
/** @file interrupt.c
*
* @author Wei-Lun Hsu
* @version 0.1
* @date 2024/08/29
* @license
* @description
*/
#include "device.h"
//=============================================================================
// Constant Definition
//=============================================================================
//=============================================================================
// Macro Definition
//=============================================================================
//=============================================================================
// Structure Definition
//=============================================================================
//=============================================================================
// Global Data Definition
//=============================================================================
extern void default_handler(void);
//=============================================================================
// Private Function Definition
//=============================================================================
/**
* \brief System Timer ISR
*
* \return None
*/
void eclic_mtim_handler(void)
{
g_SysTicks++;
// Reload Timer Interrupt
SysTick_Reload(g_SysTickPeriod);
return;
}
/**
* \brief System Software ISR
*
* \return None
*/
__INTERRUPT void eclic_mswi_handler(void)
{
SAVE_IRQ_CSR_CONTEXT();
sys_clear_swi();
sys_clear_IRQFlag(SysSW_IRQn);
RESTORE_IRQ_CSR_CONTEXT();
return;
}
__INTERRUPT void eclic_bwei_handler(void)
{
return;
}
__INTERRUPT void eclic_pmovi_handler(void)
{
return;
}
//=============================================================================
// Public Function Definition
//=============================================================================
/**
* irq vector table
*/
const fp_isr_t __Vectors[__ECLIC_INTNUM] __USED __attribute__((section (".mintvec"))) =
{
(fp_isr_t)0, /* 0: Reserved */
default_handler, /* 1: Reserved */
default_handler, /* 2: Reserved */
eclic_mswi_handler, /* 3: Machine software interrupt */
default_handler, /* 4: Reserved */
default_handler, /* 5: Reserved */
default_handler, /* 6: Reserved */
eclic_mtim_handler, /* 7: Machine timer interrupt */
default_handler, /* 8: Reserved */
default_handler, /* 9: Reserved */
default_handler, /* 10: Reserved */
default_handler, /* 11: Reserved */
default_handler, /* 12: Reserved */
default_handler, /* 13: Reserved */
default_handler, /* 14: Reserved */
default_handler, /* 15: Reserved */
default_handler, /* 16: Reserved */
eclic_bwei_handler, /* 17: Bus Error interrupt */
eclic_pmovi_handler, /* 18: Performance Monitor */
/*========= external interrupt ================*/
default_handler, /* 19: ext_irq Reserved */
default_handler, /* 20: ext_irq Reserved */
default_handler, /* 21: ext_irq Reserved */
default_handler, /* 22: ext_irq Reserved */
default_handler, /* 23: ext_irq Reserved */
default_handler, /* 24: ext_irq Reserved */
default_handler, /* 25: ext_irq Reserved */
default_handler, /* 26: ext_irq Reserved */
default_handler, /* 27: ext_irq Reserved */
default_handler, /* 28: ext_irq Reserved */
default_handler, /* 29: ext_irq Reserved */
default_handler, /* 30: ext_irq Reserved */
default_handler, /* 31: ext_irq Reserved */
default_handler, /* 32: ext_irq Reserved */
default_handler, /* 33: ext_irq Reserved */
};