/** ###################################################################
**     THIS COMPONENT MODULE IS GENERATED BY THE TOOL. DO NOT MODIFY IT.
**     Filename    : Vectors.c
**     Project     : ProcessorExpert
**     Processor   : MKL25Z128VLK4
**     Version     : Component 01.025, Driver 01.04, CPU db: 3.00.000
**     Compiler    : GNU C Compiler
**     Date/Time   : 2012-12-13, 16:35, # CodeGen: 0
**     Abstract    :
**
**     Settings    :
**
**
**     Copyright : 1997 - 2012 Freescale, Inc. All Rights Reserved.
**     
**     http      : www.freescale.com
**     mail      : support@freescale.com
** ###################################################################*/
/*
  #include "Cpu.h"
  #include "MQX1.h"
  #include "SystemTimer1.h"
  #include "Events.h"
//  #include "mqx_tasks.h"
*/
#include "bsp.h"

  /* ISR prototype */
  extern uint_32 __SP_INIT;
//  extern void __thumb_startup( void );
  extern void __boot(void);
  extern void _int_kernel_isr(void);
  void Cpu_Interrupt(void);
  
  // 暂时强行注册systick中断服务程序
  extern void _time_notify_kernel(void);
  
  /*lint -esym(765,__vect_table) Disable MISRA rule (8.10) checking for symbols (__vect_table). Definition of the interrupt vector table placed by linker on a predefined location. */
  /*lint -save  -e926 -e927 -e928 -e929 Disable MISRA rule (11.4) checking. Need to explicitly cast pointers to the general ISR for Interrupt vector table */
  
  // systick 系统中断服务函数
  // _time_notify_kernel
  
  __attribute__ ((section (".vectortable"))) const tVectorTable __vect_table = { /* Interrupt vector table */
  
    /* ISR name                             No. Address      Pri Name                          Description */
    &__SP_INIT,                        /* 0x00  0x00000000   -   ivINT_Initial_Stack_Pointer   used by PE */
    {
    (tIsrFunc)&__boot,                 /* 0x01  0x00000004   -   ivINT_Initial_Program_Counter used by PE */
    (tIsrFunc)&Cpu_Interrupt,   /* 0x02  0x00000008   -2   ivINT_NMI                     used by PE */
    (tIsrFunc)&Cpu_Interrupt,          /* 0x03  0x0000000C   -1   ivINT_Hard_Fault              unused by PE */
    (tIsrFunc)&Cpu_Interrupt,          /* 0x04  0x00000010   -   ivINT_Reserved4               unused by PE */
    (tIsrFunc)&Cpu_Interrupt,          /* 0x05  0x00000014   -   ivINT_Reserved5               unused by PE */
    (tIsrFunc)&Cpu_Interrupt,          /* 0x06  0x00000018   -   ivINT_Reserved6               unused by PE */
    (tIsrFunc)&Cpu_Interrupt,          /* 0x07  0x0000001C   -   ivINT_Reserved7               unused by PE */
    (tIsrFunc)&Cpu_Interrupt,          /* 0x08  0x00000020   -   ivINT_Reserved8               unused by PE */
    (tIsrFunc)&Cpu_Interrupt,          /* 0x09  0x00000024   -   ivINT_Reserved9               unused by PE */
    (tIsrFunc)&Cpu_Interrupt,          /* 0x0A  0x00000028   -   ivINT_Reserved10              unused by PE */
    (tIsrFunc)&Cpu_Interrupt,          /* 0x0B  0x0000002C   -   ivINT_SVCall                  unused by PE */
    (tIsrFunc)&Cpu_Interrupt,          /* 0x0C  0x00000030   -   ivINT_Reserved12              unused by PE */
    (tIsrFunc)&Cpu_Interrupt,          /* 0x0D  0x00000034   -   ivINT_Reserved13              unused by PE */
    (tIsrFunc)&Cpu_Interrupt,          /* 0x0E  0x00000038   -   ivINT_PendableSrvReq          unused by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x0F  0x0000003C   2   ivINT_SysTick                 used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x10  0x00000040   -   ivINT_DMA0                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x11  0x00000044   -   ivINT_DMA1                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x12  0x00000048   -   ivINT_DMA2                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x13  0x0000004C   -   ivINT_DMA3                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x14  0x00000050   -   ivINT_Reserved20              used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x15  0x00000054   -   ivINT_FTFA                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x16  0x00000058   -   ivINT_LVD_LVW                 used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x17  0x0000005C   -   ivINT_LLW                     used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x18  0x00000060   -   ivINT_I2C0                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x19  0x00000064   -   ivINT_I2C1                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x1A  0x00000068   -   ivINT_SPI0                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x1B  0x0000006C   -   ivINT_SPI1                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x1C  0x00000070   -   ivINT_UART0                   used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x1D  0x00000074   -   ivINT_UART1                   used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x1E  0x00000078   -   ivINT_UART2                   used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x1F  0x0000007C   -   ivINT_ADC0                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x20  0x00000080   -   ivINT_CMP0                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x21  0x00000084   -   ivINT_TPM0                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x22  0x00000088   -   ivINT_TPM1                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x23  0x0000008C   -   ivINT_TPM2                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x24  0x00000090   -   ivINT_RTC                     used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x25  0x00000094   -   ivINT_RTC_Seconds             used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x26  0x00000098   -   ivINT_PIT                     used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x27  0x0000009C   -   ivINT_Reserved39              used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x28  0x000000A0   -   ivINT_USB0                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x29  0x000000A4   -   ivINT_DAC0                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x2A  0x000000A8   -   ivINT_TSI0                    used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x2B  0x000000AC   -   ivINT_MCG                     used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x2C  0x000000B0   -   ivINT_LPTimer                 used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x2D  0x000000B4   -   ivINT_Reserved45              used by PE */
    (tIsrFunc)&_int_kernel_isr,        /* 0x2E  0x000000B8   -   ivINT_PORTA                   used by PE */
    (tIsrFunc)&_int_kernel_isr         /* 0x2F  0x000000BC   -   ivINT_PORTD                   used by PE */
    }
  };
    
__attribute__ ((section (".cfmconfig"))) const uint_32 _cfm[4] = {
	0xFFFFFFFF,	0xFFFFFFFF,	0xFFFFFFFF,	0xFFFFFF7E,	
};

void Cpu_Interrupt(void)
{
    // 什么也不做
}
