/* Based on CPU DB MC9S12NE64, version 2.87.029 (RegistersPrg V1.055) */ /* ** ################################################################### ** This implements an IO devices mapping. ** ** (c) Copyright UNIS, spol. s r.o. 1997-2003 ** UNIS, spol. s r.o. ** Jundrovska 33 ** 624 00 Brno ** Czech Republic ** ################################################################### */ #ifndef _MC9S12NE64_H #define _MC9S12NE64_H /* Types definition */ typedef unsigned char byte; typedef unsigned int word; typedef unsigned long dword; typedef unsigned long dlong[2]; #define REG_BASE 0x0000 /* Base address for the I/O register block */ /**************** interrupt vector table ****************/ #define VReserved63 0x0000FF80 #define VReserved62 0x0000FF82 #define VReserved61 0x0000FF84 #define VReserved60 0x0000FF86 #define VReserved59 0x0000FF88 #define VReserved58 0x0000FF8A #define VReserved57 0x0000FF8C #define VReserved56 0x0000FF8E #define VReserved55 0x0000FF90 #define VReserved54 0x0000FF92 #define VReserved53 0x0000FF94 #define VReserved52 0x0000FF96 #define VReserved51 0x0000FF98 #define VReserved50 0x0000FF9A #define VReserved49 0x0000FF9C #define VReserved48 0x0000FF9E #define Vemacec 0x0000FFA0 #define Vemaclc 0x0000FFA2 #define Vemacbrxerr 0x0000FFA4 #define Vemacrxbbo 0x0000FFA6 #define Vemacrxbao 0x0000FFA8 #define Vemacrxerr 0x0000FFAA #define Vemacmii 0x0000FFAC #define Vemacrxfc 0x0000FFAE #define Vemactxc 0x0000FFB0 #define Vemacrxbbc 0x0000FFB2 #define Vemacrxbac 0x0000FFB4 #define Vephy 0x0000FFB6 #define Vflash 0x0000FFB8 #define VReserved34 0x0000FFBA #define VReserved33 0x0000FFBC #define VReserved32 0x0000FFBE #define Viic 0x0000FFC0 #define VReserved30 0x0000FFC2 #define Vcrgscm 0x0000FFC4 #define Vcrgplllck 0x0000FFC6 #define VReserved27 0x0000FFC8 #define Vportg 0x0000FFCA #define Vporth 0x0000FFCC #define Vportj 0x0000FFCE #define VReserved23 0x0000FFD0 #define Vatd 0x0000FFD2 #define Vsci1 0x0000FFD4 #define Vsci0 0x0000FFD6 #define Vspi 0x0000FFD8 #define Vtimpaie 0x0000FFDA #define Vtimpaovf 0x0000FFDC #define Vtimovf 0x0000FFDE #define Vtimch7 0x0000FFE0 #define Vtimch6 0x0000FFE2 #define Vtimch5 0x0000FFE4 #define Vtimch4 0x0000FFE6 #define VReserved11 0x0000FFE8 #define VReserved10 0x0000FFEA #define VReserved9 0x0000FFEC #define VReserved8 0x0000FFEE #define Vrti 0x0000FFF0 #define Virq 0x0000FFF2 #define Vxirq 0x0000FFF4 #define Vswi 0x0000FFF6 #define Vtrap 0x0000FFF8 #define Vcop 0x0000FFFA #define Vclkmon 0x0000FFFC #define Vreset 0x0000FFFE /**************** registers I/O map ****************/ /*** PORTAB - Port AB Register; 0x00000000 ***/ typedef union { word Word; struct { /*** PORTA - Port A Register; 0x00000000 ***/ union { byte Byte; struct { word BIT0 :1; /* Port A Bit 0 */ word BIT1 :1; /* Port A Bit 1 */ word BIT2 :1; /* Port A Bit 2 */ word BIT3 :1; /* Port A Bit 3 */ word BIT4 :1; /* Port A Bit 4 */ word BIT5 :1; /* Port A Bit 5 */ word BIT6 :1; /* Port A Bit 6 */ word BIT7 :1; /* Port A Bit 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } PORTASTR; #define PORTA _PORTAB.Overlap_STR.PORTASTR.Byte #define PORTA_BIT0 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT0 #define PORTA_BIT1 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT1 #define PORTA_BIT2 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT2 #define PORTA_BIT3 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT3 #define PORTA_BIT4 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT4 #define PORTA_BIT5 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT5 #define PORTA_BIT6 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT6 #define PORTA_BIT7 _PORTAB.Overlap_STR.PORTASTR.Bits.BIT7 #define PORTA_BIT0_MASK 1 #define PORTA_BIT1_MASK 2 #define PORTA_BIT2_MASK 4 #define PORTA_BIT3_MASK 8 #define PORTA_BIT4_MASK 16 #define PORTA_BIT5_MASK 32 #define PORTA_BIT6_MASK 64 #define PORTA_BIT7_MASK 128 /*** PORTB - Port B Register; 0x00000001 ***/ union { byte Byte; struct { word BIT0 :1; /* Port B Bit 0 */ word BIT1 :1; /* Port B Bit 1 */ word BIT2 :1; /* Port B Bit 2 */ word BIT3 :1; /* Port B Bit 3 */ word BIT4 :1; /* Port B Bit 4 */ word BIT5 :1; /* Port B Bit 5 */ word BIT6 :1; /* Port B Bit 6 */ word BIT7 :1; /* Port B Bit 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } PORTBSTR; #define PORTB _PORTAB.Overlap_STR.PORTBSTR.Byte #define PORTB_BIT0 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT0 #define PORTB_BIT1 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT1 #define PORTB_BIT2 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT2 #define PORTB_BIT3 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT3 #define PORTB_BIT4 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT4 #define PORTB_BIT5 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT5 #define PORTB_BIT6 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT6 #define PORTB_BIT7 _PORTAB.Overlap_STR.PORTBSTR.Bits.BIT7 #define PORTB_BIT0_MASK 1 #define PORTB_BIT1_MASK 2 #define PORTB_BIT2_MASK 4 #define PORTB_BIT3_MASK 8 #define PORTB_BIT4_MASK 16 #define PORTB_BIT5_MASK 32 #define PORTB_BIT6_MASK 64 #define PORTB_BIT7_MASK 128 } Overlap_STR; struct { word BIT0 :1; /* Port AB Bit 0 */ word BIT1 :1; /* Port AB Bit 1 */ word BIT2 :1; /* Port AB Bit 2 */ word BIT3 :1; /* Port AB Bit 3 */ word BIT4 :1; /* Port AB Bit 4 */ word BIT5 :1; /* Port AB Bit 5 */ word BIT6 :1; /* Port AB Bit 6 */ word BIT7 :1; /* Port AB Bit 7 */ word BIT8 :1; /* Port AB Bit 8 */ word BIT9 :1; /* Port AB Bit 9 */ word BIT10 :1; /* Port AB Bit 10 */ word BIT11 :1; /* Port AB Bit 11 */ word BIT12 :1; /* Port AB Bit 12 */ word BIT13 :1; /* Port AB Bit 13 */ word BIT14 :1; /* Port AB Bit 14 */ word BIT15 :1; /* Port AB Bit 15 */ } Bits; struct { word grpBIT :16; } MergedBits; } PORTABSTR; #define _PORTAB (*(PORTABSTR volatile *)(_IO_BASE + 0x00000000)) #define PORTAB _PORTAB.Word #define PORTAB_BIT0 _PORTAB.Bits.BIT0 #define PORTAB_BIT1 _PORTAB.Bits.BIT1 #define PORTAB_BIT2 _PORTAB.Bits.BIT2 #define PORTAB_BIT3 _PORTAB.Bits.BIT3 #define PORTAB_BIT4 _PORTAB.Bits.BIT4 #define PORTAB_BIT5 _PORTAB.Bits.BIT5 #define PORTAB_BIT6 _PORTAB.Bits.BIT6 #define PORTAB_BIT7 _PORTAB.Bits.BIT7 #define PORTAB_BIT8 _PORTAB.Bits.BIT8 #define PORTAB_BIT9 _PORTAB.Bits.BIT9 #define PORTAB_BIT10 _PORTAB.Bits.BIT10 #define PORTAB_BIT11 _PORTAB.Bits.BIT11 #define PORTAB_BIT12 _PORTAB.Bits.BIT12 #define PORTAB_BIT13 _PORTAB.Bits.BIT13 #define PORTAB_BIT14 _PORTAB.Bits.BIT14 #define PORTAB_BIT15 _PORTAB.Bits.BIT15 #define PORTAB_BIT0_MASK 1 #define PORTAB_BIT1_MASK 2 #define PORTAB_BIT2_MASK 4 #define PORTAB_BIT3_MASK 8 #define PORTAB_BIT4_MASK 16 #define PORTAB_BIT5_MASK 32 #define PORTAB_BIT6_MASK 64 #define PORTAB_BIT7_MASK 128 #define PORTAB_BIT8_MASK 256 #define PORTAB_BIT9_MASK 512 #define PORTAB_BIT10_MASK 1024 #define PORTAB_BIT11_MASK 2048 #define PORTAB_BIT12_MASK 4096 #define PORTAB_BIT13_MASK 8192 #define PORTAB_BIT14_MASK 16384 #define PORTAB_BIT15_MASK 32768 /*** DDRAB - Port AB Data Direction Register; 0x00000002 ***/ typedef union { word Word; struct { /*** DDRA - Port A Data Direction Register; 0x00000002 ***/ union { byte Byte; struct { word BIT0 :1; /* Data Direction Port A Bit 0 */ word BIT1 :1; /* Data Direction Port A Bit 1 */ word BIT2 :1; /* Data Direction Port A Bit 2 */ word BIT3 :1; /* Data Direction Port A Bit 3 */ word BIT4 :1; /* Data Direction Port A Bit 4 */ word BIT5 :1; /* Data Direction Port A Bit 5 */ word BIT6 :1; /* Data Direction Port A Bit 6 */ word BIT7 :1; /* Data Direction Port A Bit 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } DDRASTR; #define DDRA _DDRAB.Overlap_STR.DDRASTR.Byte #define DDRA_BIT0 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT0 #define DDRA_BIT1 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT1 #define DDRA_BIT2 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT2 #define DDRA_BIT3 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT3 #define DDRA_BIT4 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT4 #define DDRA_BIT5 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT5 #define DDRA_BIT6 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT6 #define DDRA_BIT7 _DDRAB.Overlap_STR.DDRASTR.Bits.BIT7 #define DDRA_BIT0_MASK 1 #define DDRA_BIT1_MASK 2 #define DDRA_BIT2_MASK 4 #define DDRA_BIT3_MASK 8 #define DDRA_BIT4_MASK 16 #define DDRA_BIT5_MASK 32 #define DDRA_BIT6_MASK 64 #define DDRA_BIT7_MASK 128 /*** DDRB - Port B Data Direction Register; 0x00000003 ***/ union { byte Byte; struct { word BIT0 :1; /* Data Direction Port B Bit 0 */ word BIT1 :1; /* Data Direction Port B Bit 1 */ word BIT2 :1; /* Data Direction Port B Bit 2 */ word BIT3 :1; /* Data Direction Port B Bit 3 */ word BIT4 :1; /* Data Direction Port B Bit 4 */ word BIT5 :1; /* Data Direction Port B Bit 5 */ word BIT6 :1; /* Data Direction Port B Bit 6 */ word BIT7 :1; /* Data Direction Port B Bit 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } DDRBSTR; #define DDRB _DDRAB.Overlap_STR.DDRBSTR.Byte #define DDRB_BIT0 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT0 #define DDRB_BIT1 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT1 #define DDRB_BIT2 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT2 #define DDRB_BIT3 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT3 #define DDRB_BIT4 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT4 #define DDRB_BIT5 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT5 #define DDRB_BIT6 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT6 #define DDRB_BIT7 _DDRAB.Overlap_STR.DDRBSTR.Bits.BIT7 #define DDRB_BIT0_MASK 1 #define DDRB_BIT1_MASK 2 #define DDRB_BIT2_MASK 4 #define DDRB_BIT3_MASK 8 #define DDRB_BIT4_MASK 16 #define DDRB_BIT5_MASK 32 #define DDRB_BIT6_MASK 64 #define DDRB_BIT7_MASK 128 } Overlap_STR; struct { word BIT0 :1; /* Data Direction Port AB Bit 0 */ word BIT1 :1; /* Data Direction Port AB Bit 1 */ word BIT2 :1; /* Data Direction Port AB Bit 2 */ word BIT3 :1; /* Data Direction Port AB Bit 3 */ word BIT4 :1; /* Data Direction Port AB Bit 4 */ word BIT5 :1; /* Data Direction Port AB Bit 5 */ word BIT6 :1; /* Data Direction Port AB Bit 6 */ word BIT7 :1; /* Data Direction Port AB Bit 7 */ word BIT8 :1; /* Data Direction Port AB Bit 8 */ word BIT9 :1; /* Data Direction Port AB Bit 9 */ word BIT10 :1; /* Data Direction Port AB Bit 10 */ word BIT11 :1; /* Data Direction Port AB Bit 11 */ word BIT12 :1; /* Data Direction Port AB Bit 12 */ word BIT13 :1; /* Data Direction Port AB Bit 13 */ word BIT14 :1; /* Data Direction Port AB Bit 14 */ word BIT15 :1; /* Data Direction Port AB Bit 15 */ } Bits; struct { word grpBIT :16; } MergedBits; } DDRABSTR; #define _DDRAB (*(DDRABSTR volatile *)(_IO_BASE + 0x00000002)) #define DDRAB _DDRAB.Word #define DDRAB_BIT0 _DDRAB.Bits.BIT0 #define DDRAB_BIT1 _DDRAB.Bits.BIT1 #define DDRAB_BIT2 _DDRAB.Bits.BIT2 #define DDRAB_BIT3 _DDRAB.Bits.BIT3 #define DDRAB_BIT4 _DDRAB.Bits.BIT4 #define DDRAB_BIT5 _DDRAB.Bits.BIT5 #define DDRAB_BIT6 _DDRAB.Bits.BIT6 #define DDRAB_BIT7 _DDRAB.Bits.BIT7 #define DDRAB_BIT8 _DDRAB.Bits.BIT8 #define DDRAB_BIT9 _DDRAB.Bits.BIT9 #define DDRAB_BIT10 _DDRAB.Bits.BIT10 #define DDRAB_BIT11 _DDRAB.Bits.BIT11 #define DDRAB_BIT12 _DDRAB.Bits.BIT12 #define DDRAB_BIT13 _DDRAB.Bits.BIT13 #define DDRAB_BIT14 _DDRAB.Bits.BIT14 #define DDRAB_BIT15 _DDRAB.Bits.BIT15 #define DDRAB_BIT0_MASK 1 #define DDRAB_BIT1_MASK 2 #define DDRAB_BIT2_MASK 4 #define DDRAB_BIT3_MASK 8 #define DDRAB_BIT4_MASK 16 #define DDRAB_BIT5_MASK 32 #define DDRAB_BIT6_MASK 64 #define DDRAB_BIT7_MASK 128 #define DDRAB_BIT8_MASK 256 #define DDRAB_BIT9_MASK 512 #define DDRAB_BIT10_MASK 1024 #define DDRAB_BIT11_MASK 2048 #define DDRAB_BIT12_MASK 4096 #define DDRAB_BIT13_MASK 8192 #define DDRAB_BIT14_MASK 16384 #define DDRAB_BIT15_MASK 32768 /*** PORTE - Port E Register; 0x00000008 ***/ typedef union { byte Byte; struct { word BIT0 :1; /* Port E Bit 0 */ word BIT1 :1; /* Port E Bit 1 */ word BIT2 :1; /* Port E Bit 2 */ word BIT3 :1; /* Port E Bit 3 */ word BIT4 :1; /* Port E Bit 4 */ word BIT5 :1; /* Port E Bit 5 */ word BIT6 :1; /* Port E Bit 6 */ word BIT7 :1; /* Port E Bit 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } PORTESTR; #define _PORTE (*(PORTESTR volatile *)(_IO_BASE + 0x00000008)) #define PORTE _PORTE.Byte #define PORTE_BIT0 _PORTE.Bits.BIT0 #define PORTE_BIT1 _PORTE.Bits.BIT1 #define PORTE_BIT2 _PORTE.Bits.BIT2 #define PORTE_BIT3 _PORTE.Bits.BIT3 #define PORTE_BIT4 _PORTE.Bits.BIT4 #define PORTE_BIT5 _PORTE.Bits.BIT5 #define PORTE_BIT6 _PORTE.Bits.BIT6 #define PORTE_BIT7 _PORTE.Bits.BIT7 #define PORTE_BIT0_MASK 1 #define PORTE_BIT1_MASK 2 #define PORTE_BIT2_MASK 4 #define PORTE_BIT3_MASK 8 #define PORTE_BIT4_MASK 16 #define PORTE_BIT5_MASK 32 #define PORTE_BIT6_MASK 64 #define PORTE_BIT7_MASK 128 /*** DDRE - Port E Data Direction Register; 0x00000009 ***/ typedef union { byte Byte; struct { word :1; word :1; word BIT2 :1; /* Data Direction Port A Bit 2 */ word BIT3 :1; /* Data Direction Port A Bit 3 */ word BIT4 :1; /* Data Direction Port A Bit 4 */ word BIT5 :1; /* Data Direction Port A Bit 5 */ word BIT6 :1; /* Data Direction Port A Bit 6 */ word BIT7 :1; /* Data Direction Port A Bit 7 */ } Bits; struct { word :1; word :1; word grpBIT_2 :6; } MergedBits; } DDRESTR; #define _DDRE (*(DDRESTR volatile *)(_IO_BASE + 0x00000009)) #define DDRE _DDRE.Byte #define DDRE_BIT2 _DDRE.Bits.BIT2 #define DDRE_BIT3 _DDRE.Bits.BIT3 #define DDRE_BIT4 _DDRE.Bits.BIT4 #define DDRE_BIT5 _DDRE.Bits.BIT5 #define DDRE_BIT6 _DDRE.Bits.BIT6 #define DDRE_BIT7 _DDRE.Bits.BIT7 #define DDRE_BIT_2 _DDRE.MergedBits.grpBIT_2 #define DDRE_BIT DDRE_BIT_2 #define DDRE_BIT2_MASK 4 #define DDRE_BIT3_MASK 8 #define DDRE_BIT4_MASK 16 #define DDRE_BIT5_MASK 32 #define DDRE_BIT6_MASK 64 #define DDRE_BIT7_MASK 128 #define DDRE_BIT_2_MASK 252 #define DDRE_BIT_2_BITNUM 2 /*** PEAR - Port E Assignment Register; 0x0000000A ***/ typedef union { byte Byte; struct { word :1; word :1; word RDWE :1; /* Read / Write Enable */ word LSTRE :1; /* Lw Strobe (LSTRB) Enable */ word NECLK :1; /* No External E Clock */ word PIPOE :1; /* Pipe Status Signal Output Enable */ word :1; word NOACCE :1; /* CPU No Access Output Enable */ } Bits; } PEARSTR; #define _PEAR (*(PEARSTR volatile *)(_IO_BASE + 0x0000000A)) #define PEAR _PEAR.Byte #define PEAR_RDWE _PEAR.Bits.RDWE #define PEAR_LSTRE _PEAR.Bits.LSTRE #define PEAR_NECLK _PEAR.Bits.NECLK #define PEAR_PIPOE _PEAR.Bits.PIPOE #define PEAR_NOACCE _PEAR.Bits.NOACCE #define PEAR_RDWE_MASK 4 #define PEAR_LSTRE_MASK 8 #define PEAR_NECLK_MASK 16 #define PEAR_PIPOE_MASK 32 #define PEAR_NOACCE_MASK 128 /*** MODE - Mode Register; 0x0000000B ***/ typedef union { byte Byte; struct { word EME :1; /* Emulate Port E */ word EMK :1; /* Emulate Port K */ word :1; word IVIS :1; /* Internal Visibility */ word :1; word MODA :1; /* Mode Select Bit A */ word MODB :1; /* Mode Select Bit B */ word MODC :1; /* Mode Select Bit C */ } Bits; struct { word :1; word :1; word :1; word :1; word :1; word grpMOD :3; } MergedBits; } MODESTR; #define _MODE (*(MODESTR volatile *)(_IO_BASE + 0x0000000B)) #define MODE _MODE.Byte #define MODE_EME _MODE.Bits.EME #define MODE_EMK _MODE.Bits.EMK #define MODE_IVIS _MODE.Bits.IVIS #define MODE_MODA _MODE.Bits.MODA #define MODE_MODB _MODE.Bits.MODB #define MODE_MODC _MODE.Bits.MODC #define MODE_MOD _MODE.MergedBits.grpMOD #define MODE_EME_MASK 1 #define MODE_EMK_MASK 2 #define MODE_IVIS_MASK 8 #define MODE_MODA_MASK 32 #define MODE_MODB_MASK 64 #define MODE_MODC_MASK 128 #define MODE_MOD_MASK 224 #define MODE_MOD_BITNUM 5 /*** PUCR - Pull-Up Control Register; 0x0000000C ***/ typedef union { byte Byte; struct { word PUPAE :1; /* Pull-Up Port A Enable */ word PUPBE :1; /* Pull-Up Port B Enable */ word :1; word :1; word PUPEE :1; /* Pull-Up Port E Enable */ word :1; word :1; word PUPKE :1; /* Pull-Up Port K Enable */ } Bits; } PUCRSTR; #define _PUCR (*(PUCRSTR volatile *)(_IO_BASE + 0x0000000C)) #define PUCR _PUCR.Byte #define PUCR_PUPAE _PUCR.Bits.PUPAE #define PUCR_PUPBE _PUCR.Bits.PUPBE #define PUCR_PUPEE _PUCR.Bits.PUPEE #define PUCR_PUPKE _PUCR.Bits.PUPKE #define PUCR_PUPAE_MASK 1 #define PUCR_PUPBE_MASK 2 #define PUCR_PUPEE_MASK 16 #define PUCR_PUPKE_MASK 128 /*** RDRIV - Reduced Drive of I/O Lines; 0x0000000D ***/ typedef union { byte Byte; struct { word RDPA :1; /* Reduced Drive of Port A */ word RDPB :1; /* Reduced Drive of Port B */ word :1; word :1; word RDPE :1; /* Reduced Drive of Port E */ word :1; word :1; word RDPK :1; /* Reduced Drive of Port K */ } Bits; struct { word grpRDPx :2; word :1; word :1; word :1; word :1; word :1; word :1; } MergedBits; } RDRIVSTR; #define _RDRIV (*(RDRIVSTR volatile *)(_IO_BASE + 0x0000000D)) #define RDRIV _RDRIV.Byte #define RDRIV_RDPA _RDRIV.Bits.RDPA #define RDRIV_RDPB _RDRIV.Bits.RDPB #define RDRIV_RDPE _RDRIV.Bits.RDPE #define RDRIV_RDPK _RDRIV.Bits.RDPK #define RDRIV_RDPx _RDRIV.MergedBits.grpRDPx #define RDRIV_RDPA_MASK 1 #define RDRIV_RDPB_MASK 2 #define RDRIV_RDPE_MASK 16 #define RDRIV_RDPK_MASK 128 #define RDRIV_RDPx_MASK 3 #define RDRIV_RDPx_BITNUM 0 /*** EBICTL - External Bus Interface Control; 0x0000000E ***/ typedef union { byte Byte; struct { word ESTR :1; /* E Stretches */ word :1; word :1; word :1; word :1; word :1; word :1; word :1; } Bits; } EBICTLSTR; #define _EBICTL (*(EBICTLSTR volatile *)(_IO_BASE + 0x0000000E)) #define EBICTL _EBICTL.Byte #define EBICTL_ESTR _EBICTL.Bits.ESTR #define EBICTL_ESTR_MASK 1 /*** RM - Initialization of Internal RAM Position Register; 0x00000010 ***/ typedef union { byte Byte; struct { word RAMHAL :1; /* Internal RAM map alignment */ word :1; word :1; word RAM11 :1; /* Internal RAM map position Bit 11 */ word RAM12 :1; /* Internal RAM map position Bit 12 */ word RAM13 :1; /* Internal RAM map position Bit 13 */ word RAM14 :1; /* Internal RAM map position Bit 14 */ word RAM15 :1; /* Internal RAM map position Bit 15 */ } Bits; struct { word :1; word :1; word :1; word grpRAM_11 :5; } MergedBits; } INITRMSTR; #define _INITRM (*(INITRMSTR volatile *)(_IO_BASE + 0x00000010)) #define INITRM _INITRM.Byte #define INITRM_RAMHAL _INITRM.Bits.RAMHAL #define INITRM_RAM11 _INITRM.Bits.RAM11 #define INITRM_RAM12 _INITRM.Bits.RAM12 #define INITRM_RAM13 _INITRM.Bits.RAM13 #define INITRM_RAM14 _INITRM.Bits.RAM14 #define INITRM_RAM15 _INITRM.Bits.RAM15 #define INITRM_RAM_11 _INITRM.MergedBits.grpRAM_11 #define INITRM_RAM INITRM_RAM_11 #define INITRM_RAMHAL_MASK 1 #define INITRM_RAM11_MASK 8 #define INITRM_RAM12_MASK 16 #define INITRM_RAM13_MASK 32 #define INITRM_RAM14_MASK 64 #define INITRM_RAM15_MASK 128 #define INITRM_RAM_11_MASK 248 #define INITRM_RAM_11_BITNUM 3 /*** INITRG - Initialization of Internal Register Position Register; 0x00000011 ***/ typedef union { byte Byte; struct { word :1; word :1; word :1; word REG11 :1; /* Internal register map position REG11 */ word REG12 :1; /* Internal register map position REG12 */ word REG13 :1; /* Internal register map position REG13 */ word REG14 :1; /* Internal register map position REG14 */ word :1; } Bits; struct { word :1; word :1; word :1; word grpREG_11 :4; word :1; } MergedBits; } INITRGSTR; #define _INITRG (*(INITRGSTR volatile *)(_IO_BASE + 0x00000011)) #define INITRG _INITRG.Byte #define INITRG_REG11 _INITRG.Bits.REG11 #define INITRG_REG12 _INITRG.Bits.REG12 #define INITRG_REG13 _INITRG.Bits.REG13 #define INITRG_REG14 _INITRG.Bits.REG14 #define INITRG_REG_11 _INITRG.MergedBits.grpREG_11 #define INITRG_REG INITRG_REG_11 #define INITRG_REG11_MASK 8 #define INITRG_REG12_MASK 16 #define INITRG_REG13_MASK 32 #define INITRG_REG14_MASK 64 #define INITRG_REG_11_MASK 120 #define INITRG_REG_11_BITNUM 3 /*** MISC - Miscellaneous Mapping Control Register; 0x00000013 ***/ typedef union { byte Byte; struct { word ROMON :1; /* Enable Flash EEPROM */ word ROMHM :1; /* Flash EEPROM only in second half of memory map */ word EXSTR0 :1; /* External Access Stretch Bit 0 */ word EXSTR1 :1; /* External Access Stretch Bit 1 */ word :1; word :1; word :1; word :1; } Bits; struct { word :1; word :1; word grpEXSTR :2; word :1; word :1; word :1; word :1; } MergedBits; } MISCSTR; #define _MISC (*(MISCSTR volatile *)(_IO_BASE + 0x00000013)) #define MISC _MISC.Byte #define MISC_ROMON _MISC.Bits.ROMON #define MISC_ROMHM _MISC.Bits.ROMHM #define MISC_EXSTR0 _MISC.Bits.EXSTR0 #define MISC_EXSTR1 _MISC.Bits.EXSTR1 #define MISC_EXSTR _MISC.MergedBits.grpEXSTR #define MISC_ROMON_MASK 1 #define MISC_ROMHM_MASK 2 #define MISC_EXSTR0_MASK 4 #define MISC_EXSTR1_MASK 8 #define MISC_EXSTR_MASK 12 #define MISC_EXSTR_BITNUM 2 /*** MTST0 - MTST0; 0x00000014 ***/ typedef union { byte Byte; struct { word BIT0 :1; /* MTST0 Bit 0 */ word BIT1 :1; /* MTST0 Bit 1 */ word BIT2 :1; /* MTST0 Bit 2 */ word BIT3 :1; /* MTST0 Bit 3 */ word BIT4 :1; /* MTST0 Bit 4 */ word BIT5 :1; /* MTST0 Bit 5 */ word BIT6 :1; /* MTST0 Bit 6 */ word BIT7 :1; /* MTST0 Bit 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } MTST0STR; #define _MTST0 (*(MTST0STR volatile *)(_IO_BASE + 0x00000014)) #define MTST0 _MTST0.Byte #define MTST0_BIT0 _MTST0.Bits.BIT0 #define MTST0_BIT1 _MTST0.Bits.BIT1 #define MTST0_BIT2 _MTST0.Bits.BIT2 #define MTST0_BIT3 _MTST0.Bits.BIT3 #define MTST0_BIT4 _MTST0.Bits.BIT4 #define MTST0_BIT5 _MTST0.Bits.BIT5 #define MTST0_BIT6 _MTST0.Bits.BIT6 #define MTST0_BIT7 _MTST0.Bits.BIT7 #define MTST0_BIT _MTST0.MergedBits.grpBIT #define MTST0_BIT0_MASK 1 #define MTST0_BIT1_MASK 2 #define MTST0_BIT2_MASK 4 #define MTST0_BIT3_MASK 8 #define MTST0_BIT4_MASK 16 #define MTST0_BIT5_MASK 32 #define MTST0_BIT6_MASK 64 #define MTST0_BIT7_MASK 128 #define MTST0_BIT_MASK 255 #define MTST0_BIT_BITNUM 0 /*** ITCR - Interrupt Test Control Register; 0x00000015 ***/ typedef union { byte Byte; struct { word ADR0 :1; /* Test register select Bit 0 */ word ADR1 :1; /* Test register select Bit 1 */ word ADR2 :1; /* Test register select Bit 2 */ word ADR3 :1; /* Test register select Bit 3 */ word WRTINT :1; /* Write to the Interrupt Test Registers */ word :1; word :1; word :1; } Bits; struct { word grpADR :4; word :1; word :1; word :1; word :1; } MergedBits; } ITCRSTR; #define _ITCR (*(ITCRSTR volatile *)(_IO_BASE + 0x00000015)) #define ITCR _ITCR.Byte #define ITCR_ADR0 _ITCR.Bits.ADR0 #define ITCR_ADR1 _ITCR.Bits.ADR1 #define ITCR_ADR2 _ITCR.Bits.ADR2 #define ITCR_ADR3 _ITCR.Bits.ADR3 #define ITCR_WRTINT _ITCR.Bits.WRTINT #define ITCR_ADR _ITCR.MergedBits.grpADR #define ITCR_ADR0_MASK 1 #define ITCR_ADR1_MASK 2 #define ITCR_ADR2_MASK 4 #define ITCR_ADR3_MASK 8 #define ITCR_WRTINT_MASK 16 #define ITCR_ADR_MASK 15 #define ITCR_ADR_BITNUM 0 /*** ITEST - Interrupt Test Register; 0x00000016 ***/ typedef union { byte Byte; struct { word INT0 :1; /* Interrupt Test Register Bit 0 */ word INT2 :1; /* Interrupt Test Register Bit 1 */ word INT4 :1; /* Interrupt Test Register Bit 2 */ word INT6 :1; /* Interrupt Test Register Bit 3 */ word INT8 :1; /* Interrupt Test Register Bit 4 */ word INTA :1; /* Interrupt Test Register Bit 5 */ word INTC :1; /* Interrupt Test Register Bit 6 */ word INTE :1; /* Interrupt Test Register Bit 7 */ } Bits; } ITESTSTR; #define _ITEST (*(ITESTSTR volatile *)(_IO_BASE + 0x00000016)) #define ITEST _ITEST.Byte #define ITEST_INT0 _ITEST.Bits.INT0 #define ITEST_INT2 _ITEST.Bits.INT2 #define ITEST_INT4 _ITEST.Bits.INT4 #define ITEST_INT6 _ITEST.Bits.INT6 #define ITEST_INT8 _ITEST.Bits.INT8 #define ITEST_INTA _ITEST.Bits.INTA #define ITEST_INTC _ITEST.Bits.INTC #define ITEST_INTE _ITEST.Bits.INTE #define ITEST_INT0_MASK 1 #define ITEST_INT2_MASK 2 #define ITEST_INT4_MASK 4 #define ITEST_INT6_MASK 8 #define ITEST_INT8_MASK 16 #define ITEST_INTA_MASK 32 #define ITEST_INTC_MASK 64 #define ITEST_INTE_MASK 128 /*** MTST1 - MTST1; 0x00000017 ***/ typedef union { byte Byte; struct { word BIT0 :1; /* MTST1 Bit 0 */ word BIT1 :1; /* MTST1 Bit 1 */ word BIT2 :1; /* MTST1 Bit 2 */ word BIT3 :1; /* MTST1 Bit 3 */ word BIT4 :1; /* MTST1 Bit 4 */ word BIT5 :1; /* MTST1 Bit 5 */ word BIT6 :1; /* MTST1 Bit 6 */ word BIT7 :1; /* MTST1 Bit 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } MTST1STR; #define _MTST1 (*(MTST1STR volatile *)(_IO_BASE + 0x00000017)) #define MTST1 _MTST1.Byte #define MTST1_BIT0 _MTST1.Bits.BIT0 #define MTST1_BIT1 _MTST1.Bits.BIT1 #define MTST1_BIT2 _MTST1.Bits.BIT2 #define MTST1_BIT3 _MTST1.Bits.BIT3 #define MTST1_BIT4 _MTST1.Bits.BIT4 #define MTST1_BIT5 _MTST1.Bits.BIT5 #define MTST1_BIT6 _MTST1.Bits.BIT6 #define MTST1_BIT7 _MTST1.Bits.BIT7 #define MTST1_BIT _MTST1.MergedBits.grpBIT #define MTST1_BIT0_MASK 1 #define MTST1_BIT1_MASK 2 #define MTST1_BIT2_MASK 4 #define MTST1_BIT3_MASK 8 #define MTST1_BIT4_MASK 16 #define MTST1_BIT5_MASK 32 #define MTST1_BIT6_MASK 64 #define MTST1_BIT7_MASK 128 #define MTST1_BIT_MASK 255 #define MTST1_BIT_BITNUM 0 /*** PARTIDH - Part ID Register High; 0x0000001A ***/ typedef union { byte Byte; struct { word ID8 :1; /* Part ID Register Bit 8 */ word ID9 :1; /* Part ID Register Bit 9 */ word ID10 :1; /* Part ID Register Bit 10 */ word ID11 :1; /* Part ID Register Bit 11 */ word ID12 :1; /* Part ID Register Bit 12 */ word ID13 :1; /* Part ID Register Bit 13 */ word ID14 :1; /* Part ID Register Bit 14 */ word ID15 :1; /* Part ID Register Bit 15 */ } Bits; struct { word grpID_8 :8; } MergedBits; } PARTIDHSTR; #define _PARTIDH (*(PARTIDHSTR volatile *)(_IO_BASE + 0x0000001A)) #define PARTIDH _PARTIDH.Byte #define PARTIDH_ID8 _PARTIDH.Bits.ID8 #define PARTIDH_ID9 _PARTIDH.Bits.ID9 #define PARTIDH_ID10 _PARTIDH.Bits.ID10 #define PARTIDH_ID11 _PARTIDH.Bits.ID11 #define PARTIDH_ID12 _PARTIDH.Bits.ID12 #define PARTIDH_ID13 _PARTIDH.Bits.ID13 #define PARTIDH_ID14 _PARTIDH.Bits.ID14 #define PARTIDH_ID15 _PARTIDH.Bits.ID15 #define PARTIDH_ID_8 _PARTIDH.MergedBits.grpID_8 #define PARTIDH_ID PARTIDH_ID_8 #define PARTIDH_ID8_MASK 1 #define PARTIDH_ID9_MASK 2 #define PARTIDH_ID10_MASK 4 #define PARTIDH_ID11_MASK 8 #define PARTIDH_ID12_MASK 16 #define PARTIDH_ID13_MASK 32 #define PARTIDH_ID14_MASK 64 #define PARTIDH_ID15_MASK 128 #define PARTIDH_ID_8_MASK 255 #define PARTIDH_ID_8_BITNUM 0 /*** PARTIDL - Part ID Register Lw; 0x0000001B ***/ typedef union { byte Byte; struct { word ID0 :1; /* Part ID Register Bit 0 */ word ID1 :1; /* Part ID Register Bit 1 */ word ID2 :1; /* Part ID Register Bit 2 */ word ID3 :1; /* Part ID Register Bit 3 */ word ID4 :1; /* Part ID Register Bit 4 */ word ID5 :1; /* Part ID Register Bit 5 */ word ID6 :1; /* Part ID Register Bit 6 */ word ID7 :1; /* Part ID Register Bit 7 */ } Bits; struct { word grpID :8; } MergedBits; } PARTIDLSTR; #define _PARTIDL (*(PARTIDLSTR volatile *)(_IO_BASE + 0x0000001B)) #define PARTIDL _PARTIDL.Byte #define PARTIDL_ID0 _PARTIDL.Bits.ID0 #define PARTIDL_ID1 _PARTIDL.Bits.ID1 #define PARTIDL_ID2 _PARTIDL.Bits.ID2 #define PARTIDL_ID3 _PARTIDL.Bits.ID3 #define PARTIDL_ID4 _PARTIDL.Bits.ID4 #define PARTIDL_ID5 _PARTIDL.Bits.ID5 #define PARTIDL_ID6 _PARTIDL.Bits.ID6 #define PARTIDL_ID7 _PARTIDL.Bits.ID7 #define PARTIDL_ID _PARTIDL.MergedBits.grpID #define PARTIDL_ID0_MASK 1 #define PARTIDL_ID1_MASK 2 #define PARTIDL_ID2_MASK 4 #define PARTIDL_ID3_MASK 8 #define PARTIDL_ID4_MASK 16 #define PARTIDL_ID5_MASK 32 #define PARTIDL_ID6_MASK 64 #define PARTIDL_ID7_MASK 128 #define PARTIDL_ID_MASK 255 #define PARTIDL_ID_BITNUM 0 /*** MEMSIZ0 - Memory Size Register Zero; 0x0000001C ***/ typedef union { byte Byte; struct { word ram_sw0 :1; /* Allocated RAM Memory Space Bit 0 */ word ram_sw1 :1; /* Allocated RAM Memory Space Bit 1 */ word ram_sw2 :1; /* Allocated RAM Memory Space Bit 2 */ word :1; word eep_sw0 :1; /* Allocated EEPROM Memory Space Bit 0 */ word eep_sw1 :1; /* Allocated EEPROM Memory Space Bit 1 */ word :1; word reg_sw0 :1; /* Allocated System Register Space */ } Bits; struct { word grpram_sw :3; word :1; word grpeep_sw :2; word :1; word grpreg_sw :1; } MergedBits; } MEMSIZ0STR; #define _MEMSIZ0 (*(MEMSIZ0STR volatile *)(_IO_BASE + 0x0000001C)) #define MEMSIZ0 _MEMSIZ0.Byte #define MEMSIZ0_ram_sw0 _MEMSIZ0.Bits.ram_sw0 #define MEMSIZ0_ram_sw1 _MEMSIZ0.Bits.ram_sw1 #define MEMSIZ0_ram_sw2 _MEMSIZ0.Bits.ram_sw2 #define MEMSIZ0_eep_sw0 _MEMSIZ0.Bits.eep_sw0 #define MEMSIZ0_eep_sw1 _MEMSIZ0.Bits.eep_sw1 #define MEMSIZ0_reg_sw0 _MEMSIZ0.Bits.reg_sw0 #define MEMSIZ0_ram_sw _MEMSIZ0.MergedBits.grpram_sw #define MEMSIZ0_eep_sw _MEMSIZ0.MergedBits.grpeep_sw #define MEMSIZ0_ram_sw0_MASK 1 #define MEMSIZ0_ram_sw1_MASK 2 #define MEMSIZ0_ram_sw2_MASK 4 #define MEMSIZ0_eep_sw0_MASK 16 #define MEMSIZ0_eep_sw1_MASK 32 #define MEMSIZ0_reg_sw0_MASK 128 #define MEMSIZ0_ram_sw_MASK 7 #define MEMSIZ0_ram_sw_BITNUM 0 #define MEMSIZ0_eep_sw_MASK 48 #define MEMSIZ0_eep_sw_BITNUM 4 /*** MEMSIZ1 - Memory Size Register One; 0x0000001D ***/ typedef union { byte Byte; struct { word pag_sw0 :1; /* Allocated Off-Chip Memory Options Bit 0 */ word pag_sw1 :1; /* Allocated Off-Chip Memory Options Bit 1 */ word :1; word :1; word :1; word :1; word rom_sw0 :1; /* Allocated Flash EEPROM/ROM Physical Memory Space Bit 0 */ word rom_sw1 :1; /* Allocated Flash EEPROM/ROM Physical Memory Space Bit 1 */ } Bits; struct { word grppag_sw :2; word :1; word :1; word :1; word :1; word grprom_sw :2; } MergedBits; } MEMSIZ1STR; #define _MEMSIZ1 (*(MEMSIZ1STR volatile *)(_IO_BASE + 0x0000001D)) #define MEMSIZ1 _MEMSIZ1.Byte #define MEMSIZ1_pag_sw0 _MEMSIZ1.Bits.pag_sw0 #define MEMSIZ1_pag_sw1 _MEMSIZ1.Bits.pag_sw1 #define MEMSIZ1_rom_sw0 _MEMSIZ1.Bits.rom_sw0 #define MEMSIZ1_rom_sw1 _MEMSIZ1.Bits.rom_sw1 #define MEMSIZ1_pag_sw _MEMSIZ1.MergedBits.grppag_sw #define MEMSIZ1_rom_sw _MEMSIZ1.MergedBits.grprom_sw #define MEMSIZ1_pag_sw0_MASK 1 #define MEMSIZ1_pag_sw1_MASK 2 #define MEMSIZ1_rom_sw0_MASK 64 #define MEMSIZ1_rom_sw1_MASK 128 #define MEMSIZ1_pag_sw_MASK 3 #define MEMSIZ1_pag_sw_BITNUM 0 #define MEMSIZ1_rom_sw_MASK 192 #define MEMSIZ1_rom_sw_BITNUM 6 /*** INTCR - Interrupt Control Register; 0x0000001E ***/ typedef union { byte Byte; struct { word :1; word :1; word :1; word :1; word :1; word :1; word IRQEN :1; /* External IRQ Enable */ word IRQE :1; /* IRQ Select Edge Sensitive Only */ } Bits; } INTCRSTR; #define _INTCR (*(INTCRSTR volatile *)(_IO_BASE + 0x0000001E)) #define INTCR _INTCR.Byte #define INTCR_IRQEN _INTCR.Bits.IRQEN #define INTCR_IRQE _INTCR.Bits.IRQE #define INTCR_IRQEN_MASK 64 #define INTCR_IRQE_MASK 128 /*** HPRIO - Highest Priority I Interrupt; 0x0000001F ***/ typedef union { byte Byte; struct { word :1; word PSEL1 :1; /* Highest Priority I Interrupt Bit 1 */ word PSEL2 :1; /* Highest Priority I Interrupt Bit 2 */ word PSEL3 :1; /* Highest Priority I Interrupt Bit 3 */ word PSEL4 :1; /* Highest Priority I Interrupt Bit 4 */ word PSEL5 :1; /* Highest Priority I Interrupt Bit 5 */ word PSEL6 :1; /* Highest Priority I Interrupt Bit 6 */ word PSEL7 :1; /* Highest Priority I Interrupt Bit 7 */ } Bits; struct { word :1; word grpPSEL_1 :7; } MergedBits; } HPRIOSTR; #define _HPRIO (*(HPRIOSTR volatile *)(_IO_BASE + 0x0000001F)) #define HPRIO _HPRIO.Byte #define HPRIO_PSEL1 _HPRIO.Bits.PSEL1 #define HPRIO_PSEL2 _HPRIO.Bits.PSEL2 #define HPRIO_PSEL3 _HPRIO.Bits.PSEL3 #define HPRIO_PSEL4 _HPRIO.Bits.PSEL4 #define HPRIO_PSEL5 _HPRIO.Bits.PSEL5 #define HPRIO_PSEL6 _HPRIO.Bits.PSEL6 #define HPRIO_PSEL7 _HPRIO.Bits.PSEL7 #define HPRIO_PSEL_1 _HPRIO.MergedBits.grpPSEL_1 #define HPRIO_PSEL HPRIO_PSEL_1 #define HPRIO_PSEL1_MASK 2 #define HPRIO_PSEL2_MASK 4 #define HPRIO_PSEL3_MASK 8 #define HPRIO_PSEL4_MASK 16 #define HPRIO_PSEL5_MASK 32 #define HPRIO_PSEL6_MASK 64 #define HPRIO_PSEL7_MASK 128 #define HPRIO_PSEL_1_MASK 254 #define HPRIO_PSEL_1_BITNUM 1 /*** DBGC1 - Debug Control Register 1; 0x00000020 ***/ typedef union { byte Byte; struct { word CAPMOD0 :1; /* Capture Mode Field, bit 0 */ word CAPMOD1 :1; /* Capture Mode Field, bit 1 */ word :1; word DBGBRK :1; /* DBG Breakpoint Enable Bit */ word BEGIN :1; /* Begin/End Trigger Bit */ word TRGSEL :1; /* Trigger Selection Bit */ word ARM :1; /* Arm Bit */ word DBGEN :1; /* DBG Mode Enable Bit */ } Bits; struct { word grpCAPMOD :2; word :1; word :1; word :1; word :1; word :1; word :1; } MergedBits; } DBGC1STR; #define _DBGC1 (*(DBGC1STR volatile *)(_IO_BASE + 0x00000020)) #define DBGC1 _DBGC1.Byte #define DBGC1_CAPMOD0 _DBGC1.Bits.CAPMOD0 #define DBGC1_CAPMOD1 _DBGC1.Bits.CAPMOD1 #define DBGC1_DBGBRK _DBGC1.Bits.DBGBRK #define DBGC1_BEGIN _DBGC1.Bits.BEGIN #define DBGC1_TRGSEL _DBGC1.Bits.TRGSEL #define DBGC1_ARM _DBGC1.Bits.ARM #define DBGC1_DBGEN _DBGC1.Bits.DBGEN #define DBGC1_CAPMOD _DBGC1.MergedBits.grpCAPMOD #define DBGC1_CAPMOD0_MASK 1 #define DBGC1_CAPMOD1_MASK 2 #define DBGC1_DBGBRK_MASK 8 #define DBGC1_BEGIN_MASK 16 #define DBGC1_TRGSEL_MASK 32 #define DBGC1_ARM_MASK 64 #define DBGC1_DBGEN_MASK 128 #define DBGC1_CAPMOD_MASK 3 #define DBGC1_CAPMOD_BITNUM 0 /*** DBGSC - Debug Status and Control Register; 0x00000021 ***/ typedef union { byte Byte; struct { word TRG0 :1; /* Trigger Mode Bits, bit 0 */ word TRG1 :1; /* Trigger Mode Bits, bit 1 */ word TRG2 :1; /* Trigger Mode Bits, bit 2 */ word TRG3 :1; /* Trigger Mode Bits, bit 3 */ word :1; word CF :1; /* Comparator C Match Flag */ word BF :1; /* Trigger B Match Flag */ word AF :1; /* Trigger A Match Flag */ } Bits; struct { word grpTRG :4; word :1; word :1; word :1; word :1; } MergedBits; } DBGSCSTR; #define _DBGSC (*(DBGSCSTR volatile *)(_IO_BASE + 0x00000021)) #define DBGSC _DBGSC.Byte #define DBGSC_TRG0 _DBGSC.Bits.TRG0 #define DBGSC_TRG1 _DBGSC.Bits.TRG1 #define DBGSC_TRG2 _DBGSC.Bits.TRG2 #define DBGSC_TRG3 _DBGSC.Bits.TRG3 #define DBGSC_CF _DBGSC.Bits.CF #define DBGSC_BF _DBGSC.Bits.BF #define DBGSC_AF _DBGSC.Bits.AF #define DBGSC_TRG _DBGSC.MergedBits.grpTRG #define DBGSC_TRG0_MASK 1 #define DBGSC_TRG1_MASK 2 #define DBGSC_TRG2_MASK 4 #define DBGSC_TRG3_MASK 8 #define DBGSC_CF_MASK 32 #define DBGSC_BF_MASK 64 #define DBGSC_AF_MASK 128 #define DBGSC_TRG_MASK 15 #define DBGSC_TRG_BITNUM 0 /*** DBGTB - Debug Trace Buffer Register; 0x00000022 ***/ typedef union { word Word; struct { /*** DBGTBH - Debug Trace Buffer Register High; 0x00000022 ***/ union { byte Byte; struct { word BIT8 :1; /* Trace Buffer Data Bit 8 */ word BIT9 :1; /* Trace Buffer Data Bit 9 */ word BIT10 :1; /* Trace Buffer Data Bit 10 */ word BIT11 :1; /* Trace Buffer Data Bit 11 */ word BIT12 :1; /* Trace Buffer Data Bit 12 */ word BIT13 :1; /* Trace Buffer Data Bit 13 */ word BIT14 :1; /* Trace Buffer Data Bit 14 */ word BIT15 :1; /* Trace Buffer Data Bit 15 */ } Bits; struct { word grpBIT_8 :8; } MergedBits; } DBGTBHSTR; #define DBGTBH _DBGTB.Overlap_STR.DBGTBHSTR.Byte #define DBGTBH_BIT8 _DBGTB.Overlap_STR.DBGTBHSTR.Bits.BIT8 #define DBGTBH_BIT9 _DBGTB.Overlap_STR.DBGTBHSTR.Bits.BIT9 #define DBGTBH_BIT10 _DBGTB.Overlap_STR.DBGTBHSTR.Bits.BIT10 #define DBGTBH_BIT11 _DBGTB.Overlap_STR.DBGTBHSTR.Bits.BIT11 #define DBGTBH_BIT12 _DBGTB.Overlap_STR.DBGTBHSTR.Bits.BIT12 #define DBGTBH_BIT13 _DBGTB.Overlap_STR.DBGTBHSTR.Bits.BIT13 #define DBGTBH_BIT14 _DBGTB.Overlap_STR.DBGTBHSTR.Bits.BIT14 #define DBGTBH_BIT15 _DBGTB.Overlap_STR.DBGTBHSTR.Bits.BIT15 #define DBGTBH_BIT_8 _DBGTB.Overlap_STR.DBGTBHSTR.MergedBits.grpBIT_8 #define DBGTBH_BIT DBGTBH_BIT_8 #define DBGTBH_BIT8_MASK 1 #define DBGTBH_BIT9_MASK 2 #define DBGTBH_BIT10_MASK 4 #define DBGTBH_BIT11_MASK 8 #define DBGTBH_BIT12_MASK 16 #define DBGTBH_BIT13_MASK 32 #define DBGTBH_BIT14_MASK 64 #define DBGTBH_BIT15_MASK 128 #define DBGTBH_BIT_8_MASK 255 #define DBGTBH_BIT_8_BITNUM 0 /*** DBGTBL - Debug Trace Buffer Register Low; 0x00000023 ***/ union { byte Byte; struct { word BIT0 :1; /* Trace Buffer Data Bit 0 */ word BIT1 :1; /* Trace Buffer Data Bit 1 */ word BIT2 :1; /* Trace Buffer Data Bit 2 */ word BIT3 :1; /* Trace Buffer Data Bit 3 */ word BIT4 :1; /* Trace Buffer Data Bit 4 */ word BIT5 :1; /* Trace Buffer Data Bit 5 */ word BIT6 :1; /* Trace Buffer Data Bit 6 */ word BIT7 :1; /* Trace Buffer Data Bit 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } DBGTBLSTR; #define DBGTBL _DBGTB.Overlap_STR.DBGTBLSTR.Byte #define DBGTBL_BIT0 _DBGTB.Overlap_STR.DBGTBLSTR.Bits.BIT0 #define DBGTBL_BIT1 _DBGTB.Overlap_STR.DBGTBLSTR.Bits.BIT1 #define DBGTBL_BIT2 _DBGTB.Overlap_STR.DBGTBLSTR.Bits.BIT2 #define DBGTBL_BIT3 _DBGTB.Overlap_STR.DBGTBLSTR.Bits.BIT3 #define DBGTBL_BIT4 _DBGTB.Overlap_STR.DBGTBLSTR.Bits.BIT4 #define DBGTBL_BIT5 _DBGTB.Overlap_STR.DBGTBLSTR.Bits.BIT5 #define DBGTBL_BIT6 _DBGTB.Overlap_STR.DBGTBLSTR.Bits.BIT6 #define DBGTBL_BIT7 _DBGTB.Overlap_STR.DBGTBLSTR.Bits.BIT7 #define DBGTBL_BIT _DBGTB.Overlap_STR.DBGTBLSTR.MergedBits.grpBIT #define DBGTBL_BIT0_MASK 1 #define DBGTBL_BIT1_MASK 2 #define DBGTBL_BIT2_MASK 4 #define DBGTBL_BIT3_MASK 8 #define DBGTBL_BIT4_MASK 16 #define DBGTBL_BIT5_MASK 32 #define DBGTBL_BIT6_MASK 64 #define DBGTBL_BIT7_MASK 128 #define DBGTBL_BIT_MASK 255 #define DBGTBL_BIT_BITNUM 0 } Overlap_STR; struct { word BIT0 :1; /* Trace Buffer Data Bit 0 */ word BIT1 :1; /* Trace Buffer Data Bit 1 */ word BIT2 :1; /* Trace Buffer Data Bit 2 */ word BIT3 :1; /* Trace Buffer Data Bit 3 */ word BIT4 :1; /* Trace Buffer Data Bit 4 */ word BIT5 :1; /* Trace Buffer Data Bit 5 */ word BIT6 :1; /* Trace Buffer Data Bit 6 */ word BIT7 :1; /* Trace Buffer Data Bit 7 */ word BIT8 :1; /* Trace Buffer Data Bit 8 */ word BIT9 :1; /* Trace Buffer Data Bit 9 */ word BIT10 :1; /* Trace Buffer Data Bit 10 */ word BIT11 :1; /* Trace Buffer Data Bit 11 */ word BIT12 :1; /* Trace Buffer Data Bit 12 */ word BIT13 :1; /* Trace Buffer Data Bit 13 */ word BIT14 :1; /* Trace Buffer Data Bit 14 */ word BIT15 :1; /* Trace Buffer Data Bit 15 */ } Bits; struct { word grpBIT :16; } MergedBits; } DBGTBSTR; #define _DBGTB (*(DBGTBSTR volatile *)(_IO_BASE + 0x00000022)) #define DBGTB _DBGTB.Word #define DBGTB_BIT0 _DBGTB.Bits.BIT0 #define DBGTB_BIT1 _DBGTB.Bits.BIT1 #define DBGTB_BIT2 _DBGTB.Bits.BIT2 #define DBGTB_BIT3 _DBGTB.Bits.BIT3 #define DBGTB_BIT4 _DBGTB.Bits.BIT4 #define DBGTB_BIT5 _DBGTB.Bits.BIT5 #define DBGTB_BIT6 _DBGTB.Bits.BIT6 #define DBGTB_BIT7 _DBGTB.Bits.BIT7 #define DBGTB_BIT8 _DBGTB.Bits.BIT8 #define DBGTB_BIT9 _DBGTB.Bits.BIT9 #define DBGTB_BIT10 _DBGTB.Bits.BIT10 #define DBGTB_BIT11 _DBGTB.Bits.BIT11 #define DBGTB_BIT12 _DBGTB.Bits.BIT12 #define DBGTB_BIT13 _DBGTB.Bits.BIT13 #define DBGTB_BIT14 _DBGTB.Bits.BIT14 #define DBGTB_BIT15 _DBGTB.Bits.BIT15 #define DBGTB_BIT _DBGTB.MergedBits.grpBIT #define DBGTB_BIT0_MASK 1 #define DBGTB_BIT1_MASK 2 #define DBGTB_BIT2_MASK 4 #define DBGTB_BIT3_MASK 8 #define DBGTB_BIT4_MASK 16 #define DBGTB_BIT5_MASK 32 #define DBGTB_BIT6_MASK 64 #define DBGTB_BIT7_MASK 128 #define DBGTB_BIT8_MASK 256 #define DBGTB_BIT9_MASK 512 #define DBGTB_BIT10_MASK 1024 #define DBGTB_BIT11_MASK 2048 #define DBGTB_BIT12_MASK 4096 #define DBGTB_BIT13_MASK 8192 #define DBGTB_BIT14_MASK 16384 #define DBGTB_BIT15_MASK 32768 #define DBGTB_BIT_MASK 65535 #define DBGTB_BIT_BITNUM 0 /*** DBGCNT - Debug Count Register; 0x00000024 ***/ typedef union { byte Byte; struct { word CNT0 :1; /* Count Value, bit 0 */ word CNT1 :1; /* Count Value, bit 1 */ word CNT2 :1; /* Count Value, bit 2 */ word CNT3 :1; /* Count Value, bit 3 */ word CNT4 :1; /* Count Value, bit 4 */ word CNT5 :1; /* Count Value, bit 5 */ word :1; word TBF :1; /* Trace Buffer Full */ } Bits; struct { word grpCNT :6; word :1; word :1; } MergedBits; } DBGCNTSTR; #define _DBGCNT (*(DBGCNTSTR volatile *)(_IO_BASE + 0x00000024)) #define DBGCNT _DBGCNT.Byte #define DBGCNT_CNT0 _DBGCNT.Bits.CNT0 #define DBGCNT_CNT1 _DBGCNT.Bits.CNT1 #define DBGCNT_CNT2 _DBGCNT.Bits.CNT2 #define DBGCNT_CNT3 _DBGCNT.Bits.CNT3 #define DBGCNT_CNT4 _DBGCNT.Bits.CNT4 #define DBGCNT_CNT5 _DBGCNT.Bits.CNT5 #define DBGCNT_TBF _DBGCNT.Bits.TBF #define DBGCNT_CNT _DBGCNT.MergedBits.grpCNT #define DBGCNT_CNT0_MASK 1 #define DBGCNT_CNT1_MASK 2 #define DBGCNT_CNT2_MASK 4 #define DBGCNT_CNT3_MASK 8 #define DBGCNT_CNT4_MASK 16 #define DBGCNT_CNT5_MASK 32 #define DBGCNT_TBF_MASK 128 #define DBGCNT_CNT_MASK 63 #define DBGCNT_CNT_BITNUM 0 /*** DBGCCX - Debug Comparator C Extended Register; 0x00000025 ***/ typedef union { byte Byte; struct { word EXTCMP0 :1; /* Comparator C Extended Compare Bits, bit 0 */ word EXTCMP1 :1; /* Comparator C Extended Compare Bits, bit 1 */ word EXTCMP2 :1; /* Comparator C Extended Compare Bits, bit 2 */ word EXTCMP3 :1; /* Comparator C Extended Compare Bits, bit 3 */ word EXTCMP4 :1; /* Comparator C Extended Compare Bits, bit 4 */ word EXTCMP5 :1; /* Comparator C Extended Compare Bits, bit 5 */ word PAGSEL0 :1; /* Page Selector Field, bit 0 */ word PAGSEL1 :1; /* Page Selector Field, bit 1 */ } Bits; struct { word grpEXTCMP :6; word grpPAGSEL :2; } MergedBits; } DBGCCXSTR; #define _DBGCCX (*(DBGCCXSTR volatile *)(_IO_BASE + 0x00000025)) #define DBGCCX _DBGCCX.Byte #define DBGCCX_EXTCMP0 _DBGCCX.Bits.EXTCMP0 #define DBGCCX_EXTCMP1 _DBGCCX.Bits.EXTCMP1 #define DBGCCX_EXTCMP2 _DBGCCX.Bits.EXTCMP2 #define DBGCCX_EXTCMP3 _DBGCCX.Bits.EXTCMP3 #define DBGCCX_EXTCMP4 _DBGCCX.Bits.EXTCMP4 #define DBGCCX_EXTCMP5 _DBGCCX.Bits.EXTCMP5 #define DBGCCX_PAGSEL0 _DBGCCX.Bits.PAGSEL0 #define DBGCCX_PAGSEL1 _DBGCCX.Bits.PAGSEL1 #define DBGCCX_EXTCMP _DBGCCX.MergedBits.grpEXTCMP #define DBGCCX_PAGSEL _DBGCCX.MergedBits.grpPAGSEL #define DBGCCX_EXTCMP0_MASK 1 #define DBGCCX_EXTCMP1_MASK 2 #define DBGCCX_EXTCMP2_MASK 4 #define DBGCCX_EXTCMP3_MASK 8 #define DBGCCX_EXTCMP4_MASK 16 #define DBGCCX_EXTCMP5_MASK 32 #define DBGCCX_PAGSEL0_MASK 64 #define DBGCCX_PAGSEL1_MASK 128 #define DBGCCX_EXTCMP_MASK 63 #define DBGCCX_EXTCMP_BITNUM 0 #define DBGCCX_PAGSEL_MASK 192 #define DBGCCX_PAGSEL_BITNUM 6 /*** DBGCC - Debug Comparator C Register; 0x00000026 ***/ typedef union { word Word; struct { /*** DBGCCH - Debug Comparator C Register High; 0x00000026 ***/ union { byte Byte; struct { word BIT8 :1; /* Comparator C Compare Bit 8 */ word BIT9 :1; /* Comparator C Compare Bit 9 */ word BIT10 :1; /* Comparator C Compare Bit 10 */ word BIT11 :1; /* Comparator C Compare Bit 11 */ word BIT12 :1; /* Comparator C Compare Bit 12 */ word BIT13 :1; /* Comparator C Compare Bit 13 */ word BIT14 :1; /* Comparator C Compare Bit 14 */ word BIT15 :1; /* Comparator C Compare Bit 15 */ } Bits; struct { word grpBIT_8 :8; } MergedBits; } DBGCCHSTR; #define DBGCCH _DBGCC.Overlap_STR.DBGCCHSTR.Byte #define DBGCCH_BIT8 _DBGCC.Overlap_STR.DBGCCHSTR.Bits.BIT8 #define DBGCCH_BIT9 _DBGCC.Overlap_STR.DBGCCHSTR.Bits.BIT9 #define DBGCCH_BIT10 _DBGCC.Overlap_STR.DBGCCHSTR.Bits.BIT10 #define DBGCCH_BIT11 _DBGCC.Overlap_STR.DBGCCHSTR.Bits.BIT11 #define DBGCCH_BIT12 _DBGCC.Overlap_STR.DBGCCHSTR.Bits.BIT12 #define DBGCCH_BIT13 _DBGCC.Overlap_STR.DBGCCHSTR.Bits.BIT13 #define DBGCCH_BIT14 _DBGCC.Overlap_STR.DBGCCHSTR.Bits.BIT14 #define DBGCCH_BIT15 _DBGCC.Overlap_STR.DBGCCHSTR.Bits.BIT15 #define DBGCCH_BIT_8 _DBGCC.Overlap_STR.DBGCCHSTR.MergedBits.grpBIT_8 #define DBGCCH_BIT DBGCCH_BIT_8 #define DBGCCH_BIT8_MASK 1 #define DBGCCH_BIT9_MASK 2 #define DBGCCH_BIT10_MASK 4 #define DBGCCH_BIT11_MASK 8 #define DBGCCH_BIT12_MASK 16 #define DBGCCH_BIT13_MASK 32 #define DBGCCH_BIT14_MASK 64 #define DBGCCH_BIT15_MASK 128 #define DBGCCH_BIT_8_MASK 255 #define DBGCCH_BIT_8_BITNUM 0 /*** DBGCCL - Debug Comparator C Register Low; 0x00000027 ***/ union { byte Byte; struct { word BIT0 :1; /* Comparator C Compare Bit 0 */ word BIT1 :1; /* Comparator C Compare Bit 1 */ word BIT2 :1; /* Comparator C Compare Bit 2 */ word BIT3 :1; /* Comparator C Compare Bit 3 */ word BIT4 :1; /* Comparator C Compare Bit 4 */ word BIT5 :1; /* Comparator C Compare Bit 5 */ word BIT6 :1; /* Comparator C Compare Bit 6 */ word BIT7 :1; /* Comparator C Compare Bit 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } DBGCCLSTR; #define DBGCCL _DBGCC.Overlap_STR.DBGCCLSTR.Byte #define DBGCCL_BIT0 _DBGCC.Overlap_STR.DBGCCLSTR.Bits.BIT0 #define DBGCCL_BIT1 _DBGCC.Overlap_STR.DBGCCLSTR.Bits.BIT1 #define DBGCCL_BIT2 _DBGCC.Overlap_STR.DBGCCLSTR.Bits.BIT2 #define DBGCCL_BIT3 _DBGCC.Overlap_STR.DBGCCLSTR.Bits.BIT3 #define DBGCCL_BIT4 _DBGCC.Overlap_STR.DBGCCLSTR.Bits.BIT4 #define DBGCCL_BIT5 _DBGCC.Overlap_STR.DBGCCLSTR.Bits.BIT5 #define DBGCCL_BIT6 _DBGCC.Overlap_STR.DBGCCLSTR.Bits.BIT6 #define DBGCCL_BIT7 _DBGCC.Overlap_STR.DBGCCLSTR.Bits.BIT7 #define DBGCCL_BIT _DBGCC.Overlap_STR.DBGCCLSTR.MergedBits.grpBIT #define DBGCCL_BIT0_MASK 1 #define DBGCCL_BIT1_MASK 2 #define DBGCCL_BIT2_MASK 4 #define DBGCCL_BIT3_MASK 8 #define DBGCCL_BIT4_MASK 16 #define DBGCCL_BIT5_MASK 32 #define DBGCCL_BIT6_MASK 64 #define DBGCCL_BIT7_MASK 128 #define DBGCCL_BIT_MASK 255 #define DBGCCL_BIT_BITNUM 0 } Overlap_STR; struct { word BIT0 :1; /* Comparator C Compare Bit 0 */ word BIT1 :1; /* Comparator C Compare Bit 1 */ word BIT2 :1; /* Comparator C Compare Bit 2 */ word BIT3 :1; /* Comparator C Compare Bit 3 */ word BIT4 :1; /* Comparator C Compare Bit 4 */ word BIT5 :1; /* Comparator C Compare Bit 5 */ word BIT6 :1; /* Comparator C Compare Bit 6 */ word BIT7 :1; /* Comparator C Compare Bit 7 */ word BIT8 :1; /* Comparator C Compare Bit 8 */ word BIT9 :1; /* Comparator C Compare Bit 9 */ word BIT10 :1; /* Comparator C Compare Bit 10 */ word BIT11 :1; /* Comparator C Compare Bit 11 */ word BIT12 :1; /* Comparator C Compare Bit 12 */ word BIT13 :1; /* Comparator C Compare Bit 13 */ word BIT14 :1; /* Comparator C Compare Bit 14 */ word BIT15 :1; /* Comparator C Compare Bit 15 */ } Bits; struct { word grpBIT :16; } MergedBits; } DBGCCSTR; #define _DBGCC (*(DBGCCSTR volatile *)(_IO_BASE + 0x00000026)) #define DBGCC _DBGCC.Word #define DBGCC_BIT0 _DBGCC.Bits.BIT0 #define DBGCC_BIT1 _DBGCC.Bits.BIT1 #define DBGCC_BIT2 _DBGCC.Bits.BIT2 #define DBGCC_BIT3 _DBGCC.Bits.BIT3 #define DBGCC_BIT4 _DBGCC.Bits.BIT4 #define DBGCC_BIT5 _DBGCC.Bits.BIT5 #define DBGCC_BIT6 _DBGCC.Bits.BIT6 #define DBGCC_BIT7 _DBGCC.Bits.BIT7 #define DBGCC_BIT8 _DBGCC.Bits.BIT8 #define DBGCC_BIT9 _DBGCC.Bits.BIT9 #define DBGCC_BIT10 _DBGCC.Bits.BIT10 #define DBGCC_BIT11 _DBGCC.Bits.BIT11 #define DBGCC_BIT12 _DBGCC.Bits.BIT12 #define DBGCC_BIT13 _DBGCC.Bits.BIT13 #define DBGCC_BIT14 _DBGCC.Bits.BIT14 #define DBGCC_BIT15 _DBGCC.Bits.BIT15 #define DBGCC_BIT _DBGCC.MergedBits.grpBIT #define DBGCC_BIT0_MASK 1 #define DBGCC_BIT1_MASK 2 #define DBGCC_BIT2_MASK 4 #define DBGCC_BIT3_MASK 8 #define DBGCC_BIT4_MASK 16 #define DBGCC_BIT5_MASK 32 #define DBGCC_BIT6_MASK 64 #define DBGCC_BIT7_MASK 128 #define DBGCC_BIT8_MASK 256 #define DBGCC_BIT9_MASK 512 #define DBGCC_BIT10_MASK 1024 #define DBGCC_BIT11_MASK 2048 #define DBGCC_BIT12_MASK 4096 #define DBGCC_BIT13_MASK 8192 #define DBGCC_BIT14_MASK 16384 #define DBGCC_BIT15_MASK 32768 #define DBGCC_BIT_MASK 65535 #define DBGCC_BIT_BITNUM 0 /*** DBGC2 - Debug Control Register 2; 0x00000028 ***/ typedef union { byte Byte; struct { word RWC :1; /* Read/Write Comparator C Value Bit */ word RWCEN :1; /* Read/Write Comparator C Enable Bit */ word TAGC :1; /* Comparator C Tag Select */ word BKCEN :1; /* Breakpoint Comparator C Enable Bit */ word TAGAB :1; /* Comparator A/B Tag Select */ word BDM :1; /* Background Debug Mode Enable */ word FULL :1; /* Full Breakpoint Mode Enable */ word BKABEN :1; /* Breakpoint Using Comparator A and B Enable */ } Bits; } DBGC2STR; #define _DBGC2 (*(DBGC2STR volatile *)(_IO_BASE + 0x00000028)) #define DBGC2 _DBGC2.Byte #define DBGC2_RWC _DBGC2.Bits.RWC #define DBGC2_RWCEN _DBGC2.Bits.RWCEN #define DBGC2_TAGC _DBGC2.Bits.TAGC #define DBGC2_BKCEN _DBGC2.Bits.BKCEN #define DBGC2_TAGAB _DBGC2.Bits.TAGAB #define DBGC2_BDM _DBGC2.Bits.BDM #define DBGC2_FULL _DBGC2.Bits.FULL #define DBGC2_BKABEN _DBGC2.Bits.BKABEN #define DBGC2_RWC_MASK 1 #define DBGC2_RWCEN_MASK 2 #define DBGC2_TAGC_MASK 4 #define DBGC2_BKCEN_MASK 8 #define DBGC2_TAGAB_MASK 16 #define DBGC2_BDM_MASK 32 #define DBGC2_FULL_MASK 64 #define DBGC2_BKABEN_MASK 128 /*** DBGC3 - Debug Control Register 3; 0x00000029 ***/ typedef union { byte Byte; struct { word RWB :1; /* Read/Write Comparator B Value Bit */ word RWBEN :1; /* Read/Write Comparator B Enable Bit */ word RWA :1; /* Read/Write Comparator A Value Bit */ word RWAEN :1; /* Read/Write Comparator A Enable Bit */ word BKBMBL :1; /* Breakpoint Mask Low Byte for Second Address */ word BKBMBH :1; /* Breakpoint Mask High Byte for Second Address */ word BKAMBL :1; /* Breakpoint Mask Low Byte for First Address */ word BKAMBH :1; /* Breakpoint Mask High Byte for First Address */ } Bits; } DBGC3STR; #define _DBGC3 (*(DBGC3STR volatile *)(_IO_BASE + 0x00000029)) #define DBGC3 _DBGC3.Byte #define DBGC3_RWB _DBGC3.Bits.RWB #define DBGC3_RWBEN _DBGC3.Bits.RWBEN #define DBGC3_RWA _DBGC3.Bits.RWA #define DBGC3_RWAEN _DBGC3.Bits.RWAEN #define DBGC3_BKBMBL _DBGC3.Bits.BKBMBL #define DBGC3_BKBMBH _DBGC3.Bits.BKBMBH #define DBGC3_BKAMBL _DBGC3.Bits.BKAMBL #define DBGC3_BKAMBH _DBGC3.Bits.BKAMBH #define DBGC3_RWB_MASK 1 #define DBGC3_RWBEN_MASK 2 #define DBGC3_RWA_MASK 4 #define DBGC3_RWAEN_MASK 8 #define DBGC3_BKBMBL_MASK 16 #define DBGC3_BKBMBH_MASK 32 #define DBGC3_BKAMBL_MASK 64 #define DBGC3_BKAMBH_MASK 128 /*** DBGCAX - Debug Comparator A Extended Register; 0x0000002A ***/ typedef union { byte Byte; struct { word PAGSEL0 :1; /* Page Selector Field, bit 0 */ word PAGSEL1 :1; /* Page Selector Field, bit 1 */ word PAGSEL2 :1; /* Page Selector Field, bit 2 */ word PAGSEL3 :1; /* Page Selector Field, bit 3 */ word PAGSEL4 :1; /* Page Selector Field, bit 4 */ word PAGSEL5 :1; /* Page Selector Field, bit 5 */ word EXTCMP0 :1; /* Comparator A Extended Compare Bits, bit 0 */ word EXTCMP1 :1; /* Comparator A Extended Compare Bits, bit 1 */ } Bits; struct { word grpPAGSEL :6; word grpEXTCMP :2; } MergedBits; } DBGCAXSTR; #define _DBGCAX (*(DBGCAXSTR volatile *)(_IO_BASE + 0x0000002A)) #define DBGCAX _DBGCAX.Byte #define DBGCAX_PAGSEL0 _DBGCAX.Bits.PAGSEL0 #define DBGCAX_PAGSEL1 _DBGCAX.Bits.PAGSEL1 #define DBGCAX_PAGSEL2 _DBGCAX.Bits.PAGSEL2 #define DBGCAX_PAGSEL3 _DBGCAX.Bits.PAGSEL3 #define DBGCAX_PAGSEL4 _DBGCAX.Bits.PAGSEL4 #define DBGCAX_PAGSEL5 _DBGCAX.Bits.PAGSEL5 #define DBGCAX_EXTCMP0 _DBGCAX.Bits.EXTCMP0 #define DBGCAX_EXTCMP1 _DBGCAX.Bits.EXTCMP1 #define DBGCAX_PAGSEL _DBGCAX.MergedBits.grpPAGSEL #define DBGCAX_EXTCMP _DBGCAX.MergedBits.grpEXTCMP #define DBGCAX_PAGSEL0_MASK 1 #define DBGCAX_PAGSEL1_MASK 2 #define DBGCAX_PAGSEL2_MASK 4 #define DBGCAX_PAGSEL3_MASK 8 #define DBGCAX_PAGSEL4_MASK 16 #define DBGCAX_PAGSEL5_MASK 32 #define DBGCAX_EXTCMP0_MASK 64 #define DBGCAX_EXTCMP1_MASK 128 #define DBGCAX_PAGSEL_MASK 63 #define DBGCAX_PAGSEL_BITNUM 0 #define DBGCAX_EXTCMP_MASK 192 #define DBGCAX_EXTCMP_BITNUM 6 /*** DBGCA - Debug Comparator A Register; 0x0000002B ***/ typedef union { word Word; struct { /*** DBGCAH - Debug Comparator A Register High; 0x0000002B ***/ union { byte Byte; struct { word BIT8 :1; /* Comparator A Compare Bit 8 */ word BIT9 :1; /* Comparator A Compare Bit 9 */ word BIT10 :1; /* Comparator A Compare Bit 10 */ word BIT11 :1; /* Comparator A Compare Bit 11 */ word BIT12 :1; /* Comparator A Compare Bit 12 */ word BIT13 :1; /* Comparator A Compare Bit 13 */ word BIT14 :1; /* Comparator A Compare Bit 14 */ word BIT15 :1; /* Comparator A Compare Bit 15 */ } Bits; struct { word grpBIT_8 :8; } MergedBits; } DBGCAHSTR; #define DBGCAH _DBGCA.Overlap_STR.DBGCAHSTR.Byte #define DBGCAH_BIT8 _DBGCA.Overlap_STR.DBGCAHSTR.Bits.BIT8 #define DBGCAH_BIT9 _DBGCA.Overlap_STR.DBGCAHSTR.Bits.BIT9 #define DBGCAH_BIT10 _DBGCA.Overlap_STR.DBGCAHSTR.Bits.BIT10 #define DBGCAH_BIT11 _DBGCA.Overlap_STR.DBGCAHSTR.Bits.BIT11 #define DBGCAH_BIT12 _DBGCA.Overlap_STR.DBGCAHSTR.Bits.BIT12 #define DBGCAH_BIT13 _DBGCA.Overlap_STR.DBGCAHSTR.Bits.BIT13 #define DBGCAH_BIT14 _DBGCA.Overlap_STR.DBGCAHSTR.Bits.BIT14 #define DBGCAH_BIT15 _DBGCA.Overlap_STR.DBGCAHSTR.Bits.BIT15 #define DBGCAH_BIT_8 _DBGCA.Overlap_STR.DBGCAHSTR.MergedBits.grpBIT_8 #define DBGCAH_BIT DBGCAH_BIT_8 #define DBGCAH_BIT8_MASK 1 #define DBGCAH_BIT9_MASK 2 #define DBGCAH_BIT10_MASK 4 #define DBGCAH_BIT11_MASK 8 #define DBGCAH_BIT12_MASK 16 #define DBGCAH_BIT13_MASK 32 #define DBGCAH_BIT14_MASK 64 #define DBGCAH_BIT15_MASK 128 #define DBGCAH_BIT_8_MASK 255 #define DBGCAH_BIT_8_BITNUM 0 /*** DBGCAL - Debug Comparator A Register Low; 0x0000002C ***/ union { byte Byte; struct { word BIT0 :1; /* Comparator A Compare Bit 0 */ word BIT1 :1; /* Comparator A Compare Bit 1 */ word BIT2 :1; /* Comparator A Compare Bit 2 */ word BIT3 :1; /* Comparator A Compare Bit 3 */ word BIT4 :1; /* Comparator A Compare Bit 4 */ word BIT5 :1; /* Comparator A Compare Bit 5 */ word BIT6 :1; /* Comparator A Compare Bit 6 */ word BIT7 :1; /* Comparator A Compare Bit 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } DBGCALSTR; #define DBGCAL _DBGCA.Overlap_STR.DBGCALSTR.Byte #define DBGCAL_BIT0 _DBGCA.Overlap_STR.DBGCALSTR.Bits.BIT0 #define DBGCAL_BIT1 _DBGCA.Overlap_STR.DBGCALSTR.Bits.BIT1 #define DBGCAL_BIT2 _DBGCA.Overlap_STR.DBGCALSTR.Bits.BIT2 #define DBGCAL_BIT3 _DBGCA.Overlap_STR.DBGCALSTR.Bits.BIT3 #define DBGCAL_BIT4 _DBGCA.Overlap_STR.DBGCALSTR.Bits.BIT4 #define DBGCAL_BIT5 _DBGCA.Overlap_STR.DBGCALSTR.Bits.BIT5 #define DBGCAL_BIT6 _DBGCA.Overlap_STR.DBGCALSTR.Bits.BIT6 #define DBGCAL_BIT7 _DBGCA.Overlap_STR.DBGCALSTR.Bits.BIT7 #define DBGCAL_BIT _DBGCA.Overlap_STR.DBGCALSTR.MergedBits.grpBIT #define DBGCAL_BIT0_MASK 1 #define DBGCAL_BIT1_MASK 2 #define DBGCAL_BIT2_MASK 4 #define DBGCAL_BIT3_MASK 8 #define DBGCAL_BIT4_MASK 16 #define DBGCAL_BIT5_MASK 32 #define DBGCAL_BIT6_MASK 64 #define DBGCAL_BIT7_MASK 128 #define DBGCAL_BIT_MASK 255 #define DBGCAL_BIT_BITNUM 0 } Overlap_STR; struct { word BIT0 :1; /* Comparator A Compare Bit 0 */ word BIT1 :1; /* Comparator A Compare Bit 1 */ word BIT2 :1; /* Comparator A Compare Bit 2 */ word BIT3 :1; /* Comparator A Compare Bit 3 */ word BIT4 :1; /* Comparator A Compare Bit 4 */ word BIT5 :1; /* Comparator A Compare Bit 5 */ word BIT6 :1; /* Comparator A Compare Bit 6 */ word BIT7 :1; /* Comparator A Compare Bit 7 */ word BIT8 :1; /* Comparator A Compare Bit 8 */ word BIT9 :1; /* Comparator A Compare Bit 9 */ word BIT10 :1; /* Comparator A Compare Bit 10 */ word BIT11 :1; /* Comparator A Compare Bit 11 */ word BIT12 :1; /* Comparator A Compare Bit 12 */ word BIT13 :1; /* Comparator A Compare Bit 13 */ word BIT14 :1; /* Comparator A Compare Bit 14 */ word BIT15 :1; /* Comparator A Compare Bit 15 */ } Bits; struct { word grpBIT :16; } MergedBits; } DBGCASTR; #define _DBGCA (*(DBGCASTR volatile *)(_IO_BASE + 0x0000002B)) #define DBGCA _DBGCA.Word #define DBGCA_BIT0 _DBGCA.Bits.BIT0 #define DBGCA_BIT1 _DBGCA.Bits.BIT1 #define DBGCA_BIT2 _DBGCA.Bits.BIT2 #define DBGCA_BIT3 _DBGCA.Bits.BIT3 #define DBGCA_BIT4 _DBGCA.Bits.BIT4 #define DBGCA_BIT5 _DBGCA.Bits.BIT5 #define DBGCA_BIT6 _DBGCA.Bits.BIT6 #define DBGCA_BIT7 _DBGCA.Bits.BIT7 #define DBGCA_BIT8 _DBGCA.Bits.BIT8 #define DBGCA_BIT9 _DBGCA.Bits.BIT9 #define DBGCA_BIT10 _DBGCA.Bits.BIT10 #define DBGCA_BIT11 _DBGCA.Bits.BIT11 #define DBGCA_BIT12 _DBGCA.Bits.BIT12 #define DBGCA_BIT13 _DBGCA.Bits.BIT13 #define DBGCA_BIT14 _DBGCA.Bits.BIT14 #define DBGCA_BIT15 _DBGCA.Bits.BIT15 #define DBGCA_BIT _DBGCA.MergedBits.grpBIT #define DBGCA_BIT0_MASK 1 #define DBGCA_BIT1_MASK 2 #define DBGCA_BIT2_MASK 4 #define DBGCA_BIT3_MASK 8 #define DBGCA_BIT4_MASK 16 #define DBGCA_BIT5_MASK 32 #define DBGCA_BIT6_MASK 64 #define DBGCA_BIT7_MASK 128 #define DBGCA_BIT8_MASK 256 #define DBGCA_BIT9_MASK 512 #define DBGCA_BIT10_MASK 1024 #define DBGCA_BIT11_MASK 2048 #define DBGCA_BIT12_MASK 4096 #define DBGCA_BIT13_MASK 8192 #define DBGCA_BIT14_MASK 16384 #define DBGCA_BIT15_MASK 32768 #define DBGCA_BIT_MASK 65535 #define DBGCA_BIT_BITNUM 0 /*** DBGCBX - Debug Comparator B Extended Register; 0x0000002D ***/ typedef union { byte Byte; struct { word EXTCMP0 :1; /* Comparator B Extended Compare Bits, bit 0 */ word EXTCMP1 :1; /* Comparator B Extended Compare Bits, bit 1 */ word EXTCMP2 :1; /* Comparator B Extended Compare Bits, bit 2 */ word EXTCMP3 :1; /* Comparator B Extended Compare Bits, bit 3 */ word EXTCMP4 :1; /* Comparator B Extended Compare Bits, bit 4 */ word EXTCMP5 :1; /* Comparator B Extended Compare Bits, bit 5 */ word PAGSEL0 :1; /* Page Selector Field, bit 0 */ word PAGSEL1 :1; /* Page Selector Field, bit 1 */ } Bits; struct { word grpEXTCMP :6; word grpPAGSEL :2; } MergedBits; } DBGCBXSTR; #define _DBGCBX (*(DBGCBXSTR volatile *)(_IO_BASE + 0x0000002D)) #define DBGCBX _DBGCBX.Byte #define DBGCBX_EXTCMP0 _DBGCBX.Bits.EXTCMP0 #define DBGCBX_EXTCMP1 _DBGCBX.Bits.EXTCMP1 #define DBGCBX_EXTCMP2 _DBGCBX.Bits.EXTCMP2 #define DBGCBX_EXTCMP3 _DBGCBX.Bits.EXTCMP3 #define DBGCBX_EXTCMP4 _DBGCBX.Bits.EXTCMP4 #define DBGCBX_EXTCMP5 _DBGCBX.Bits.EXTCMP5 #define DBGCBX_PAGSEL0 _DBGCBX.Bits.PAGSEL0 #define DBGCBX_PAGSEL1 _DBGCBX.Bits.PAGSEL1 #define DBGCBX_EXTCMP _DBGCBX.MergedBits.grpEXTCMP #define DBGCBX_PAGSEL _DBGCBX.MergedBits.grpPAGSEL #define DBGCBX_EXTCMP0_MASK 1 #define DBGCBX_EXTCMP1_MASK 2 #define DBGCBX_EXTCMP2_MASK 4 #define DBGCBX_EXTCMP3_MASK 8 #define DBGCBX_EXTCMP4_MASK 16 #define DBGCBX_EXTCMP5_MASK 32 #define DBGCBX_PAGSEL0_MASK 64 #define DBGCBX_PAGSEL1_MASK 128 #define DBGCBX_EXTCMP_MASK 63 #define DBGCBX_EXTCMP_BITNUM 0 #define DBGCBX_PAGSEL_MASK 192 #define DBGCBX_PAGSEL_BITNUM 6 /*** DBGCB - Debug Comparator B Register; 0x0000002E ***/ typedef union { word Word; struct { /*** DBGCBH - Debug Comparator B Register High; 0x0000002E ***/ union { byte Byte; struct { word BIT8 :1; /* Comparator B High Compare Bit 8 */ word BIT9 :1; /* Comparator B High Compare Bit 9 */ word BIT10 :1; /* Comparator B High Compare Bit 10 */ word BIT11 :1; /* Comparator B High Compare Bit 11 */ word BIT12 :1; /* Comparator B High Compare Bit 12 */ word BIT13 :1; /* Comparator B High Compare Bit 13 */ word BIT14 :1; /* Comparator B High Compare Bit 14 */ word BIT15 :1; /* Comparator B High Compare Bit 15 */ } Bits; struct { word grpBIT_8 :8; } MergedBits; } DBGCBHSTR; #define DBGCBH _DBGCB.Overlap_STR.DBGCBHSTR.Byte #define DBGCBH_BIT8 _DBGCB.Overlap_STR.DBGCBHSTR.Bits.BIT8 #define DBGCBH_BIT9 _DBGCB.Overlap_STR.DBGCBHSTR.Bits.BIT9 #define DBGCBH_BIT10 _DBGCB.Overlap_STR.DBGCBHSTR.Bits.BIT10 #define DBGCBH_BIT11 _DBGCB.Overlap_STR.DBGCBHSTR.Bits.BIT11 #define DBGCBH_BIT12 _DBGCB.Overlap_STR.DBGCBHSTR.Bits.BIT12 #define DBGCBH_BIT13 _DBGCB.Overlap_STR.DBGCBHSTR.Bits.BIT13 #define DBGCBH_BIT14 _DBGCB.Overlap_STR.DBGCBHSTR.Bits.BIT14 #define DBGCBH_BIT15 _DBGCB.Overlap_STR.DBGCBHSTR.Bits.BIT15 #define DBGCBH_BIT_8 _DBGCB.Overlap_STR.DBGCBHSTR.MergedBits.grpBIT_8 #define DBGCBH_BIT DBGCBH_BIT_8 #define DBGCBH_BIT8_MASK 1 #define DBGCBH_BIT9_MASK 2 #define DBGCBH_BIT10_MASK 4 #define DBGCBH_BIT11_MASK 8 #define DBGCBH_BIT12_MASK 16 #define DBGCBH_BIT13_MASK 32 #define DBGCBH_BIT14_MASK 64 #define DBGCBH_BIT15_MASK 128 #define DBGCBH_BIT_8_MASK 255 #define DBGCBH_BIT_8_BITNUM 0 /*** DBGCBL - Debug Comparator B Register Low; 0x0000002F ***/ union { byte Byte; struct { word BIT0 :1; /* Comparator B High Compare Bit 0 */ word BIT1 :1; /* Comparator B High Compare Bit 1 */ word BIT2 :1; /* Comparator B High Compare Bit 2 */ word BIT3 :1; /* Comparator B High Compare Bit 3 */ word BIT4 :1; /* Comparator B High Compare Bit 4 */ word BIT5 :1; /* Comparator B High Compare Bit 5 */ word BIT6 :1; /* Comparator B High Compare Bit 6 */ word BIT7 :1; /* Comparator B High Compare Bit 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } DBGCBLSTR; #define DBGCBL _DBGCB.Overlap_STR.DBGCBLSTR.Byte #define DBGCBL_BIT0 _DBGCB.Overlap_STR.DBGCBLSTR.Bits.BIT0 #define DBGCBL_BIT1 _DBGCB.Overlap_STR.DBGCBLSTR.Bits.BIT1 #define DBGCBL_BIT2 _DBGCB.Overlap_STR.DBGCBLSTR.Bits.BIT2 #define DBGCBL_BIT3 _DBGCB.Overlap_STR.DBGCBLSTR.Bits.BIT3 #define DBGCBL_BIT4 _DBGCB.Overlap_STR.DBGCBLSTR.Bits.BIT4 #define DBGCBL_BIT5 _DBGCB.Overlap_STR.DBGCBLSTR.Bits.BIT5 #define DBGCBL_BIT6 _DBGCB.Overlap_STR.DBGCBLSTR.Bits.BIT6 #define DBGCBL_BIT7 _DBGCB.Overlap_STR.DBGCBLSTR.Bits.BIT7 #define DBGCBL_BIT _DBGCB.Overlap_STR.DBGCBLSTR.MergedBits.grpBIT #define DBGCBL_BIT0_MASK 1 #define DBGCBL_BIT1_MASK 2 #define DBGCBL_BIT2_MASK 4 #define DBGCBL_BIT3_MASK 8 #define DBGCBL_BIT4_MASK 16 #define DBGCBL_BIT5_MASK 32 #define DBGCBL_BIT6_MASK 64 #define DBGCBL_BIT7_MASK 128 #define DBGCBL_BIT_MASK 255 #define DBGCBL_BIT_BITNUM 0 } Overlap_STR; struct { word BIT0 :1; /* Comparator B High Compare Bit 0 */ word BIT1 :1; /* Comparator B High Compare Bit 1 */ word BIT2 :1; /* Comparator B High Compare Bit 2 */ word BIT3 :1; /* Comparator B High Compare Bit 3 */ word BIT4 :1; /* Comparator B High Compare Bit 4 */ word BIT5 :1; /* Comparator B High Compare Bit 5 */ word BIT6 :1; /* Comparator B High Compare Bit 6 */ word BIT7 :1; /* Comparator B High Compare Bit 7 */ word BIT8 :1; /* Comparator B High Compare Bit 8 */ word BIT9 :1; /* Comparator B High Compare Bit 9 */ word BIT10 :1; /* Comparator B High Compare Bit 10 */ word BIT11 :1; /* Comparator B High Compare Bit 11 */ word BIT12 :1; /* Comparator B High Compare Bit 12 */ word BIT13 :1; /* Comparator B High Compare Bit 13 */ word BIT14 :1; /* Comparator B High Compare Bit 14 */ word BIT15 :1; /* Comparator B High Compare Bit 15 */ } Bits; struct { word grpBIT :16; } MergedBits; } DBGCBSTR; #define _DBGCB (*(DBGCBSTR volatile *)(_IO_BASE + 0x0000002E)) #define DBGCB _DBGCB.Word #define DBGCB_BIT0 _DBGCB.Bits.BIT0 #define DBGCB_BIT1 _DBGCB.Bits.BIT1 #define DBGCB_BIT2 _DBGCB.Bits.BIT2 #define DBGCB_BIT3 _DBGCB.Bits.BIT3 #define DBGCB_BIT4 _DBGCB.Bits.BIT4 #define DBGCB_BIT5 _DBGCB.Bits.BIT5 #define DBGCB_BIT6 _DBGCB.Bits.BIT6 #define DBGCB_BIT7 _DBGCB.Bits.BIT7 #define DBGCB_BIT8 _DBGCB.Bits.BIT8 #define DBGCB_BIT9 _DBGCB.Bits.BIT9 #define DBGCB_BIT10 _DBGCB.Bits.BIT10 #define DBGCB_BIT11 _DBGCB.Bits.BIT11 #define DBGCB_BIT12 _DBGCB.Bits.BIT12 #define DBGCB_BIT13 _DBGCB.Bits.BIT13 #define DBGCB_BIT14 _DBGCB.Bits.BIT14 #define DBGCB_BIT15 _DBGCB.Bits.BIT15 #define DBGCB_BIT _DBGCB.MergedBits.grpBIT #define DBGCB_BIT0_MASK 1 #define DBGCB_BIT1_MASK 2 #define DBGCB_BIT2_MASK 4 #define DBGCB_BIT3_MASK 8 #define DBGCB_BIT4_MASK 16 #define DBGCB_BIT5_MASK 32 #define DBGCB_BIT6_MASK 64 #define DBGCB_BIT7_MASK 128 #define DBGCB_BIT8_MASK 256 #define DBGCB_BIT9_MASK 512 #define DBGCB_BIT10_MASK 1024 #define DBGCB_BIT11_MASK 2048 #define DBGCB_BIT12_MASK 4096 #define DBGCB_BIT13_MASK 8192 #define DBGCB_BIT14_MASK 16384 #define DBGCB_BIT15_MASK 32768 #define DBGCB_BIT_MASK 65535 #define DBGCB_BIT_BITNUM 0 /*** PPAGE - Page Index Register; 0x00000030 ***/ typedef union { byte Byte; struct { word PIX0 :1; /* Page Index Register Bit 0 */ word PIX1 :1; /* Page Index Register Bit 1 */ word PIX2 :1; /* Page Index Register Bit 2 */ word PIX3 :1; /* Page Index Register Bit 3 */ word PIX4 :1; /* Page Index Register Bit 4 */ word PIX5 :1; /* Page Index Register Bit 5 */ word :1; word :1; } Bits; struct { word grpPIX :6; word :1; word :1; } MergedBits; } PPAGESTR; #define _PPAGE (*(PPAGESTR volatile *)(_IO_BASE + 0x00000030)) #define PPAGE _PPAGE.Byte #define PPAGE_PIX0 _PPAGE.Bits.PIX0 #define PPAGE_PIX1 _PPAGE.Bits.PIX1 #define PPAGE_PIX2 _PPAGE.Bits.PIX2 #define PPAGE_PIX3 _PPAGE.Bits.PIX3 #define PPAGE_PIX4 _PPAGE.Bits.PIX4 #define PPAGE_PIX5 _PPAGE.Bits.PIX5 #define PPAGE_PIX _PPAGE.MergedBits.grpPIX #define PPAGE_PIX0_MASK 1 #define PPAGE_PIX1_MASK 2 #define PPAGE_PIX2_MASK 4 #define PPAGE_PIX3_MASK 8 #define PPAGE_PIX4_MASK 16 #define PPAGE_PIX5_MASK 32 #define PPAGE_PIX_MASK 63 #define PPAGE_PIX_BITNUM 0 /*** PORTK - Port K Data Register; 0x00000032 ***/ typedef union { byte Byte; struct { word BIT0 :1; /* Port K Bit 0 */ word BIT1 :1; /* Port K Bit 1 */ word BIT2 :1; /* Port K Bit 2 */ word BIT3 :1; /* Port K Bit 3 */ word BIT4 :1; /* Port K Bit 4 */ word BIT5 :1; /* Port K Bit 5 */ word BIT6 :1; /* Port K Bit 6 */ word BIT7 :1; /* Port K Bit 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } PORTKSTR; #define _PORTK (*(PORTKSTR volatile *)(_IO_BASE + 0x00000032)) #define PORTK _PORTK.Byte #define PORTK_BIT0 _PORTK.Bits.BIT0 #define PORTK_BIT1 _PORTK.Bits.BIT1 #define PORTK_BIT2 _PORTK.Bits.BIT2 #define PORTK_BIT3 _PORTK.Bits.BIT3 #define PORTK_BIT4 _PORTK.Bits.BIT4 #define PORTK_BIT5 _PORTK.Bits.BIT5 #define PORTK_BIT6 _PORTK.Bits.BIT6 #define PORTK_BIT7 _PORTK.Bits.BIT7 #define PORTK_BIT _PORTK.MergedBits.grpBIT #define PORTK_BIT0_MASK 1 #define PORTK_BIT1_MASK 2 #define PORTK_BIT2_MASK 4 #define PORTK_BIT3_MASK 8 #define PORTK_BIT4_MASK 16 #define PORTK_BIT5_MASK 32 #define PORTK_BIT6_MASK 64 #define PORTK_BIT7_MASK 128 #define PORTK_BIT_MASK 255 #define PORTK_BIT_BITNUM 0 /*** DDRK - Port K Data Direction Register; 0x00000033 ***/ typedef union { byte Byte; struct { word BIT0 :1; /* Port K Data Direction Bit 0 */ word BIT1 :1; /* Port K Data Direction Bit 1 */ word BIT2 :1; /* Port K Data Direction Bit 2 */ word BIT3 :1; /* Port K Data Direction Bit 3 */ word BIT4 :1; /* Port K Data Direction Bit 4 */ word BIT5 :1; /* Port K Data Direction Bit 5 */ word BIT6 :1; /* Port K Data Direction Bit 6 */ word BIT7 :1; /* Port K Data Direction Bit 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } DDRKSTR; #define _DDRK (*(DDRKSTR volatile *)(_IO_BASE + 0x00000033)) #define DDRK _DDRK.Byte #define DDRK_BIT0 _DDRK.Bits.BIT0 #define DDRK_BIT1 _DDRK.Bits.BIT1 #define DDRK_BIT2 _DDRK.Bits.BIT2 #define DDRK_BIT3 _DDRK.Bits.BIT3 #define DDRK_BIT4 _DDRK.Bits.BIT4 #define DDRK_BIT5 _DDRK.Bits.BIT5 #define DDRK_BIT6 _DDRK.Bits.BIT6 #define DDRK_BIT7 _DDRK.Bits.BIT7 #define DDRK_BIT _DDRK.MergedBits.grpBIT #define DDRK_BIT0_MASK 1 #define DDRK_BIT1_MASK 2 #define DDRK_BIT2_MASK 4 #define DDRK_BIT3_MASK 8 #define DDRK_BIT4_MASK 16 #define DDRK_BIT5_MASK 32 #define DDRK_BIT6_MASK 64 #define DDRK_BIT7_MASK 128 #define DDRK_BIT_MASK 255 #define DDRK_BIT_BITNUM 0 /*** SYNR - CRG Synthesizer Register; 0x00000034 ***/ typedef union { byte Byte; struct { word SYN0 :1; /* CRG Synthesizer Bit 0 */ word SYN1 :1; /* CRG Synthesizer Bit 1 */ word SYN2 :1; /* CRG Synthesizer Bit 2 */ word SYN3 :1; /* CRG Synthesizer Bit 3 */ word SYN4 :1; /* CRG Synthesizer Bit 4 */ word SYN5 :1; /* CRG Synthesizer Bit 5 */ word :1; word :1; } Bits; struct { word grpSYN :6; word :1; word :1; } MergedBits; } SYNRSTR; #define _SYNR (*(SYNRSTR volatile *)(_IO_BASE + 0x00000034)) #define SYNR _SYNR.Byte #define SYNR_SYN0 _SYNR.Bits.SYN0 #define SYNR_SYN1 _SYNR.Bits.SYN1 #define SYNR_SYN2 _SYNR.Bits.SYN2 #define SYNR_SYN3 _SYNR.Bits.SYN3 #define SYNR_SYN4 _SYNR.Bits.SYN4 #define SYNR_SYN5 _SYNR.Bits.SYN5 #define SYNR_SYN _SYNR.MergedBits.grpSYN #define SYNR_SYN0_MASK 1 #define SYNR_SYN1_MASK 2 #define SYNR_SYN2_MASK 4 #define SYNR_SYN3_MASK 8 #define SYNR_SYN4_MASK 16 #define SYNR_SYN5_MASK 32 #define SYNR_SYN_MASK 63 #define SYNR_SYN_BITNUM 0 /*** REFDV - CRG Reference Divider Register; 0x00000035 ***/ typedef union { byte Byte; struct { word REFDV0 :1; /* CRG Reference Divider Bit 0 */ word REFDV1 :1; /* CRG Reference Divider Bit 1 */ word REFDV2 :1; /* CRG Reference Divider Bit 2 */ word REFDV3 :1; /* CRG Reference Divider Bit 3 */ word :1; word :1; word :1; word :1; } Bits; struct { word grpREFDV :4; word :1; word :1; word :1; word :1; } MergedBits; } REFDVSTR; #define _REFDV (*(REFDVSTR volatile *)(_IO_BASE + 0x00000035)) #define REFDV _REFDV.Byte #define REFDV_REFDV0 _REFDV.Bits.REFDV0 #define REFDV_REFDV1 _REFDV.Bits.REFDV1 #define REFDV_REFDV2 _REFDV.Bits.REFDV2 #define REFDV_REFDV3 _REFDV.Bits.REFDV3 #define REFDV_REFDV _REFDV.MergedBits.grpREFDV #define REFDV_REFDV0_MASK 1 #define REFDV_REFDV1_MASK 2 #define REFDV_REFDV2_MASK 4 #define REFDV_REFDV3_MASK 8 #define REFDV_REFDV_MASK 15 #define REFDV_REFDV_BITNUM 0 /*** CRGFLG - CRG Flags Register; 0x00000037 ***/ typedef union { byte Byte; struct { word SCM :1; /* Self-clock mode Status */ word SCMIF :1; /* Self-clock mode Interrupt Flag */ word TRACK :1; /* Track Status */ word LOCK :1; /* Lck Status */ word LOCKIF :1; /* PLL Lck Interrupt Flag */ word :1; word PORF :1; /* Power on Reset Flag */ word RTIF :1; /* Real Time Interrupt Flag */ } Bits; } CRGFLGSTR; #define _CRGFLG (*(CRGFLGSTR volatile *)(_IO_BASE + 0x00000037)) #define CRGFLG _CRGFLG.Byte #define CRGFLG_SCM _CRGFLG.Bits.SCM #define CRGFLG_SCMIF _CRGFLG.Bits.SCMIF #define CRGFLG_TRACK _CRGFLG.Bits.TRACK #define CRGFLG_LOCK _CRGFLG.Bits.LOCK #define CRGFLG_LOCKIF _CRGFLG.Bits.LOCKIF #define CRGFLG_PORF _CRGFLG.Bits.PORF #define CRGFLG_RTIF _CRGFLG.Bits.RTIF #define CRGFLG_SCM_MASK 1 #define CRGFLG_SCMIF_MASK 2 #define CRGFLG_TRACK_MASK 4 #define CRGFLG_LOCK_MASK 8 #define CRGFLG_LOCKIF_MASK 16 #define CRGFLG_PORF_MASK 64 #define CRGFLG_RTIF_MASK 128 /*** CRGINT - CRG Interrupt Enable Register; 0x00000038 ***/ typedef union { byte Byte; struct { word :1; word SCMIE :1; /* Self-clock mode Interrupt Enable */ word :1; word :1; word LOCKIE :1; /* Lck Interrupt Enable */ word :1; word :1; word RTIE :1; /* Real Time Interrupt Enable */ } Bits; } CRGINTSTR; #define _CRGINT (*(CRGINTSTR volatile *)(_IO_BASE + 0x00000038)) #define CRGINT _CRGINT.Byte #define CRGINT_SCMIE _CRGINT.Bits.SCMIE #define CRGINT_LOCKIE _CRGINT.Bits.LOCKIE #define CRGINT_RTIE _CRGINT.Bits.RTIE #define CRGINT_SCMIE_MASK 2 #define CRGINT_LOCKIE_MASK 16 #define CRGINT_RTIE_MASK 128 /*** CLKSEL - CRG Clock Select Register; 0x00000039 ***/ typedef union { byte Byte; struct { word COPWAI :1; /* COP stops in WAIT mode */ word RTIWAI :1; /* RTI stops in WAIT mode */ word CWAI :1; /* CLK24 and CLK23 stop in WAIT mode */ word PLLWAI :1; /* PLL stops in WAIT mode */ word ROAWAI :1; /* Reduced Oscillator Amplitude in WAIT mode */ word SYSWAI :1; /* System clocks stop in WAIT mode */ word PSTP :1; /* Pseudo Stop */ word PLLSEL :1; /* PLL selected for system clock */ } Bits; } CLKSELSTR; #define _CLKSEL (*(CLKSELSTR volatile *)(_IO_BASE + 0x00000039)) #define CLKSEL _CLKSEL.Byte #define CLKSEL_COPWAI _CLKSEL.Bits.COPWAI #define CLKSEL_RTIWAI _CLKSEL.Bits.RTIWAI #define CLKSEL_CWAI _CLKSEL.Bits.CWAI #define CLKSEL_PLLWAI _CLKSEL.Bits.PLLWAI #define CLKSEL_ROAWAI _CLKSEL.Bits.ROAWAI #define CLKSEL_SYSWAI _CLKSEL.Bits.SYSWAI #define CLKSEL_PSTP _CLKSEL.Bits.PSTP #define CLKSEL_PLLSEL _CLKSEL.Bits.PLLSEL #define CLKSEL_COPWAI_MASK 1 #define CLKSEL_RTIWAI_MASK 2 #define CLKSEL_CWAI_MASK 4 #define CLKSEL_PLLWAI_MASK 8 #define CLKSEL_ROAWAI_MASK 16 #define CLKSEL_SYSWAI_MASK 32 #define CLKSEL_PSTP_MASK 64 #define CLKSEL_PLLSEL_MASK 128 /*** PLLCTL - CRG PLL Control Register; 0x0000003A ***/ typedef union { byte Byte; struct { word SCME :1; /* Self-clock mode enable */ word PCE :1; /* COP Enable during Pseudo Stop Bit */ word PRE :1; /* RTI Enable during Pseudo Stop Bit */ word :1; word ACQ :1; /* Acquisition */ word AUTO :1; /* Automatic Bandwidth Control */ word PLLON :1; /* Phase Lck Loop On */ word CME :1; /* Crystal Monitor Enable */ } Bits; } PLLCTLSTR; #define _PLLCTL (*(PLLCTLSTR volatile *)(_IO_BASE + 0x0000003A)) #define PLLCTL _PLLCTL.Byte #define PLLCTL_SCME _PLLCTL.Bits.SCME #define PLLCTL_PCE _PLLCTL.Bits.PCE #define PLLCTL_PRE _PLLCTL.Bits.PRE #define PLLCTL_ACQ _PLLCTL.Bits.ACQ #define PLLCTL_AUTO _PLLCTL.Bits.AUTO #define PLLCTL_PLLON _PLLCTL.Bits.PLLON #define PLLCTL_CME _PLLCTL.Bits.CME #define PLLCTL_SCME_MASK 1 #define PLLCTL_PCE_MASK 2 #define PLLCTL_PRE_MASK 4 #define PLLCTL_ACQ_MASK 16 #define PLLCTL_AUTO_MASK 32 #define PLLCTL_PLLON_MASK 64 #define PLLCTL_CME_MASK 128 /*** RTICTL - CRG RTI Control Register; 0x0000003B ***/ typedef union { byte Byte; struct { word RTR0 :1; /* Real Time Interrupt Modulus Counter Select Bit 0 */ word RTR1 :1; /* Real Time Interrupt Modulus Counter Select Bit 1 */ word RTR2 :1; /* Real Time Interrupt Modulus Counter Select Bit 2 */ word RTR3 :1; /* Real Time Interrupt Modulus Counter Select Bit 3 */ word RTR4 :1; /* Real Time Interrupt Modulus Counter Select Bit 4 */ word RTR5 :1; /* Real Time Interrupt Modulus Counter Select Bit 5 */ word RTR6 :1; /* Real Time Interrupt Modulus Counter Select Bit 6 */ word :1; } Bits; struct { word grpRTR :7; word :1; } MergedBits; } RTICTLSTR; #define _RTICTL (*(RTICTLSTR volatile *)(_IO_BASE + 0x0000003B)) #define RTICTL _RTICTL.Byte #define RTICTL_RTR0 _RTICTL.Bits.RTR0 #define RTICTL_RTR1 _RTICTL.Bits.RTR1 #define RTICTL_RTR2 _RTICTL.Bits.RTR2 #define RTICTL_RTR3 _RTICTL.Bits.RTR3 #define RTICTL_RTR4 _RTICTL.Bits.RTR4 #define RTICTL_RTR5 _RTICTL.Bits.RTR5 #define RTICTL_RTR6 _RTICTL.Bits.RTR6 #define RTICTL_RTR _RTICTL.MergedBits.grpRTR #define RTICTL_RTR0_MASK 1 #define RTICTL_RTR1_MASK 2 #define RTICTL_RTR2_MASK 4 #define RTICTL_RTR3_MASK 8 #define RTICTL_RTR4_MASK 16 #define RTICTL_RTR5_MASK 32 #define RTICTL_RTR6_MASK 64 #define RTICTL_RTR_MASK 127 #define RTICTL_RTR_BITNUM 0 /*** COPCTL - CRG COP Control Register; 0x0000003C ***/ typedef union { byte Byte; struct { word CR0 :1; /* COP Watchdog Timer Rate select Bit 0 */ word CR1 :1; /* COP Watchdog Timer Rate select Bit 1 */ word CR2 :1; /* COP Watchdog Timer Rate select Bit 2 */ word :1; word :1; word :1; word RSBCK :1; /* COP and RTI stop in Active BDM mode Bit */ word WCOP :1; /* Window COP mode */ } Bits; struct { word grpCR :3; word :1; word :1; word :1; word :1; word :1; } MergedBits; } COPCTLSTR; #define _COPCTL (*(COPCTLSTR volatile *)(_IO_BASE + 0x0000003C)) #define COPCTL _COPCTL.Byte #define COPCTL_CR0 _COPCTL.Bits.CR0 #define COPCTL_CR1 _COPCTL.Bits.CR1 #define COPCTL_CR2 _COPCTL.Bits.CR2 #define COPCTL_RSBCK _COPCTL.Bits.RSBCK #define COPCTL_WCOP _COPCTL.Bits.WCOP #define COPCTL_CR _COPCTL.MergedBits.grpCR #define COPCTL_CR0_MASK 1 #define COPCTL_CR1_MASK 2 #define COPCTL_CR2_MASK 4 #define COPCTL_RSBCK_MASK 64 #define COPCTL_WCOP_MASK 128 #define COPCTL_CR_MASK 7 #define COPCTL_CR_BITNUM 0 /*** ARMCOP - CRG COP Timer Arm/Reset Register; 0x0000003F ***/ typedef union { byte Byte; struct { word BIT0 :1; /* CRG COP Timer Arm/Reset Bit 0 */ word BIT1 :1; /* CRG COP Timer Arm/Reset Bit 1 */ word BIT2 :1; /* CRG COP Timer Arm/Reset Bit 2 */ word BIT3 :1; /* CRG COP Timer Arm/Reset Bit 3 */ word BIT4 :1; /* CRG COP Timer Arm/Reset Bit 4 */ word BIT5 :1; /* CRG COP Timer Arm/Reset Bit 5 */ word BIT6 :1; /* CRG COP Timer Arm/Reset Bit 6 */ word BIT7 :1; /* CRG COP Timer Arm/Reset Bit 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } ARMCOPSTR; #define _ARMCOP (*(ARMCOPSTR volatile *)(_IO_BASE + 0x0000003F)) #define ARMCOP _ARMCOP.Byte #define ARMCOP_BIT0 _ARMCOP.Bits.BIT0 #define ARMCOP_BIT1 _ARMCOP.Bits.BIT1 #define ARMCOP_BIT2 _ARMCOP.Bits.BIT2 #define ARMCOP_BIT3 _ARMCOP.Bits.BIT3 #define ARMCOP_BIT4 _ARMCOP.Bits.BIT4 #define ARMCOP_BIT5 _ARMCOP.Bits.BIT5 #define ARMCOP_BIT6 _ARMCOP.Bits.BIT6 #define ARMCOP_BIT7 _ARMCOP.Bits.BIT7 #define ARMCOP_BIT _ARMCOP.MergedBits.grpBIT #define ARMCOP_BIT0_MASK 1 #define ARMCOP_BIT1_MASK 2 #define ARMCOP_BIT2_MASK 4 #define ARMCOP_BIT3_MASK 8 #define ARMCOP_BIT4_MASK 16 #define ARMCOP_BIT5_MASK 32 #define ARMCOP_BIT6_MASK 64 #define ARMCOP_BIT7_MASK 128 #define ARMCOP_BIT_MASK 255 #define ARMCOP_BIT_BITNUM 0 /*** TIOS - Timer Input Capture/Output Compare Select; 0x00000040 ***/ typedef union { byte Byte; struct { word :1; word :1; word :1; word :1; word IOS4 :1; /* Input Capture or Output Compare Channel Configuration Bit 4 */ word IOS5 :1; /* Input Capture or Output Compare Channel Configuration Bit 5 */ word IOS6 :1; /* Input Capture or Output Compare Channel Configuration Bit 6 */ word IOS7 :1; /* Input Capture or Output Compare Channel Configuration Bit 7 */ } Bits; struct { word :1; word :1; word :1; word :1; word grpIOS_4 :4; } MergedBits; } TIOSSTR; #define _TIOS (*(TIOSSTR volatile *)(_IO_BASE + 0x00000040)) #define TIOS _TIOS.Byte #define TIOS_IOS4 _TIOS.Bits.IOS4 #define TIOS_IOS5 _TIOS.Bits.IOS5 #define TIOS_IOS6 _TIOS.Bits.IOS6 #define TIOS_IOS7 _TIOS.Bits.IOS7 #define TIOS_IOS_4 _TIOS.MergedBits.grpIOS_4 #define TIOS_IOS TIOS_IOS_4 #define TIOS_IOS4_MASK 16 #define TIOS_IOS5_MASK 32 #define TIOS_IOS6_MASK 64 #define TIOS_IOS7_MASK 128 #define TIOS_IOS_4_MASK 240 #define TIOS_IOS_4_BITNUM 4 /*** CFORC - Timer Compare Force Register; 0x00000041 ***/ typedef union { byte Byte; struct { word :1; word :1; word :1; word :1; word FOC4 :1; /* Force Output Compare Action for Channel 4 */ word FOC5 :1; /* Force Output Compare Action for Channel 5 */ word FOC6 :1; /* Force Output Compare Action for Channel 6 */ word FOC7 :1; /* Force Output Compare Action for Channel 7 */ } Bits; struct { word :1; word :1; word :1; word :1; word grpFOC_4 :4; } MergedBits; } CFORCSTR; #define _CFORC (*(CFORCSTR volatile *)(_IO_BASE + 0x00000041)) #define CFORC _CFORC.Byte #define CFORC_FOC4 _CFORC.Bits.FOC4 #define CFORC_FOC5 _CFORC.Bits.FOC5 #define CFORC_FOC6 _CFORC.Bits.FOC6 #define CFORC_FOC7 _CFORC.Bits.FOC7 #define CFORC_FOC_4 _CFORC.MergedBits.grpFOC_4 #define CFORC_FOC CFORC_FOC_4 #define CFORC_FOC4_MASK 16 #define CFORC_FOC5_MASK 32 #define CFORC_FOC6_MASK 64 #define CFORC_FOC7_MASK 128 #define CFORC_FOC_4_MASK 240 #define CFORC_FOC_4_BITNUM 4 /*** OC7M - Output Compare 7 Mask Register; 0x00000042 ***/ typedef union { byte Byte; struct { word :1; word :1; word :1; word :1; word OC7M4 :1; /* Output Compare 7 Mask Bit 4 */ word OC7M5 :1; /* Output Compare 7 Mask Bit 5 */ word OC7M6 :1; /* Output Compare 7 Mask Bit 6 */ word OC7M7 :1; /* Output Compare 7 Mask Bit 7 */ } Bits; struct { word :1; word :1; word :1; word :1; word grpOC7M_4 :4; } MergedBits; } OC7MSTR; #define _OC7M (*(OC7MSTR volatile *)(_IO_BASE + 0x00000042)) #define OC7M _OC7M.Byte #define OC7M_OC7M4 _OC7M.Bits.OC7M4 #define OC7M_OC7M5 _OC7M.Bits.OC7M5 #define OC7M_OC7M6 _OC7M.Bits.OC7M6 #define OC7M_OC7M7 _OC7M.Bits.OC7M7 #define OC7M_OC7M_4 _OC7M.MergedBits.grpOC7M_4 #define OC7M_OC7M4_MASK 16 #define OC7M_OC7M5_MASK 32 #define OC7M_OC7M6_MASK 64 #define OC7M_OC7M7_MASK 128 #define OC7M_OC7M_4_MASK 240 #define OC7M_OC7M_4_BITNUM 4 /*** OC7D - Output Compare 7 Data Register; 0x00000043 ***/ typedef union { byte Byte; struct { word :1; word :1; word :1; word :1; word OC7D4 :1; /* Output Compare 7 Bit 4 */ word OC7D5 :1; /* Output Compare 7 Bit 5 */ word OC7D6 :1; /* Output Compare 7 Bit 6 */ word OC7D7 :1; /* Output Compare 7 Bit 7 */ } Bits; struct { word :1; word :1; word :1; word :1; word grpOC7D_4 :4; } MergedBits; } OC7DSTR; #define _OC7D (*(OC7DSTR volatile *)(_IO_BASE + 0x00000043)) #define OC7D _OC7D.Byte #define OC7D_OC7D4 _OC7D.Bits.OC7D4 #define OC7D_OC7D5 _OC7D.Bits.OC7D5 #define OC7D_OC7D6 _OC7D.Bits.OC7D6 #define OC7D_OC7D7 _OC7D.Bits.OC7D7 #define OC7D_OC7D_4 _OC7D.MergedBits.grpOC7D_4 #define OC7D_OC7D4_MASK 16 #define OC7D_OC7D5_MASK 32 #define OC7D_OC7D6_MASK 64 #define OC7D_OC7D7_MASK 128 #define OC7D_OC7D_4_MASK 240 #define OC7D_OC7D_4_BITNUM 4 /*** TCNT - Timer Count Register; 0x00000044 ***/ typedef union { word Word; struct { /*** TCNTHi - Timer Count Register High; 0x00000044 ***/ union { byte Byte; struct { word BIT8 :1; /* Timer Count Register Bit 8 */ word BIT9 :1; /* Timer Count Register Bit 9 */ word BIT10 :1; /* Timer Count Register Bit 10 */ word BIT11 :1; /* Timer Count Register Bit 11 */ word BIT12 :1; /* Timer Count Register Bit 12 */ word BIT13 :1; /* Timer Count Register Bit 13 */ word BIT14 :1; /* Timer Count Register Bit 14 */ word BIT15 :1; /* Timer Count Register Bit 15 */ } Bits; struct { word grpBIT_8 :8; } MergedBits; } TCNTHiSTR; #define TCNTHi _TCNT.Overlap_STR.TCNTHiSTR.Byte #define TCNTHi_BIT8 _TCNT.Overlap_STR.TCNTHiSTR.Bits.BIT8 #define TCNTHi_BIT9 _TCNT.Overlap_STR.TCNTHiSTR.Bits.BIT9 #define TCNTHi_BIT10 _TCNT.Overlap_STR.TCNTHiSTR.Bits.BIT10 #define TCNTHi_BIT11 _TCNT.Overlap_STR.TCNTHiSTR.Bits.BIT11 #define TCNTHi_BIT12 _TCNT.Overlap_STR.TCNTHiSTR.Bits.BIT12 #define TCNTHi_BIT13 _TCNT.Overlap_STR.TCNTHiSTR.Bits.BIT13 #define TCNTHi_BIT14 _TCNT.Overlap_STR.TCNTHiSTR.Bits.BIT14 #define TCNTHi_BIT15 _TCNT.Overlap_STR.TCNTHiSTR.Bits.BIT15 #define TCNTHi_BIT_8 _TCNT.Overlap_STR.TCNTHiSTR.MergedBits.grpBIT_8 #define TCNTHi_BIT TCNTHi_BIT_8 #define TCNTHi_BIT8_MASK 1 #define TCNTHi_BIT9_MASK 2 #define TCNTHi_BIT10_MASK 4 #define TCNTHi_BIT11_MASK 8 #define TCNTHi_BIT12_MASK 16 #define TCNTHi_BIT13_MASK 32 #define TCNTHi_BIT14_MASK 64 #define TCNTHi_BIT15_MASK 128 #define TCNTHi_BIT_8_MASK 255 #define TCNTHi_BIT_8_BITNUM 0 /*** TCNTL - Timer Count Register Lw; 0x00000045 ***/ union { byte Byte; struct { word BIT0 :1; /* Timer Count Register Bit 0 */ word BIT1 :1; /* Timer Count Register Bit 1 */ word BIT2 :1; /* Timer Count Register Bit 2 */ word BIT3 :1; /* Timer Count Register Bit 3 */ word BIT4 :1; /* Timer Count Bit Register 4 */ word BIT5 :1; /* Timer Count Bit Register 5 */ word BIT6 :1; /* Timer Count Bit Register 6 */ word BIT7 :1; /* Timer Count Bit Register 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } TCNTLSTR; #define TCNTL _TCNT.Overlap_STR.TCNTLSTR.Byte #define TCNTL_BIT0 _TCNT.Overlap_STR.TCNTLSTR.Bits.BIT0 #define TCNTL_BIT1 _TCNT.Overlap_STR.TCNTLSTR.Bits.BIT1 #define TCNTL_BIT2 _TCNT.Overlap_STR.TCNTLSTR.Bits.BIT2 #define TCNTL_BIT3 _TCNT.Overlap_STR.TCNTLSTR.Bits.BIT3 #define TCNTL_BIT4 _TCNT.Overlap_STR.TCNTLSTR.Bits.BIT4 #define TCNTL_BIT5 _TCNT.Overlap_STR.TCNTLSTR.Bits.BIT5 #define TCNTL_BIT6 _TCNT.Overlap_STR.TCNTLSTR.Bits.BIT6 #define TCNTL_BIT7 _TCNT.Overlap_STR.TCNTLSTR.Bits.BIT7 #define TCNTL_BIT _TCNT.Overlap_STR.TCNTLSTR.MergedBits.grpBIT #define TCNTL_BIT0_MASK 1 #define TCNTL_BIT1_MASK 2 #define TCNTL_BIT2_MASK 4 #define TCNTL_BIT3_MASK 8 #define TCNTL_BIT4_MASK 16 #define TCNTL_BIT5_MASK 32 #define TCNTL_BIT6_MASK 64 #define TCNTL_BIT7_MASK 128 #define TCNTL_BIT_MASK 255 #define TCNTL_BIT_BITNUM 0 } Overlap_STR; struct { word grpBIT :16; } MergedBits; } TCNTSTR; #define _TCNT (*(TCNTSTR volatile *)(_IO_BASE + 0x00000044)) #define TCNT _TCNT.Word #define TCNT_BIT _TCNT.MergedBits.grpBIT #define TCNT_BIT_MASK 65535 #define TCNT_BIT_BITNUM 0 /*** TSCR1 - Timer System Control Register1; 0x00000046 ***/ typedef union { byte Byte; struct { word :1; word :1; word :1; word :1; word TFFCA :1; /* Timer Fast Flag Clear All */ word TSFRZ :1; /* Timer and Modulus Counter Stop While in Freeze Mode */ word TSWAI :1; /* Timer Module Stops While in Wait */ word TEN :1; /* Timer Enable */ } Bits; } TSCR1STR; #define _TSCR1 (*(TSCR1STR volatile *)(_IO_BASE + 0x00000046)) #define TSCR1 _TSCR1.Byte #define TSCR1_TFFCA _TSCR1.Bits.TFFCA #define TSCR1_TSFRZ _TSCR1.Bits.TSFRZ #define TSCR1_TSWAI _TSCR1.Bits.TSWAI #define TSCR1_TEN _TSCR1.Bits.TEN #define TSCR1_TFFCA_MASK 16 #define TSCR1_TSFRZ_MASK 32 #define TSCR1_TSWAI_MASK 64 #define TSCR1_TEN_MASK 128 /*** TTOV - Timer Toggle On Overflow Register; 0x00000047 ***/ typedef union { byte Byte; struct { word :1; word :1; word :1; word :1; word TOV4 :1; /* Toggle On Overflow Bit 4 */ word TOV5 :1; /* Toggle On Overflow Bit 5 */ word TOV6 :1; /* Toggle On Overflow Bit 6 */ word TOV7 :1; /* Toggle On Overflow Bit 7 */ } Bits; struct { word :1; word :1; word :1; word :1; word grpTOV_4 :4; } MergedBits; } TTOVSTR; #define _TTOV (*(TTOVSTR volatile *)(_IO_BASE + 0x00000047)) #define TTOV _TTOV.Byte #define TTOV_TOV4 _TTOV.Bits.TOV4 #define TTOV_TOV5 _TTOV.Bits.TOV5 #define TTOV_TOV6 _TTOV.Bits.TOV6 #define TTOV_TOV7 _TTOV.Bits.TOV7 #define TTOV_TOV_4 _TTOV.MergedBits.grpTOV_4 #define TTOV_TOV TTOV_TOV_4 #define TTOV_TOV4_MASK 16 #define TTOV_TOV5_MASK 32 #define TTOV_TOV6_MASK 64 #define TTOV_TOV7_MASK 128 #define TTOV_TOV_4_MASK 240 #define TTOV_TOV_4_BITNUM 4 /*** TCTL1 - Timer Control Registers 1; 0x00000048 ***/ typedef union { byte Byte; struct { word OL4 :1; /* Output Level Bit 4 */ word OM4 :1; /* Output Mode Bit 4 */ word OL5 :1; /* Output Level Bit 5 */ word OM5 :1; /* Output Mode Bit 5 */ word OL6 :1; /* Output Level Bit 6 */ word OM6 :1; /* Output Mode Bit 6 */ word OL7 :1; /* Output Level Bit 7 */ word OM7 :1; /* Output Mode Bit 7 */ } Bits; } TCTL1STR; #define _TCTL1 (*(TCTL1STR volatile *)(_IO_BASE + 0x00000048)) #define TCTL1 _TCTL1.Byte #define TCTL1_OL4 _TCTL1.Bits.OL4 #define TCTL1_OM4 _TCTL1.Bits.OM4 #define TCTL1_OL5 _TCTL1.Bits.OL5 #define TCTL1_OM5 _TCTL1.Bits.OM5 #define TCTL1_OL6 _TCTL1.Bits.OL6 #define TCTL1_OM6 _TCTL1.Bits.OM6 #define TCTL1_OL7 _TCTL1.Bits.OL7 #define TCTL1_OM7 _TCTL1.Bits.OM7 #define TCTL1_OL4_MASK 1 #define TCTL1_OM4_MASK 2 #define TCTL1_OL5_MASK 4 #define TCTL1_OM5_MASK 8 #define TCTL1_OL6_MASK 16 #define TCTL1_OM6_MASK 32 #define TCTL1_OL7_MASK 64 #define TCTL1_OM7_MASK 128 /*** TCTL3 - Timer Control Register 3; 0x0000004A ***/ typedef union { byte Byte; struct { word EDG4A :1; /* Input Capture Edge Control 4A */ word EDG4B :1; /* Input Capture Edge Control 4B */ word EDG5A :1; /* Input Capture Edge Control 5A */ word EDG5B :1; /* Input Capture Edge Control 5B */ word EDG6A :1; /* Input Capture Edge Control 6A */ word EDG6B :1; /* Input Capture Edge Control 6B */ word EDG7A :1; /* Input Capture Edge Control 7A */ word EDG7B :1; /* Input Capture Edge Control 7B */ } Bits; struct { word grpEDG4x :2; word :1; word :1; word grpEDG6x :2; word :1; word :1; } MergedBits; } TCTL3STR; #define _TCTL3 (*(TCTL3STR volatile *)(_IO_BASE + 0x0000004A)) #define TCTL3 _TCTL3.Byte #define TCTL3_EDG4A _TCTL3.Bits.EDG4A #define TCTL3_EDG4B _TCTL3.Bits.EDG4B #define TCTL3_EDG5A _TCTL3.Bits.EDG5A #define TCTL3_EDG5B _TCTL3.Bits.EDG5B #define TCTL3_EDG6A _TCTL3.Bits.EDG6A #define TCTL3_EDG6B _TCTL3.Bits.EDG6B #define TCTL3_EDG7A _TCTL3.Bits.EDG7A #define TCTL3_EDG7B _TCTL3.Bits.EDG7B #define TCTL3_EDG4x _TCTL3.MergedBits.grpEDG4x #define TCTL3_EDG6x _TCTL3.MergedBits.grpEDG6x #define TCTL3_EDG4A_MASK 1 #define TCTL3_EDG4B_MASK 2 #define TCTL3_EDG5A_MASK 4 #define TCTL3_EDG5B_MASK 8 #define TCTL3_EDG6A_MASK 16 #define TCTL3_EDG6B_MASK 32 #define TCTL3_EDG7A_MASK 64 #define TCTL3_EDG7B_MASK 128 #define TCTL3_EDG4x_MASK 3 #define TCTL3_EDG4x_BITNUM 0 #define TCTL3_EDG6x_MASK 48 #define TCTL3_EDG6x_BITNUM 4 /*** TIE - Timer Interrupt Enable Register; 0x0000004C ***/ typedef union { byte Byte; struct { word :1; word :1; word :1; word :1; word C4I :1; /* Input Capture/Output Compare Interrupt Enable Bit 4 */ word C5I :1; /* Input Capture/Output Compare Interrupt Enable Bit 5 */ word C6I :1; /* Input Capture/Output Compare Interrupt Enable Bit 6 */ word C7I :1; /* Input Capture/Output Compare Interrupt Enable Bit 7 */ } Bits; } TIESTR; #define _TIE (*(TIESTR volatile *)(_IO_BASE + 0x0000004C)) #define TIE _TIE.Byte #define TIE_C4I _TIE.Bits.C4I #define TIE_C5I _TIE.Bits.C5I #define TIE_C6I _TIE.Bits.C6I #define TIE_C7I _TIE.Bits.C7I #define TIE_C4I_MASK 16 #define TIE_C5I_MASK 32 #define TIE_C6I_MASK 64 #define TIE_C7I_MASK 128 /*** TSCR2 - Timer System Control Register 2; 0x0000004D ***/ typedef union { byte Byte; struct { word PR0 :1; /* Timer Prescaler Select Bit 0 */ word PR1 :1; /* Timer Prescaler Select Bit 1 */ word PR2 :1; /* Timer Prescaler Select Bit 2 */ word TCRE :1; /* Timer Counter Reset Enable */ word :1; word :1; word :1; word TOI :1; /* Timer Overflow Interrupt Enable */ } Bits; struct { word grpPR :3; word :1; word :1; word :1; word :1; word :1; } MergedBits; } TSCR2STR; #define _TSCR2 (*(TSCR2STR volatile *)(_IO_BASE + 0x0000004D)) #define TSCR2 _TSCR2.Byte #define TSCR2_PR0 _TSCR2.Bits.PR0 #define TSCR2_PR1 _TSCR2.Bits.PR1 #define TSCR2_PR2 _TSCR2.Bits.PR2 #define TSCR2_TCRE _TSCR2.Bits.TCRE #define TSCR2_TOI _TSCR2.Bits.TOI #define TSCR2_PR _TSCR2.MergedBits.grpPR #define TSCR2_PR0_MASK 1 #define TSCR2_PR1_MASK 2 #define TSCR2_PR2_MASK 4 #define TSCR2_TCRE_MASK 8 #define TSCR2_TOI_MASK 128 #define TSCR2_PR_MASK 7 #define TSCR2_PR_BITNUM 0 /*** TFLG1 - Main Timer Interrupt Flag 1; 0x0000004E ***/ typedef union { byte Byte; struct { word :1; word :1; word :1; word :1; word C4F :1; /* Input Capture/Output Compare Channel Flag 4 */ word C5F :1; /* Input Capture/Output Compare Channel Flag 5 */ word C6F :1; /* Input Capture/Output Compare Channel Flag 6 */ word C7F :1; /* Input Capture/Output Compare Channel Flag 7 */ } Bits; } TFLG1STR; #define _TFLG1 (*(TFLG1STR volatile *)(_IO_BASE + 0x0000004E)) #define TFLG1 _TFLG1.Byte #define TFLG1_C4F _TFLG1.Bits.C4F #define TFLG1_C5F _TFLG1.Bits.C5F #define TFLG1_C6F _TFLG1.Bits.C6F #define TFLG1_C7F _TFLG1.Bits.C7F #define TFLG1_C4F_MASK 16 #define TFLG1_C5F_MASK 32 #define TFLG1_C6F_MASK 64 #define TFLG1_C7F_MASK 128 /*** TFLG2 - Main Timer Interrupt Flag 2; 0x0000004F ***/ typedef union { byte Byte; struct { word :1; word :1; word :1; word :1; word :1; word :1; word :1; word TOF :1; /* Timer Overflow Flag */ } Bits; } TFLG2STR; #define _TFLG2 (*(TFLG2STR volatile *)(_IO_BASE + 0x0000004F)) #define TFLG2 _TFLG2.Byte #define TFLG2_TOF _TFLG2.Bits.TOF #define TFLG2_TOF_MASK 128 /*** TC4 - Timer Input Capture/Output Compare Register 4; 0x00000058 ***/ typedef union { word Word; struct { /*** TC4Hi - Timer Input Capture/Output Compare Register 4 High; 0x00000058 ***/ union { byte Byte; struct { word BIT8 :1; /* Timer Input Capture/Output Compare Register 4 Bit 8 */ word BIT9 :1; /* Timer Input Capture/Output Compare Register 4 Bit 9 */ word BIT10 :1; /* Timer Input Capture/Output Compare Register 4 Bit 10 */ word BIT11 :1; /* Timer Input Capture/Output Compare Register 4 Bit 11 */ word BIT12 :1; /* Timer Input Capture/Output Compare Register 4 Bit 12 */ word BIT13 :1; /* Timer Input Capture/Output Compare Register 4 Bit 13 */ word BIT14 :1; /* Timer Input Capture/Output Compare Register 4 Bit 14 */ word BIT15 :1; /* Timer Input Capture/Output Compare Register 4 Bit 15 */ } Bits; struct { word grpBIT_8 :8; } MergedBits; } TC4HiSTR; #define TC4Hi _TC4.Overlap_STR.TC4HiSTR.Byte #define TC4Hi_BIT8 _TC4.Overlap_STR.TC4HiSTR.Bits.BIT8 #define TC4Hi_BIT9 _TC4.Overlap_STR.TC4HiSTR.Bits.BIT9 #define TC4Hi_BIT10 _TC4.Overlap_STR.TC4HiSTR.Bits.BIT10 #define TC4Hi_BIT11 _TC4.Overlap_STR.TC4HiSTR.Bits.BIT11 #define TC4Hi_BIT12 _TC4.Overlap_STR.TC4HiSTR.Bits.BIT12 #define TC4Hi_BIT13 _TC4.Overlap_STR.TC4HiSTR.Bits.BIT13 #define TC4Hi_BIT14 _TC4.Overlap_STR.TC4HiSTR.Bits.BIT14 #define TC4Hi_BIT15 _TC4.Overlap_STR.TC4HiSTR.Bits.BIT15 #define TC4Hi_BIT_8 _TC4.Overlap_STR.TC4HiSTR.MergedBits.grpBIT_8 #define TC4Hi_BIT TC4Hi_BIT_8 #define TC4Hi_BIT8_MASK 1 #define TC4Hi_BIT9_MASK 2 #define TC4Hi_BIT10_MASK 4 #define TC4Hi_BIT11_MASK 8 #define TC4Hi_BIT12_MASK 16 #define TC4Hi_BIT13_MASK 32 #define TC4Hi_BIT14_MASK 64 #define TC4Hi_BIT15_MASK 128 #define TC4Hi_BIT_8_MASK 255 #define TC4Hi_BIT_8_BITNUM 0 /*** TC4L - Timer Input Capture/Output Compare Register 4 Lw; 0x00000059 ***/ union { byte Byte; struct { word BIT0 :1; /* Timer Input Capture/Output Compare Register 4 Bit 0 */ word BIT1 :1; /* Timer Input Capture/Output Compare Register 4 Bit 1 */ word BIT2 :1; /* Timer Input Capture/Output Compare Register 4 Bit 2 */ word BIT3 :1; /* Timer Input Capture/Output Compare Register 4 Bit 3 */ word BIT4 :1; /* Timer Input Capture/Output Compare Register 4 Bit 4 */ word BIT5 :1; /* Timer Input Capture/Output Compare Register 4 Bit 5 */ word BIT6 :1; /* Timer Input Capture/Output Compare Register 4 Bit 6 */ word BIT7 :1; /* Timer Input Capture/Output Compare Register 4 Bit 7 */ } Bits; struct { word grpBIT :8; } MergedBits; } TC4LSTR; #define TC4L _TC4.Overlap_STR.TC4LSTR.Byte #define TC4L_BIT0 _TC4.Overlap_STR.TC4LSTR.Bits.BIT0 #define TC4L_BIT1 _TC4.Overlap_STR.TC4LSTR.Bits.BIT1 #define TC4L_BIT2 _TC4.Overlap_STR.TC4LSTR.Bits.BIT2 #define TC4L_BIT3 _TC4.Overlap_STR.TC4LSTR.Bits.BIT3 #define TC4L_BIT4 _TC4.Overlap_STR.TC4LSTR.Bits.BIT4 #define TC4L_BIT5 _TC4.Overlap_STR.TC4LSTR.Bits.BIT5 #define TC4L_BIT6 _TC4.Overlap_STR.TC4LSTR.Bits.BIT6 #define TC4L_BIT7 _TC4.Overlap_STR.TC4LSTR.Bits.BIT7 #define TC4L_BIT _TC4.Overlap_STR.TC4LSTR.MergedBits.grpBIT #define TC4L_BIT0_MASK 1 #define TC4L_BIT1_MASK 2 #define TC4L_BIT2_MASK 4 #define TC4L_BIT3_MASK 8 #define TC4L_BIT4_MASK 16 #define TC4L_BIT5_MASK 32 #define TC4L_BIT6_MASK 64 #define TC4L_BIT7_MASK 128 #define TC4L_BIT_MASK 255 #define TC4L_BIT_BITNUM 0 } Overlap_STR; struct { word grpBIT :16; } MergedBits; } TC4STR; #define _TC4 (*(TC4STR volatile *)(_IO_BASE + 0x00000058)) #define TC4 _TC4.Word #define TC4_BIT _TC4.MergedBits.grpBIT #define TC4_BIT_MASK 65535 #define TC4_BIT_BITNUM 0 /*** TC5 - Timer Input Capture/Output Compare Register 5; 0x0000005A ***/ typedef union { word Word; struct { /*** TC5Hi - Timer Input Capture/Output Compare Register 5 High; 0x0000005A ***/ union { byte Byte; struct { word BIT8 :1; /* Timer Input Capture/Output Compare Register 5 Bit 8 */ word BIT9 :1; /* Timer Input Capture/Output Compare Register 5 Bit 9 */ word BIT10 :1; /* Timer Input Capture/Output Compare Register 5 Bit 10 */ word BIT11 :1; /* Timer Input Capture/Output Compare Register 5 Bit 11 */ word BIT12 :1; /* Timer Input Capture/Output Compare Register 5 Bit 12 */ word BIT13 :1; /* Timer Input Capture/Output Compare Register 5 Bit 13 */ word BIT14 :1; /* Timer Input Capture/Output Compare Register 5 Bit 14 */ word BIT15 :1; /* Timer Input Capture/Output Compare Register 5 Bit 15 */ } Bits; struct { word grpBIT_8 :8; } MergedBits; } TC5HiSTR; #define TC5Hi _TC5.Overlap_STR.TC5HiSTR.Byte #define TC5Hi_BIT8 _TC5.Overlap_STR.TC5HiSTR.Bits.BIT8 #define TC5Hi_BIT9 _TC5.Overlap_STR.TC5HiSTR.Bits.BIT9 #define TC5Hi_BIT10 _TC5.Overlap_STR.TC5HiSTR.Bits.BIT10 #define TC5Hi_BIT11 _TC5.Overlap_STR.TC5HiSTR.Bits.BIT11 #define TC5Hi_BIT12 _TC5.Overlap_STR.TC5HiSTR.Bits.BIT12 #define TC5Hi_BIT13 _TC5.Overlap_STR.TC5HiSTR.Bits.BIT13 #define TC5Hi_BIT14 _TC5.Overlap_STR.TC5HiSTR.Bits.BIT14 #define TC5Hi_BIT15 _TC5.Overlap_STR.TC5HiSTR.Bits.BIT15 #define TC5Hi_BIT_8 _TC5.Overlap_STR.TC5HiSTR.MergedBits.grpBIT_8 #define TC5Hi_BIT TC5Hi_BIT_8 #define TC5Hi_BIT8_MASK 1 #define TC5Hi_BIT9_MASK 2 #define TC5Hi_BIT10_MASK 4 #define TC5Hi_BIT11_MASK 8 #define TC5Hi_BIT12_MASK 16 #define TC5Hi