⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s12xgate.h

📁 基于freescale MC9S12XF512 MCU
💻 H
📖 第 1 页 / 共 3 页
字号:
/*******************************************************************************/
/**
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 + -