📄 interrupts.h
字号:
/******************************************************************************
COPYRIGHT (c) Freescale 2005
File Name : $RCSfile: interrupts.h,v $
Current Revision : $Revision: 1.1 $
PURPOSE: header file defining all interrupts behaviour on HCS12XEP100.
DESCRIPTION: Defines interrupt priority, service target and service routines
for all interrupt vectors on HCS12XEP100 on a vector by vector
basis.
Controls the XGATE freeze and fake activity behaviour and the
size of the memory allocated for the two XGATE stack regions.
UPDATE HISTORY
REV AUTHOR DATE DESCRIPTION OF CHANGE
--- ------ -------- ---------------------
1.0 r32151 12/10/05 Initial Revision.
1.1 r32151 26/01/06 Changed XGATE stack initalisation from actual
addresses to stack size values in order to
facilitate changing the XGATE memory map
without having to explictly manage changes to
the stack locations.
*******************************************************************
* File created by: Freescale East Kilbride MCD Applications Group *
*******************************************************************
******************************************************************************/
/*===========================================================================*/
/* Freescale reserves the right to make changes without further notice to any*/
/* product herein to improve reliability, function, or design. Freescale does*/
/* not assume any liability arising out of the application or use of any */
/* product, circuit, or software described herein; neither does it convey */
/* any license under its patent rights nor the rights of others. Freescale*/
/* products are not designed, intended, or authorized for use as components */
/* in systems intended for surgical implant into the body, or other */
/* applications intended to support life, or for any other application in */
/* which the failure of the Freescale product could create a situation where*/
/* personal injury or death may occur. Should Buyer purchase or use Freescale*/
/* products for any such intended or unauthorized application, Buyer shall */
/* indemnify and hold Freescale and its officers, employees, subsidiaries,*/
/* affiliates, and distributors harmless against all claims costs, damages, */
/* and expenses, and reasonable attorney fees arising out of, directly or */
/* indirectly, any claim of personal injury or death associated with such */
/* unintended or unauthorized use, even if such claim alleges that Freescale*/
/* was negligent regarding the design or manufacture of the part. Freescale*/
/* and the Freescale logo* are registered trademarks of Freescale Ltd. */
/*****************************************************************************/
#ifndef INTERRUPTS_H /* prevent duplicated includes */
#define INTERRUPTS_H
/************************* configuration field settings **********************/
#define KEY0 0xFFFF
#define KEY1 0xFFFF
#define KEY2 0xFFFF
#define KEY3 0xFFFF
#define FOPT 0xFF
#define FPROT 0xFF
#define EPROT 0xFF
#define NVBYT 0xFF
#define FSEC 0xFE /* don't change unless you want to secure!!!!! */
/************ copy any typedefs for XGate Parameters here *******************/
/************ copy extern declarations for XGate Parameters here ************/
#pragma DATA_SEG SHARED_DATA
/************ XGATE OPTIONS *************************************************/
/* XGate will be configured for :
XGate enabled
Global enable for interrupts to CPU core enabled
Any pending interrupt flag cleared */
/*** Un/comment out either of these other options as required ***/
#define XG_FREEZES /* XGate freeze enabled */
/* halts XGate activity in BDM active mode */
// #define XG_FAKE_ACTIVITY /* XGate fake activity enabled */
/* With CPU stopped, clocks continue ouside */
/* XGate thread */
/* XGate Priority Level - for all SIF XGate channel interrupt flags */
#define _XGATE_PRI LEVEL1
/**** XGATE Stack Initialisation ****/
#define XGATE_LO_STACK_SIZE 0x40 /* words */
#define XGATE_HI_STACK_SIZE 0x40 /* words */
/***************** interrupt settings ***************************************/
#define CPU_VECTOR_BASE 0x3F /* 0x3F00 - 0x3FFF ; default is 0xFF, 0xFF00 - 0xFFFF*/
/************************* #defines ******************************************/
#define LEVEL0 PRIOLVL0
#define LEVEL1 PRIOLVL1
#define LEVEL2 PRIOLVL2
#define LEVEL3 PRIOLVL3
#define LEVEL4 PRIOLVL4
#define LEVEL5 PRIOLVL5
#define LEVEL6 PRIOLVL6
#define LEVEL7 PRIOLVL7
#define XGATE_REQUEST RQST
#define CPU_REQUEST 0
/*** CPU ONLY ***/
/* Spurious :: CPU Vector 0xFF10 :: NO XGate Channel ***************************/
/* CPU Service Vector */
#define _S12_VEC_10 Spurious_ISR
/* SYS :: CPU Vector 0xFF12 :: NO XGate Channel ******************************/
/* CPU Service Vector */
#define _S12_VEC_12 System_Call_ISR
/* MPU Access error :: CPU Vector 0xFF14:: NO XGate Channel *****/
/* CPU Service Vector */
#define _S12_VEC_14 MPU_ISR
/* XGATE error :: CPU Vector 0xFF16:: :: NO XGate Channel ****************/
/* CPU Service Vector */
#define _S12_VEC_16 XGATE_Error_ISR
/* IRQ :: CPU Vector 0xFFF2 :: NO XGate Channel *****************************/
/* Interrupt priority */
#define _INT_PRI_F2 LEVEL1
/* CPU Service Vector */
#define _S12_VEC_F2 Default_ISR
/* XIRQ :: CPU Vector 0xFFF4 :: NO XGate Channel ***************************/
/* CPU Service Vector */
#define _S12_VEC_F4 XIRQ_ISR
/* SWI :: CPU Vector 0xFFF6 :: NO XGate Channel ******************************/
/* CPU Service Vector */
#define _S12_VEC_F6 SWI_ISR
/* Unallocated instruction trap :: CPU Vector 0xFFF8 :: NO XGate Channel *****/
/* CPU Service Vector */
#define _S12_VEC_F8 Trap_ISR
/* COP failure reset :: CPU Vector 0xFFFA :: XGate Channel 3D ****************/
/* CPU Service Vector */
#define _S12_VEC_FA COP_ISR
/* Clock monitor fail reset :: CPU Vector 0xFFFC :: NO XGate Channel *********/
/* CPU Service Vector */
#define _S12_VEC_FC CM_ISR
/* Reset Vector :: CPU Vector 0xFFFE :: NO XGate Channel *********************/
/* CPU Service Vector */
#define _S12_VEC_FE _Startup
/*** ATD ***/
/* ATD0 :: CPU Vector 0xFFD2 :: XGate Channel 69 *****************************/
/* Interrupt priority */
#define _INT_PRI_D2 LEVEL1
/* Interrupt Service Owner */
#define _INT_SER_D2 CPU_REQUEST
/* CPU Service Vector */
#define _S12_VEC_D2 Default_ISR
/* XGate Service Vector */
#define _XG_VEC_69 Default_XSR
/* XGate Service Parameter */
#define _XG_PRM_69 (xgdataptr)0x69
/* ATD0 Compare :: CPU Vector 0xFF3E :: XGate Channel 1F ********************/
/* Interrupt priority */
#define _INT_PRI_3E LEVEL1
/* Interrupt Service Owner */
#define _INT_SER_3E CPU_REQUEST
/* CPU Service Vector */
#define _S12_VEC_3E Default_ISR
/* XGate Service Vector */
#define _XG_VEC_1F Default_XSR
/* XGate Service Parameter */
#define _XG_PRM_1F (xgdataptr)0x1F
/* ATD1 :: CPU Vector 0xFFD0 :: XGate Channel 68 ****************************/
/* Interrupt priority */
#define _INT_PRI_D0 LEVEL1
/* Interrupt Service Owner */
#define _INT_SER_D0 CPU_REQUEST
/* CPU Service Vector */
#define _S12_VEC_D0 Default_ISR
/* XGate Service Vector */
#define _XG_VEC_68 Default_XSR
/* XGate Service Parameter */
#define _XG_PRM_68 (xgdataptr)0x68
/* ATD1 Compare :: CPU Vector 0xFF3C :: XGate Channel 1E ********************/
/* Interrupt priority */
#define _INT_PRI_3C LEVEL1
/* Interrupt Service Owner */
#define _INT_SER_3C CPU_REQUEST
/* CPU Service Vector */
#define _S12_VEC_3C Default_ISR
/* XGate Service Vector */
#define _XG_VEC_1E Default_XSR
/* XGate Service Parameter */
#define _XG_PRM_1E (xgdataptr)0x1E
/*** CRG ***/
/* CRG Self Clock Mode :: CPU Vector 0xFFC4 :: XGate Channel 62 *************/
/* Interrupt priority */
#define _INT_PRI_C4 LEVEL1
/* Interrupt Service Owner */
#define _INT_SER_C4 CPU_REQUEST
/* CPU Service Vector */
#define _S12_VEC_C4 Default_ISR
/* XGate Service Vector */
#define _XG_VEC_62 Default_XSR
/* XGate Service Parameter */
#define _XG_PRM_62 (xgdataptr)0x62
/* CRG PLL lock :: CPU Vector 0xFFC6 :: XGate Channel 63 ********************/
/* Interrupt priority */
#define _INT_PRI_C6 LEVEL1
/* Interrupt Service Owner */
#define _INT_SER_C6 CPU_REQUEST
/* CPU Service Vector */
#define _S12_VEC_C6 CRG_PLL
/* XGate Service Vector */
#define _XG_VEC_63 Default_XSR
/* XGate Service Parameter */
#define _XG_PRM_63 (xgdataptr)0x63
/*** ECT ***/
/* Enhanced Capture Timer channel 0 :: CPU Vector 0xFFEE :: XGate Channel 77 */
/* Interrupt priority */
#define _INT_PRI_EE LEVEL1
/* Interrupt Service Owner */
#define _INT_SER_EE CPU_REQUEST
/* CPU Service Vector */
#define _S12_VEC_EE Default_ISR
/* XGate Service Vector */
#define _XG_VEC_77 Default_XSR
/* XGate Service Parameter */
#define _XG_PRM_77 (xgdataptr)0x77
/* Enhanced Capture Timer channel 1 :: CPU Vector 0xFFEC :: XGate Channel 76 */
/* Interrupt priority */
#define _INT_PRI_EC LEVEL1
/* Interrupt Service Owner */
#define _INT_SER_EC CPU_REQUEST
/* CPU Service Vector */
#define _S12_VEC_EC Default_ISR
/* XGate Service Vector */
#define _XG_VEC_76 Default_XSR
/* XGate Service Parameter */
#define _XG_PRM_76 (xgdataptr)0x76
/* Enhanced Capture Timer channel 2 :: CPU Vector 0xFFEA :: XGate Channel 75 */
/* Interrupt priority */
#define _INT_PRI_EA LEVEL1
/* Interrupt Service Owner */
#define _INT_SER_EA CPU_REQUEST
/* CPU Service Vector */
#define _S12_VEC_EA Default_ISR
/* XGate Service Vector */
#define _XG_VEC_75 Default_XSR
/* XGate Service Parameter */
#define _XG_PRM_75 (xgdataptr)0x75
/* Enhanced Capture Timer channel 3 :: CPU Vector 0xFFE8 :: XGate Channel 74 */
/* Interrupt priority */
#define _INT_PRI_E8 LEVEL1
/* Interrupt Service Owner */
#define _INT_SER_E8 CPU_REQUEST
/* CPU Service Vector */
#define _S12_VEC_E8 Default_ISR
/* XGate Service Vector */
#define _XG_VEC_74 Default_XSR
/* XGate Service Parameter */
#define _XG_PRM_74 (xgdataptr)0x74
/* Enhanced Capture Timer channel 4 :: CPU Vector 0xFFE6 :: XGate Channel 73 */
/* Interrupt priority */
#define _INT_PRI_E6 LEVEL1
/* Interrupt Service Owner */
#define _INT_SER_E6 CPU_REQUEST
/* CPU Service Vector */
#define _S12_VEC_E6 Default_ISR
/* XGate Service Vector */
#define _XG_VEC_73 Default_XSR
/* XGate Service Parameter */
#define _XG_PRM_73 (xgdataptr)0x73
/* Enhanced Capture Timer channel 5 :: CPU Vector 0xFFE4 :: XGate Channel 72 */
/* Interrupt priority */
#define _INT_PRI_E4 LEVEL1
/* Interrupt Service Owner */
#define _INT_SER_E4 CPU_REQUEST
/* CPU Service Vector */
#define _S12_VEC_E4 Default_ISR
/* XGate Service Vector */
#define _XG_VEC_72 Default_XSR
/* XGate Service Parameter */
#define _XG_PRM_72 (xgdataptr)0x72
/* Enhanced Capture Timer channel 6 :: CPU Vector 0xFFE2 :: XGate Channel 71 */
/* Interrupt priority */
#define _INT_PRI_E2 LEVEL1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -