// =============================================== // ADuC7023 HEADER FILE REV 1.5 02nd December 2009 // =============================================== // INTERRUPT CONTROLLER #define INTBASE (*(volatile unsigned long *) 0xFFFF0000) #define IRQSTA (*(volatile unsigned long *) 0xFFFF0000) #define IRQSIG (*(volatile unsigned long *) 0xFFFF0004) #define IRQEN (*(volatile unsigned long *) 0xFFFF0008) #define IRQCLR (*(volatile unsigned long *) 0xFFFF000C) #define SWICFG (*(volatile unsigned long *) 0xFFFF0010) #define IRQBASE (*(volatile unsigned long *) 0xFFFF0014) #define IRQVEC (*(volatile unsigned long *) 0xFFFF001C) #define IRQP0 (*(volatile unsigned long *) 0xFFFF0020) #define IRQP1 (*(volatile unsigned long *) 0xFFFF0024) #define IRQP2 (*(volatile unsigned long *) 0xFFFF0028) #define IRQCONN (*(volatile unsigned long *) 0xFFFF0030) #define IRQCONE (*(volatile unsigned long *) 0xFFFF0034) #define IRQCLRE (*(volatile unsigned long *) 0xFFFF0038) #define IRQSTAN (*(volatile unsigned long *) 0xFFFF003C) #define FIQSTA (*(volatile unsigned long *) 0xFFFF0100) #define FIQSIG (*(volatile unsigned long *) 0xFFFF0104) #define FIQEN (*(volatile unsigned long *) 0xFFFF0108) #define FIQCLR (*(volatile unsigned long *) 0xFFFF010C) #define FIQVEC (*(volatile unsigned long *) 0xFFFF011C) #define FIQSTAN (*(volatile unsigned long *) 0xFFFF013C) // REMAP AND SYSTEM CONTROL #define REMAPBASE (*(volatile unsigned long *) 0xFFFF0200) #define REMAP (*(volatile unsigned long *) 0xFFFF0220) #define RSTSTA (*(volatile unsigned long *) 0xFFFF0230) #define RSTCLR (*(volatile unsigned long *) 0xFFFF0234) #define RSTKEY0 (*(volatile unsigned long *) 0xFFFF0248) #define RSTCFG (*(volatile unsigned long *) 0xFFFF024C) #define RSTKEY1 (*(volatile unsigned long *) 0xFFFF0250) // TIMER 0 #define T0BASE (*(volatile unsigned long *) 0xFFFF0300) #define T0LD (*(volatile unsigned long *) 0xFFFF0300) #define T0VAL (*(volatile unsigned long *) 0xFFFF0304) #define T0CON (*(volatile unsigned long *) 0xFFFF0308) #define T0CLRI (*(volatile unsigned long *) 0xFFFF030C) // GENERAL PURPOSE TIMER #define T1BASE (*(volatile unsigned long *) 0xFFFF0320) #define T1LD (*(volatile unsigned long *) 0xFFFF0320) #define T1VAL (*(volatile unsigned long *) 0xFFFF0324) #define T1CON (*(volatile unsigned long *) 0xFFFF0328) #define T1CLRI (*(volatile unsigned long *) 0xFFFF032C) #define T1CAP (*(volatile unsigned long *) 0xFFFF0330) // WATCHDOG TIMER #define T2BASE (*(volatile unsigned long *) 0xFFFF0360) #define T2LD (*(volatile unsigned long *) 0xFFFF0360) #define T2VAL (*(volatile unsigned long *) 0xFFFF0364) #define T2CON (*(volatile unsigned long *) 0xFFFF0368) #define T2CLRI (*(volatile unsigned long *) 0xFFFF036C) // PLL AND OSCILLATOR CONTROL #define PLLBASE (*(volatile unsigned long *) 0xFFFF0400) #define PLLSTA (*(volatile unsigned long *) 0xFFFF0400) #define POWKEY1 (*(volatile unsigned long *) 0xFFFF0404) #define POWCON (*(volatile unsigned long *) 0xFFFF0408) #define POWKEY2 (*(volatile unsigned long *) 0xFFFF040C) #define PLLKEY1 (*(volatile unsigned long *) 0xFFFF0410) #define PLLCON (*(volatile unsigned long *) 0xFFFF0414) #define PLLKEY2 (*(volatile unsigned long *) 0xFFFF0418) // GLOBAL PERIPHERAL CONTROL #define ALLBASE (*(volatile unsigned long *) 0xFFFF0434) #define POWKEY3 (*(volatile unsigned long *) 0xFFFF0434) #define POWCON1 (*(volatile unsigned long *) 0xFFFF0438) #define POWKEY4 (*(volatile unsigned long *) 0xFFFF043C) // POWER SUPPLY MONITOR #define PSMBASE (*(volatile unsigned long *) 0xFFFF0440) #define PSMCON (*(volatile unsigned long *) 0xFFFF0440) #define CMPCON (*(volatile unsigned long *) 0xFFFF0444) // Band Gap Reference #define REFBASE (*(volatile unsigned long *) 0xFFFF0480) #define REFCON (*(volatile unsigned long *) 0xFFFF048C) // ADC INTERFACE REGISTERS #define ADCBASE (*(volatile unsigned long *) 0xFFFF0500) #define ADCCON (*(volatile unsigned long *) 0xFFFF0500) #define ADCCP (*(volatile unsigned long *) 0xFFFF0504) #define ADCCN (*(volatile unsigned long *) 0xFFFF0508) #define ADCSTA (*(volatile unsigned long *) 0xFFFF050C) #define ADCDAT (*(volatile unsigned long *) 0xFFFF0510) #define ADCRST (*(volatile unsigned long *) 0xFFFF0514) #define ADCGN (*(volatile unsigned long *) 0xFFFF0530) #define ADCOF (*(volatile unsigned long *) 0xFFFF0534) #define TSCON (*(volatile unsigned long *) 0xFFFF0544) #define TEMPREF (*(volatile unsigned long *) 0xFFFF0548) // DAC INTERFACE REGISTERS #define DACBASE (*(volatile unsigned long *) 0xFFFF0600) #define DAC0CON (*(volatile unsigned long *) 0xFFFF0600) #define DAC0DAT (*(volatile unsigned long *) 0xFFFF0604) #define DAC1CON (*(volatile unsigned long *) 0xFFFF0608) #define DAC1DAT (*(volatile unsigned long *) 0xFFFF060C) #define DAC2CON (*(volatile unsigned long *) 0xFFFF0610) #define DAC2DAT (*(volatile unsigned long *) 0xFFFF0614) #define DAC3CON (*(volatile unsigned long *) 0xFFFF0618) #define DAC3DAT (*(volatile unsigned long *) 0xFFFF061C) // I2C0 BUS PERIPHERAL DEVICE 0 #define I2C0BASE (*(volatile unsigned long *) 0xFFFF0800) #define I2C0MCON (*(volatile unsigned long *) 0xFFFF0800) #define I2C0MSTA (*(volatile unsigned long *) 0xFFFF0804) #define I2C0MRX (*(volatile unsigned long *) 0xFFFF0808) #define I2C0MTX (*(volatile unsigned long *) 0xFFFF080C) #define I2C0MCNT0 (*(volatile unsigned long *) 0xFFFF0810) #define I2C0MCNT1 (*(volatile unsigned long *) 0xFFFF0814) #define I2C0ADR0 (*(volatile unsigned long *) 0xFFFF0818) #define I2C0ADR1 (*(volatile unsigned long *) 0xFFFF081C) #define I2C0DIV (*(volatile unsigned long *) 0xFFFF0824) #define I2C0SCON (*(volatile unsigned long *) 0xFFFF0828) #define I2C0SSTA (*(volatile unsigned long *) 0xFFFF082C) #define I2C0SRX (*(volatile unsigned long *) 0xFFFF0830) #define I2C0STX (*(volatile unsigned long *) 0xFFFF0834) #define I2C0ALT (*(volatile unsigned long *) 0xFFFF0838) #define I2C0ID0 (*(volatile unsigned long *) 0xFFFF083C) #define I2C0ID1 (*(volatile unsigned long *) 0xFFFF0840) #define I2C0ID2 (*(volatile unsigned long *) 0xFFFF0844) #define I2C0ID3 (*(volatile unsigned long *) 0xFFFF0848) #define I2C0FSTA (*(volatile unsigned long *) 0xFFFF084C) // I2C1 BUS PERIPHERAL DEVICE 0 #define I2C1BASE (*(volatile unsigned long *) 0xFFFF0900) #define I2C1MCON (*(volatile unsigned long *) 0xFFFF0900) #define I2C1MSTA (*(volatile unsigned long *) 0xFFFF0904) #define I2C1MRX (*(volatile unsigned long *) 0xFFFF0908) #define I2C1MTX (*(volatile unsigned long *) 0xFFFF090C) #define I2C1MCNT0 (*(volatile unsigned long *) 0xFFFF0910) #define I2C1MCNT1 (*(volatile unsigned long *) 0xFFFF0914) #define I2C1ADR0 (*(volatile unsigned long *) 0xFFFF0918) #define I2C1ADR1 (*(volatile unsigned long *) 0xFFFF091C) #define I2C1DIV (*(volatile unsigned long *) 0xFFFF0924) #define I2C1SCON (*(volatile unsigned long *) 0xFFFF0928) #define I2C1SSTA (*(volatile unsigned long *) 0xFFFF092C) #define I2C1SRX (*(volatile unsigned long *) 0xFFFF0930) #define I2C1STX (*(volatile unsigned long *) 0xFFFF0934) #define I2C1ALT (*(volatile unsigned long *) 0xFFFF0938) #define I2C1ID0 (*(volatile unsigned long *) 0xFFFF093C) #define I2C1ID1 (*(volatile unsigned long *) 0xFFFF0940) #define I2C1ID2 (*(volatile unsigned long *) 0xFFFF0944) #define I2C1ID3 (*(volatile unsigned long *) 0xFFFF0948) #define I2C1FSTA (*(volatile unsigned long *) 0xFFFF094C) // SERIAL PORT INTERFACE PERIPHERAL #define SPIBASE (*(volatile unsigned long *) 0xFFFF0A00) #define SPISTA (*(volatile unsigned long *) 0xFFFF0A00) #define SPIRX (*(volatile unsigned long *) 0xFFFF0A04) #define SPITX (*(volatile unsigned long *) 0xFFFF0A08) #define SPIDIV (*(volatile unsigned long *) 0xFFFF0A0C) #define SPICON (*(volatile unsigned long *) 0xFFFF0A10) // PROGRAMABLE LOGIC ARRAY #define PLABASE (*(volatile unsigned long *) 0xFFFF0B00) #define PLAELM0 (*(volatile unsigned long *) 0xFFFF0B00) #define PLAELM1 (*(volatile unsigned long *) 0xFFFF0B04) #define PLAELM2 (*(volatile unsigned long *) 0xFFFF0B08) #define PLAELM3 (*(volatile unsigned long *) 0xFFFF0B0C) #define PLAELM4 (*(volatile unsigned long *) 0xFFFF0B10) #define PLAELM5 (*(volatile unsigned long *) 0xFFFF0B14) #define PLAELM6 (*(volatile unsigned long *) 0xFFFF0B18) #define PLAELM7 (*(volatile unsigned long *) 0xFFFF0B1C) #define PLAELM8 (*(volatile unsigned long *) 0xFFFF0B20) #define PLAELM9 (*(volatile unsigned long *) 0xFFFF0B24) #define PLAELM10 (*(volatile unsigned long *) 0xFFFF0B28) #define PLAELM11 (*(volatile unsigned long *) 0xFFFF0B2C) #define PLAELM12 (*(volatile unsigned long *) 0xFFFF0B30) #define PLAELM13 (*(volatile unsigned long *) 0xFFFF0B34) #define PLAELM14 (*(volatile unsigned long *) 0xFFFF0B38) #define PLAELM15 (*(volatile unsigned long *) 0xFFFF0B3C) #define PLACLK (*(volatile unsigned long *) 0xFFFF0B40) #define PLAIRQ (*(volatile unsigned long *) 0xFFFF0B44) #define PLAADC (*(volatile unsigned long *) 0xFFFF0B48) #define PLADIN (*(volatile unsigned long *) 0xFFFF0B4C) #define PLADOUT (*(volatile unsigned long *) 0xFFFF0B50) #define PLALCK (*(volatile unsigned long *) 0xFFFF0B54) // PWM #define PWMBASE (*(volatile unsigned long *) 0xFFFF0F80) #define PWMCON (*(volatile unsigned long *) 0xFFFF0F80) #define PWM0COM0 (*(volatile unsigned long *) 0xFFFF0F84) #define PWM0COM1 (*(volatile unsigned long *) 0xFFFF0F88) #define PWM0COM2 (*(volatile unsigned long *) 0xFFFF0F8C) #define PWM0LEN (*(volatile unsigned long *) 0xFFFF0F90) #define PWM1COM0 (*(volatile unsigned long *) 0xFFFF0F94) #define PWM1COM1 (*(volatile unsigned long *) 0xFFFF0F98) #define PWM1COM2 (*(volatile unsigned long *) 0xFFFF0F9C) #define PWM1LEN (*(volatile unsigned long *) 0xFFFF0FA0) #define PWM2COM0 (*(volatile unsigned long *) 0xFFFF0FA4) #define PWM2COM1 (*(volatile unsigned long *) 0xFFFF0FA8) #define PWM2COM2 (*(volatile unsigned long *) 0xFFFF0FAC) #define PWM2LEN (*(volatile unsigned long *) 0xFFFF0FB0) #define PWMCLRI (*(volatile unsigned long *) 0xFFFF0FB8) // GPIO AND SERIAL PORT MUX #define GPIOBASE (*(volatile unsigned long *) 0xFFFFF400) #define GP0CON (*(volatile unsigned long *) 0xFFFFF400) #define GP1CON (*(volatile unsigned long *) 0xFFFFF404) #define GP2CON (*(volatile unsigned long *) 0xFFFFF408) #define GP0DAT (*(volatile unsigned long *) 0xFFFFF420) #define GP0SET (*(volatile unsigned long *) 0xFFFFF424) #define GP0CLR (*(volatile unsigned long *) 0xFFFFF428) #define GP0PAR (*(volatile unsigned long *) 0xFFFFF42C) #define GP1DAT (*(volatile unsigned long *) 0xFFFFF430) #define GP1SET (*(volatile unsigned long *) 0xFFFFF434) #define GP1CLR (*(volatile unsigned long *) 0xFFFFF438) #define GP1PAR (*(volatile unsigned long *) 0xFFFFF43C) #define GP2DAT (*(volatile unsigned long *) 0xFFFFF440) #define GP2SET (*(volatile unsigned long *) 0xFFFFF444) #define GP2CLR (*(volatile unsigned long *) 0xFFFFF448) #define GP2PAR (*(volatile unsigned long *) 0xFFFFF44C) // FLASH CONTROL INTERFACE #define FLASHBASE (*(volatile unsigned long *) 0xFFFFF800) #define FEESTA (*(volatile unsigned long *) 0xFFFFF800) #define FEEMOD (*(volatile unsigned long *) 0xFFFFF804) #define FEECON (*(volatile unsigned long *) 0xFFFFF808) #define FEEDAT (*(volatile unsigned long *) 0xFFFFF80C) #define FEEADR (*(volatile unsigned long *) 0xFFFFF810) #define FEESIGN (*(volatile unsigned long *) 0xFFFFF818) #define FEEPRO (*(volatile unsigned long *) 0xFFFFF81C) #define FEEHIDE (*(volatile unsigned long *) 0xFFFFF820) /* Function Pointers for Interrupts */ typedef void (* tyVctHndlr) (void); extern tyVctHndlr IRQ; extern tyVctHndlr SWI; extern tyVctHndlr FIQ; extern tyVctHndlr UNDEF; extern tyVctHndlr PABORT; extern tyVctHndlr DABORT;