📄 s12xgate.h
字号:
/*******************************************************************************/
/**
Copyright (c) 2007 Freescale Semiconductor
Freescale Confidential Proprietary
\file S12XGATE.h
\brief S12XF512 XGATE Module definitions
\author Freescale Semiconductor
\author Guadalajara Applications Laboratory RTAC Americas
\author Jaime Orozco
\version 1.0
\date March/09/2007
*/
/*******************************************************************************/
/* */
/* All software, source code, included documentation, and any implied know-how */
/* are property of Freescale Semiconductor and therefore considered */
/* CONFIDENTIAL INFORMATION. */
/* */
/* This confidential information is disclosed FOR DEMONSTRATION PURPOSES ONLY. */
/* */
/* All Confidential Information remains the property of Freescale Semiconductor*/
/* and will not be copied or reproduced without the express written permission */
/* of the Discloser, except for copies that are absolutely necessary in order */
/* to fulfill the Purpose. */
/* */
/* Services performed by FREESCALE in this matter are performed AS IS and */
/* without any warranty. CUSTOMER retains the final decision relative to the */
/* total design and functionality of the end product. */
/* */
/* FREESCALE neither guarantees nor will be held liable by CUSTOMER for the */
/* success of this project. */
/* */
/* FREESCALE disclaims all warranties, express, implied or statutory including,*/
/* but not limited to, implied warranty of merchantability or fitness for a */
/* particular purpose on any hardware, software or advise supplied to the */
/* project by FREESCALE, and or any product resulting from FREESCALE services. */
/* */
/* In no event shall FREESCALE be liable for incidental or consequential */
/* damages arising out of this agreement. CUSTOMER agrees to hold FREESCALE */
/* harmless against any and all claims demands or actions by anyone on account */
/* of any damage,or injury, whether commercial, contractual, or tortuous, */
/* rising directly or indirectly as a result of the advise or assistance */
/* supplied CUSTOMER in connection with product, services or goods supplied */
/* under this Agreement. */
/* */
/*******************************************************************************/
#ifndef S12XGATE_H /*prevent duplicated includes */
#define S12XGATE_H
/*** XGMCTL - XGATE Module Control Register; 0x00000380 ***/
typedef union {
word Word;
struct {
word XGIE :1; /* XGATE Interrupt Enable */
word XGSWEIF :1; /* XGATE Software Error Interrupt Flag */
word :1;
word XGFACT :1; /* Fake XGATE Activity */
word XGSS :1; /* XGATE Single Step */
word XGDBG :1; /* XGATE Debug Mode */
word XGFRZ :1; /* Halt XGATE in Freeze Mode */
word XGE :1; /* XGATE Module Enable */
word XGIEM :1; /* XGIE Mask */
word XGSWEIFM :1; /* XGSWEIF Mask */
word :1;
word XGFACTM :1; /* XGFACT Mask */
word XGSSM :1; /* XGSS Mask */
word XGDBGM :1; /* XGDBG Mask */
word XGFRZM :1; /* XGFRZ Mask */
word XGEM :1; /* XGE Mask */
} Bits;
} XGMCTLSTR;
extern volatile XGMCTLSTR _XGMCTL @(REG_BASE + 0x00000380);
#define XGMCTL _XGMCTL.Word
#define XGMCTL_XGIE _XGMCTL.Bits.XGIE
#define XGMCTL_XGSWEIF _XGMCTL.Bits.XGSWEIF
#define XGMCTL_XGFACT _XGMCTL.Bits.XGFACT
#define XGMCTL_XGSS _XGMCTL.Bits.XGSS
#define XGMCTL_XGDBG _XGMCTL.Bits.XGDBG
#define XGMCTL_XGFRZ _XGMCTL.Bits.XGFRZ
#define XGMCTL_XGE _XGMCTL.Bits.XGE
#define XGMCTL_XGIEM _XGMCTL.Bits.XGIEM
#define XGMCTL_XGSWEIFM _XGMCTL.Bits.XGSWEIFM
#define XGMCTL_XGFACTM _XGMCTL.Bits.XGFACTM
#define XGMCTL_XGSSM _XGMCTL.Bits.XGSSM
#define XGMCTL_XGDBGM _XGMCTL.Bits.XGDBGM
#define XGMCTL_XGFRZM _XGMCTL.Bits.XGFRZM
#define XGMCTL_XGEM _XGMCTL.Bits.XGEM
#define XGMCTL_XGIE_MASK 1
#define XGMCTL_XGSWEIF_MASK 2
#define XGMCTL_XGFACT_MASK 8
#define XGMCTL_XGSS_MASK 16
#define XGMCTL_XGDBG_MASK 32
#define XGMCTL_XGFRZ_MASK 64
#define XGMCTL_XGE_MASK 128
#define XGMCTL_XGIEM_MASK 256
#define XGMCTL_XGSWEIFM_MASK 512
#define XGMCTL_XGFACTM_MASK 2048
#define XGMCTL_XGSSM_MASK 4096
#define XGMCTL_XGDBGM_MASK 8192
#define XGMCTL_XGFRZM_MASK 16384
#define XGMCTL_XGEM_MASK 32768
/*** XGCHID - XGATE Channel ID Register; 0x00000382 ***/
typedef union {
byte Byte;
struct {
byte XGCHIDGrp :7; /* Request Identifier */
byte :1;
} Bits;
} XGCHIDSTR;
extern volatile XGCHIDSTR _XGCHID @(REG_BASE + 0x00000382);
#define XGCHID _XGCHID.Byte
#define XGCHID_XGCHIDGrp _XGCHID.Bits.XGCHIDGrp
#define XGCHID_XGCHIDGrp_MASK 127
#define XGCHID_XGCHIDGrp_BITNUM 0
/*** XGCHPL - XGATE Channel Priority Level; 0x00000383 ***/
typedef union {
byte Byte;
struct {
byte XGCHPLGrp :3; /* Request Identifier */
byte :5;
} Bits;
} XGCHPLSTR;
extern volatile XGCHPLSTR _XGCHPL @(REG_BASE + 0x00000383);
#define XGCHPL _XGCHPL.Byte
#define XGCHPL_XGCHPLGrp _XGCHPL.Bits.XGCHPLGrp
#define XGCHPL_XGCHPLGrp_MASK 7
#define XGCHPL_XGCHPLGrp_BITNUM 0
/*** XGISPSEL - XGATE Initial Stack Pointer Select Register; 0x00000385 ***/
typedef union {
byte Byte;
struct {
byte XGISPSELGrp :2; /* Request Identifier */
byte :6;
} Bits;
} XGISPSELSTR;
extern volatile XGISPSELSTR _XGISPSEL @(REG_BASE + 0x00000385);
#define XGISPSEL _XGISPSEL.Byte
#define XGISPSEL_XGISPSELGrp _XGISPSEL.Bits.XGISPSELGrp
#define XGISPSEL_XGISPSELGrp_MASK 4
#define XGISPSEL_XGISPSELGrp_BITNUM 0
/*** XGVBR - XGATE Vector Base Address Register; 0x00000386 ***/
typedef union {
word Word;
struct {
word :1;
word XGVBRGrp :15; /* Vector Base Address */
} Bits;
} XGVBRSTR;
extern volatile XGVBRSTR _XGVBR @(REG_BASE + 0x00000386);
#define XGVBR _XGVBR.Word
#define XGVBR_XGVBRGrp _XGVBR.Bits.XGVBRGrp
#define XGVBR_XGVBRGrp_MASK 65534
#define XGVBR_XGVBRGrp_BITNUM 1
/*** XGIF0 - XGATE Channel Interrupt Flag Vector 0; 0x00000388 ***/
typedef union {
word Word;
struct {
word XGIF_70 :1; /* Channel Interrupt Flag 70 */
word XGIF_71 :1; /* Channel Interrupt Flag 71 */
word XGIF_72 :1; /* Channel Interrupt Flag 72 */
word XGIF_73 :1; /* Channel Interrupt Flag 73 */
word XGIF_74 :1; /* Channel Interrupt Flag 74 */
word XGIF_75 :1; /* Channel Interrupt Flag 75 */
word XGIF_76 :1; /* Channel Interrupt Flag 76 */
word XGIF_77 :1; /* Channel Interrupt Flag 77 */
word XGIF_78 :1; /* Channel Interrupt Flag 78 */
word :1;
word :1;
word :1;
word :1;
word :1;
word :1;
word :1;
} Bits;
struct {
word grpXGIF__70 :9;
word :1;
word :1;
word :1;
word :1;
word :1;
word :1;
word :1;
} MergedBits;
} XGIF0STR;
extern volatile XGIF0STR _XGIF0 @(REG_BASE + 0x00000388);
#define XGIF0 _XGIF0.Word
#define XGIF0_XGIF_70 _XGIF0.Bits.XGIF_70
#define XGIF0_XGIF_71 _XGIF0.Bits.XGIF_71
#define XGIF0_XGIF_72 _XGIF0.Bits.XGIF_72
#define XGIF0_XGIF_73 _XGIF0.Bits.XGIF_73
#define XGIF0_XGIF_74 _XGIF0.Bits.XGIF_74
#define XGIF0_XGIF_75 _XGIF0.Bits.XGIF_75
#define XGIF0_XGIF_76 _XGIF0.Bits.XGIF_76
#define XGIF0_XGIF_77 _XGIF0.Bits.XGIF_77
#define XGIF0_XGIF_78 _XGIF0.Bits.XGIF_78
/* XGIF_ARR: Access 8 XGIFx registers in an array */
#define XGIF_ARR ((volatile word *) &XGIF0)
#define XGIF0_XGIF__70 _XGIF0.MergedBits.grpXGIF__70
#define XGIF0_XGIF_ XGIF0_XGIF__70
#define XGIF0_XGIF_70_MASK 1
#define XGIF0_XGIF_71_MASK 2
#define XGIF0_XGIF_72_MASK 4
#define XGIF0_XGIF_73_MASK 8
#define XGIF0_XGIF_74_MASK 16
#define XGIF0_XGIF_75_MASK 32
#define XGIF0_XGIF_76_MASK 64
#define XGIF0_XGIF_77_MASK 128
#define XGIF0_XGIF_78_MASK 256
#define XGIF0_XGIF__70_MASK 511
#define XGIF0_XGIF__70_BITNUM 0
/*** XGIF1 - XGATE Channel Interrupt Flag Vector 1; 0x0000038A ***/
typedef union {
word Word;
struct {
word XGIF_60 :1; /* Channel Interrupt Flag 60 */
word XGIF_61 :1; /* Channel Interrupt Flag 61 */
word XGIF_62 :1; /* Channel Interrupt Flag 62 */
word XGIF_63 :1; /* Channel Interrupt Flag 63 */
word XGIF_64 :1; /* Channel Interrupt Flag 64 */
word XGIF_65 :1; /* Channel Interrupt Flag 65 */
word XGIF_66 :1; /* Channel Interrupt Flag 66 */
word XGIF_67 :1; /* Channel Interrupt Flag 67 */
word XGIF_68 :1; /* Channel Interrupt Flag 68 */
word XGIF_69 :1; /* Channel Interrupt Flag 69 */
word XGIF_6A :1; /* Channel Interrupt Flag 6A */
word XGIF_6B :1; /* Channel Interrupt Flag 6B */
word XGIF_6C :1; /* Channel Interrupt Flag 6C */
word XGIF_6D :1; /* Channel Interrupt Flag 6D */
word XGIF_6E :1; /* Channel Interrupt Flag 6E */
word XGIF_6F :1; /* Channel Interrupt Flag 6F */
} Bits;
struct {
word grpXGIF__60 :10;
word :1;
word :1;
word :1;
word :1;
word :1;
word :1;
} MergedBits;
} XGIF1STR;
extern volatile XGIF1STR _XGIF1 @(REG_BASE + 0x0000038A);
#define XGIF1 _XGIF1.Word
#define XGIF1_XGIF_60 _XGIF1.Bits.XGIF_60
#define XGIF1_XGIF_61 _XGIF1.Bits.XGIF_61
#define XGIF1_XGIF_62 _XGIF1.Bits.XGIF_62
#define XGIF1_XGIF_63 _XGIF1.Bits.XGIF_63
#define XGIF1_XGIF_64 _XGIF1.Bits.XGIF_64
#define XGIF1_XGIF_65 _XGIF1.Bits.XGIF_65
#define XGIF1_XGIF_66 _XGIF1.Bits.XGIF_66
#define XGIF1_XGIF_67 _XGIF1.Bits.XGIF_67
#define XGIF1_XGIF_68 _XGIF1.Bits.XGIF_68
#define XGIF1_XGIF_69 _XGIF1.Bits.XGIF_69
#define XGIF1_XGIF_6A _XGIF1.Bits.XGIF_6A
#define XGIF1_XGIF_6B _XGIF1.Bits.XGIF_6B
#define XGIF1_XGIF_6C _XGIF1.Bits.XGIF_6C
#define XGIF1_XGIF_6D _XGIF1.Bits.XGIF_6D
#define XGIF1_XGIF_6E _XGIF1.Bits.XGIF_6E
#define XGIF1_XGIF_6F _XGIF1.Bits.XGIF_6F
#define XGIF1_XGIF__60 _XGIF1.MergedBits.grpXGIF__60
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -