// =============================================== // ADuC7038 HEADER FILE REV 1.4 // =============================================== // 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 FIQSTA (*(volatile unsigned long *) 0xFFFF0100) #define FIQSIG (*(volatile unsigned long *) 0xFFFF0104) #define FIQEN (*(volatile unsigned long *) 0xFFFF0108) #define FIQCLR (*(volatile unsigned long *) 0xFFFF010C) // Remap and System Control #define REMAPBASE (*(volatile unsigned long *) 0xFFFF0200) #define SYSMAP0 (*(volatile unsigned long *) 0xFFFF0220) #if ALLOW_DEPRECATED_NAMES // "SYSMAP" has been deprecated. Use "SYSMAP0" instead. #define SYSMAP (*(volatile unsigned long *) 0xFFFF0220) #endif #define RSTSTA (*(volatile unsigned long *) 0xFFFF0230) #define RSTCLR (*(volatile unsigned long *) 0xFFFF0234) #define SYSCHK (*(volatile unsigned long *) 0xFFFF0244) // 16 bit General Purpose Timer 0 #define TIMER0BASE (*(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) // Wake Up Timer #define TIMER1BASE (*(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 #define TIMER2BASE (*(volatile unsigned long *) 0xFFFF0340) #define T2LD (*(volatile unsigned long *) 0xFFFF0340) #define T2VAL (*(volatile unsigned long *) 0xFFFF0344) #define T2CON (*(volatile unsigned long *) 0xFFFF0348) #define T2CLRI (*(volatile unsigned long *) 0xFFFF034C) // PLL and Oscillator Control #define PLLBASE (*(volatile unsigned long *) 0xFFFF0400) #define PLLSTA (*(volatile unsigned long *) 0xFFFF0400) #define POWKEY0 (*(volatile unsigned long *) 0xFFFF0404) #define POWCON (*(volatile unsigned long *) 0xFFFF0408) #define POWKEY1 (*(volatile unsigned long *) 0xFFFF040C) #define PLLKEY0 (*(volatile unsigned long *) 0xFFFF0410) #define PLLCON (*(volatile unsigned long *) 0xFFFF0414) #define PLLKEY1 (*(volatile unsigned long *) 0xFFFF0418) #define OSC0CON (*(volatile unsigned long *) 0xFFFF0440) #if ALLOW_DEPRECATED_NAMES // "OSCCON" has been deprecated. Use "OSC0CON" instead. #define OSCCON (*(volatile unsigned long *) 0xFFFF0440) #endif #define OSC0STA (*(volatile unsigned long *) 0xFFFF0444) #if ALLOW_DEPRECATED_NAMES // "OSCSTA" has been deprecated. Use "OSC0STA" instead. #define OSCSTA (*(volatile unsigned long *) 0xFFFF0444) #endif #define OSC0VAL0 (*(volatile unsigned long *) 0xFFFF0448) #if ALLOW_DEPRECATED_NAMES // "OSCVAL0" has been deprecated. Use "OSC0VAL0" instead. #define OSCVAL0 (*(volatile unsigned long *) 0xFFFF0448) #endif #define OSC0VAL1 (*(volatile unsigned long *) 0xFFFF044C) #if ALLOW_DEPRECATED_NAMES // "OSCVAL1" has been deprecated. Use "OSC0VAL1" instead. #define OSCVAL1 (*(volatile unsigned long *) 0xFFFF044C) #endif #define LOCCON (*(volatile unsigned long *) 0xFFFF0480) #define LOCUSR0 (*(volatile unsigned long *) 0xFFFF0484) #define LOCUSR1 (*(volatile unsigned long *) 0xFFFF0488) #define LOCMAX (*(volatile unsigned long *) 0xFFFF048C) #define LOCMIN (*(volatile unsigned long *) 0xFFFF0490) #define LOCSTA (*(volatile unsigned long *) 0xFFFF0494) #define LOCVAL0 (*(volatile unsigned long *) 0xFFFF0498) #define LOCVAL1 (*(volatile unsigned long *) 0xFFFF049C) #define LOCKEY (*(volatile unsigned long *) 0xFFFF04A0) // ADC interface registers #define ADCBASE (*(volatile unsigned long *) 0xFFFF0500) #define ADCSTA (*(volatile unsigned long *) 0xFFFF0500) #define ADCMSKI (*(volatile unsigned long *) 0xFFFF0504) #define ADCMDE (*(volatile unsigned long *) 0xFFFF0508) #define ADC0CON (*(volatile unsigned long *) 0xFFFF050C) #define ADC1CON (*(volatile unsigned long *) 0xFFFF0510) #define ADCFLT (*(volatile unsigned long *) 0xFFFF0518) #define ADCCFG (*(volatile unsigned long *) 0xFFFF051C) #define ADC0DAT (*(volatile unsigned long *) 0xFFFF0520) #define ADC1DAT (*(volatile unsigned long *) 0xFFFF0524) #define ADC0OF (*(volatile unsigned long *) 0xFFFF0530) #define ADC1OF (*(volatile unsigned long *) 0xFFFF0534) #define ADC2OF (*(volatile unsigned long *) 0xFFFF0538) #define ADC0GN (*(volatile unsigned long *) 0xFFFF053C) #define ADC1GN (*(volatile unsigned long *) 0xFFFF0540) #define ADC2GN (*(volatile unsigned long *) 0xFFFF0544) // LIN Hardware SYNC Registers. #define LINBASE (*(volatile unsigned long *) 0xFFFF0700) #define LINCON (*(volatile unsigned long *) 0xFFFF0700) #define LINCS (*(volatile unsigned long *) 0xFFFF0704) #define LINBR (*(volatile unsigned long *) 0xFFFF0708) #define LINBK (*(volatile unsigned long *) 0xFFFF070C) #define LINSTA (*(volatile unsigned long *) 0xFFFF0710) #define LINDAT (*(volatile unsigned long *) 0xFFFF0714) #define LINLOW (*(volatile unsigned long *) 0xFFFF0718) #define LINWU (*(volatile unsigned long *) 0xFFFF071C) // High Voltage Interface. #define HVBASE (*(volatile unsigned long *) 0xFFFF0800) #define HVCON (*(volatile unsigned long *) 0xFFFF0804) #define HVDAT (*(volatile unsigned long *) 0xFFFF080C) // 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) // GPIO + Serial Port Mux (AHB bus) #define GPIOBASE (*(volatile unsigned long *) 0xFFFF0D00) #define GPCON (*(volatile unsigned long *) 0xFFFF0D00) #define GPDAT (*(volatile unsigned long *) 0xFFFF0D10) #define GPSET (*(volatile unsigned long *) 0xFFFF0D14) #define GPCLR (*(volatile unsigned long *) 0xFFFF0D18) // Flash Control Interface 64Kbytes (AHB bus) #define FLASHBASE (*(volatile unsigned long *) 0xFFFF0E00) #define FEESTA (*(volatile unsigned long *) 0xFFFF0E00) #define FEEMOD (*(volatile unsigned long *) 0xFFFF0E04) #define FEECON (*(volatile unsigned long *) 0xFFFF0E08) #define FEEDAT (*(volatile unsigned long *) 0xFFFF0E0C) #define FEEADR (*(volatile unsigned long *) 0xFFFF0E10) #define FEESIG (*(volatile unsigned long *) 0xFFFF0E18) #define FEEPRO (*(volatile unsigned long *) 0xFFFF0E1C) #define FEEHID (*(volatile unsigned long *) 0xFFFF0E20) /* 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;