X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=device%2Finclude%2Fpic16%2Fpic18f6620.h;h=651867df893af82b84061f5da1c8f46e66181b68;hb=bb226788dab3832b0ec0cda70874ce3fce4eebc6;hp=0f19ba58ab55271bee17875935689ec1278e1978;hpb=0037e9a15527616ec2f342cf69e78a4c1f11b443;p=fw%2Fsdcc diff --git a/device/include/pic16/pic18f6620.h b/device/include/pic16/pic18f6620.h index 0f19ba58..651867df 100644 --- a/device/include/pic16/pic18f6620.h +++ b/device/include/pic16/pic18f6620.h @@ -15,7 +15,7 @@ #ifndef __PIC18F6620_H__ #define __PIC18F6620_H__ -extern sfr at 0xf6b RCSTA2; +extern __sfr __at (0xf6b) RCSTA2; typedef union { struct { unsigned RX9D:1; @@ -29,9 +29,9 @@ typedef union { }; } __RCSTA2bits_t; -extern volatile __RCSTA2bits_t at 0xf6b RCSTA2bits; +extern volatile __RCSTA2bits_t __at (0xf6b) RCSTA2bits; -extern sfr at 0xf6c TXSTA2; +extern __sfr __at (0xf6c) TXSTA2; typedef union { struct { unsigned TX9D:1; @@ -45,12 +45,12 @@ typedef union { }; } __TXSTA2bits_t; -extern volatile __TXSTA2bits_t at 0xf6c TXSTA2bits; +extern volatile __TXSTA2bits_t __at (0xf6c) TXSTA2bits; -extern sfr at 0xf6d TXREG2; -extern sfr at 0xf6e RCREG2; -extern sfr at 0xf6f SPBRG2; -extern sfr at 0xf70 CCP5CON; +extern __sfr __at (0xf6d) TXREG2; +extern __sfr __at (0xf6e) RCREG2; +extern __sfr __at (0xf6f) SPBRG2; +extern __sfr __at (0xf70) CCP5CON; typedef union { struct { unsigned CCP5M0:1; @@ -64,11 +64,11 @@ typedef union { }; } __CCP5CONbits_t; -extern volatile __CCP5CONbits_t at 0xf70 CCP5CONbits; +extern volatile __CCP5CONbits_t __at (0xf70) CCP5CONbits; -extern sfr at 0xf71 CCPR5L; -extern sfr at 0xf72 CCPR5H; -extern sfr at 0xf73 CCP4CON; +extern __sfr __at (0xf71) CCPR5L; +extern __sfr __at (0xf72) CCPR5H; +extern __sfr __at (0xf73) CCP4CON; typedef union { struct { unsigned CCP4M0:1; @@ -82,11 +82,11 @@ typedef union { }; } __CCP4CONbits_t; -extern volatile __CCP4CONbits_t at 0xf73 CCP4CONbits; +extern volatile __CCP4CONbits_t __at (0xf73) CCP4CONbits; -extern sfr at 0xf74 CCPR4L; -extern sfr at 0xf75 CCPR4H; -extern sfr at 0xf76 T4CON; +extern __sfr __at (0xf74) CCPR4L; +extern __sfr __at (0xf75) CCPR4H; +extern __sfr __at (0xf76) T4CON; typedef union { struct { unsigned T2CKPS0:1; @@ -100,11 +100,11 @@ typedef union { }; } __T4CONbits_t; -extern volatile __T4CONbits_t at 0xf76 T4CONbits; +extern volatile __T4CONbits_t __at (0xf76) T4CONbits; -extern sfr at 0xf77 PR4; -extern sfr at 0xf78 TMR4; -extern sfr at 0xf80 PORTA; +extern __sfr __at (0xf77) PR4; +extern __sfr __at (0xf78) TMR4; +extern __sfr __at (0xf80) PORTA; typedef union { struct { unsigned RA0:1; @@ -151,9 +151,9 @@ typedef union { }; } __PORTAbits_t; -extern volatile __PORTAbits_t at 0xf80 PORTAbits; +extern volatile __PORTAbits_t __at (0xf80) PORTAbits; -extern sfr at 0xf81 PORTB; +extern __sfr __at (0xf81) PORTB; typedef union { struct { unsigned RB0:1; @@ -178,9 +178,9 @@ typedef union { }; } __PORTBbits_t; -extern volatile __PORTBbits_t at 0xf81 PORTBbits; +extern volatile __PORTBbits_t __at (0xf81) PORTBbits; -extern sfr at 0xf82 PORTC; +extern __sfr __at (0xf82) PORTC; typedef union { struct { unsigned RC0:1; @@ -216,9 +216,9 @@ typedef union { }; } __PORTCbits_t; -extern volatile __PORTCbits_t at 0xf82 PORTCbits; +extern volatile __PORTCbits_t __at (0xf82) PORTCbits; -extern sfr at 0xf83 PORTD; +extern __sfr __at (0xf83) PORTD; typedef union { struct { unsigned RD0:1; @@ -243,9 +243,9 @@ typedef union { }; } __PORTDbits_t; -extern volatile __PORTDbits_t at 0xf83 PORTDbits; +extern volatile __PORTDbits_t __at (0xf83) PORTDbits; -extern sfr at 0xf84 PORTE; +extern __sfr __at (0xf84) PORTE; typedef union { struct { unsigned RE0:1; @@ -281,9 +281,9 @@ typedef union { }; } __PORTEbits_t; -extern volatile __PORTEbits_t at 0xf84 PORTEbits; +extern volatile __PORTEbits_t __at (0xf84) PORTEbits; -extern sfr at 0xf85 PORTF; +extern __sfr __at (0xf85) PORTF; typedef union { struct { unsigned RF0:1; @@ -297,9 +297,9 @@ typedef union { }; } __PORTFbits_t; -extern volatile __PORTFbits_t at 0xf85 PORTFbits; +extern volatile __PORTFbits_t __at (0xf85) PORTFbits; -extern sfr at 0xf86 PORTG; +extern __sfr __at (0xf86) PORTG; typedef union { struct { unsigned RG0:1; @@ -313,9 +313,9 @@ typedef union { }; } __PORTGbits_t; -extern volatile __PORTGbits_t at 0xf86 PORTGbits; +extern volatile __PORTGbits_t __at (0xf86) PORTGbits; -extern sfr at 0xf89 LATA; +extern __sfr __at (0xf89) LATA; typedef union { struct { unsigned LATA0:1; @@ -329,9 +329,9 @@ typedef union { }; } __LATAbits_t; -extern volatile __LATAbits_t at 0xf89 LATAbits; +extern volatile __LATAbits_t __at (0xf89) LATAbits; -extern sfr at 0xf8a LATB; +extern __sfr __at (0xf8a) LATB; typedef union { struct { unsigned LATB0:1; @@ -345,9 +345,9 @@ typedef union { }; } __LATBbits_t; -extern volatile __LATBbits_t at 0xf8a LATBbits; +extern volatile __LATBbits_t __at (0xf8a) LATBbits; -extern sfr at 0xf8b LATC; +extern __sfr __at (0xf8b) LATC; typedef union { struct { unsigned LATC0:1; @@ -361,9 +361,9 @@ typedef union { }; } __LATCbits_t; -extern volatile __LATCbits_t at 0xf8b LATCbits; +extern volatile __LATCbits_t __at (0xf8b) LATCbits; -extern sfr at 0xf8c LATD; +extern __sfr __at (0xf8c) LATD; typedef union { struct { unsigned LATD0:1; @@ -377,9 +377,9 @@ typedef union { }; } __LATDbits_t; -extern volatile __LATDbits_t at 0xf8c LATDbits; +extern volatile __LATDbits_t __at (0xf8c) LATDbits; -extern sfr at 0xf8d LATE; +extern __sfr __at (0xf8d) LATE; typedef union { struct { unsigned LATE0:1; @@ -393,9 +393,9 @@ typedef union { }; } __LATEbits_t; -extern volatile __LATEbits_t at 0xf8d LATEbits; +extern volatile __LATEbits_t __at (0xf8d) LATEbits; -extern sfr at 0xf8e LATF; +extern __sfr __at (0xf8e) LATF; typedef union { struct { unsigned LATF0:1; @@ -409,9 +409,9 @@ typedef union { }; } __LATFbits_t; -extern volatile __LATFbits_t at 0xf8e LATFbits; +extern volatile __LATFbits_t __at (0xf8e) LATFbits; -extern sfr at 0xf8f LATG; +extern __sfr __at (0xf8f) LATG; typedef union { struct { unsigned LATG0:1; @@ -425,9 +425,9 @@ typedef union { }; } __LATGbits_t; -extern volatile __LATGbits_t at 0xf8f LATGbits; +extern volatile __LATGbits_t __at (0xf8f) LATGbits; -extern sfr at 0xf92 TRISA; +extern __sfr __at (0xf92) TRISA; typedef union { struct { unsigned TRISA0:1; @@ -441,9 +441,9 @@ typedef union { }; } __TRISAbits_t; -extern volatile __TRISAbits_t at 0xf92 TRISAbits; +extern volatile __TRISAbits_t __at (0xf92) TRISAbits; -extern sfr at 0xf93 TRISB; +extern __sfr __at (0xf93) TRISB; typedef union { struct { unsigned TRISB0:1; @@ -457,9 +457,9 @@ typedef union { }; } __TRISBbits_t; -extern volatile __TRISBbits_t at 0xf93 TRISBbits; +extern volatile __TRISBbits_t __at (0xf93) TRISBbits; -extern sfr at 0xf94 TRISC; +extern __sfr __at (0xf94) TRISC; typedef union { struct { unsigned TRISC0:1; @@ -473,9 +473,9 @@ typedef union { }; } __TRISCbits_t; -extern volatile __TRISCbits_t at 0xf94 TRISCbits; +extern volatile __TRISCbits_t __at (0xf94) TRISCbits; -extern sfr at 0xf95 TRISD; +extern __sfr __at (0xf95) TRISD; typedef union { struct { unsigned TRISD0:1; @@ -489,9 +489,9 @@ typedef union { }; } __TRISDbits_t; -extern volatile __TRISDbits_t at 0xf95 TRISDbits; +extern volatile __TRISDbits_t __at (0xf95) TRISDbits; -extern sfr at 0xf96 TRISE; +extern __sfr __at (0xf96) TRISE; typedef union { struct { unsigned TRISE0:1; @@ -505,9 +505,9 @@ typedef union { }; } __TRISEbits_t; -extern volatile __TRISEbits_t at 0xf96 TRISEbits; +extern volatile __TRISEbits_t __at (0xf96) TRISEbits; -extern sfr at 0xf97 TRISF; +extern __sfr __at (0xf97) TRISF; typedef union { struct { unsigned TRISF0:1; @@ -521,9 +521,9 @@ typedef union { }; } __TRISFbits_t; -extern volatile __TRISFbits_t at 0xf97 TRISFbits; +extern volatile __TRISFbits_t __at (0xf97) TRISFbits; -extern sfr at 0xf98 TRISG; +extern __sfr __at (0xf98) TRISG; typedef union { struct { unsigned TRISG0:1; @@ -537,9 +537,9 @@ typedef union { }; } __TRISGbits_t; -extern volatile __TRISGbits_t at 0xf98 TRISGbits; +extern volatile __TRISGbits_t __at (0xf98) TRISGbits; -extern sfr at 0xf9d PIE1; +extern __sfr __at (0xf9d) PIE1; typedef union { struct { unsigned TMR1IE:1; @@ -553,9 +553,9 @@ typedef union { }; } __PIE1bits_t; -extern volatile __PIE1bits_t at 0xf9d PIE1bits; +extern volatile __PIE1bits_t __at (0xf9d) PIE1bits; -extern sfr at 0xf9e PIR1; +extern __sfr __at (0xf9e) PIR1; typedef union { struct { unsigned TMR1IF:1; @@ -569,9 +569,9 @@ typedef union { }; } __PIR1bits_t; -extern volatile __PIR1bits_t at 0xf9e PIR1bits; +extern volatile __PIR1bits_t __at (0xf9e) PIR1bits; -extern sfr at 0xf9f IPR1; +extern __sfr __at (0xf9f) IPR1; typedef union { struct { unsigned TMR1IP:1; @@ -585,9 +585,9 @@ typedef union { }; } __IPR1bits_t; -extern volatile __IPR1bits_t at 0xf9f IPR1bits; +extern volatile __IPR1bits_t __at (0xf9f) IPR1bits; -extern sfr at 0xfa0 PIE2; +extern __sfr __at (0xfa0) PIE2; typedef union { struct { unsigned CCP2IE:1; @@ -601,9 +601,9 @@ typedef union { }; } __PIE2bits_t; -extern volatile __PIE2bits_t at 0xfa0 PIE2bits; +extern volatile __PIE2bits_t __at (0xfa0) PIE2bits; -extern sfr at 0xfa1 PIR2; +extern __sfr __at (0xfa1) PIR2; typedef union { struct { unsigned CCP2IF:1; @@ -617,9 +617,9 @@ typedef union { }; } __PIR2bits_t; -extern volatile __PIR2bits_t at 0xfa1 PIR2bits; +extern volatile __PIR2bits_t __at (0xfa1) PIR2bits; -extern sfr at 0xfa2 IPR2; +extern __sfr __at (0xfa2) IPR2; typedef union { struct { unsigned CCP2IP:1; @@ -633,9 +633,9 @@ typedef union { }; } __IPR2bits_t; -extern volatile __IPR2bits_t at 0xfa2 IPR2bits; +extern volatile __IPR2bits_t __at (0xfa2) IPR2bits; -extern sfr at 0xfa3 PIE3; +extern __sfr __at (0xfa3) PIE3; typedef union { struct { unsigned CCP3IE:1; @@ -649,9 +649,9 @@ typedef union { }; } __PIE3bits_t; -extern volatile __PIE3bits_t at 0xfa3 PIE3bits; +extern volatile __PIE3bits_t __at (0xfa3) PIE3bits; -extern sfr at 0xfa4 PIR3; +extern __sfr __at (0xfa4) PIR3; typedef union { struct { unsigned CCP3IF:1; @@ -665,9 +665,9 @@ typedef union { }; } __PIR3bits_t; -extern volatile __PIR3bits_t at 0xfa4 PIR3bits; +extern volatile __PIR3bits_t __at (0xfa4) PIR3bits; -extern sfr at 0xfa5 IPR3; +extern __sfr __at (0xfa5) IPR3; typedef union { struct { unsigned CCP3IP:1; @@ -681,9 +681,9 @@ typedef union { }; } __IPR3bits_t; -extern volatile __IPR3bits_t at 0xfa5 IPR3bits; +extern volatile __IPR3bits_t __at (0xfa5) IPR3bits; -extern sfr at 0xfa6 EECON1; +extern __sfr __at (0xfa6) EECON1; typedef union { struct { unsigned RD:1; @@ -697,13 +697,13 @@ typedef union { }; } __EECON1bits_t; -extern volatile __EECON1bits_t at 0xfa6 EECON1bits; +extern volatile __EECON1bits_t __at (0xfa6) EECON1bits; -extern sfr at 0xfa7 EECON2; -extern sfr at 0xfa8 EEDATA; -extern sfr at 0xfa9 EEADR; -extern sfr at 0xfaa EEADRH; -extern sfr at 0xfab RCSTA1; +extern __sfr __at (0xfa7) EECON2; +extern __sfr __at (0xfa8) EEDATA; +extern __sfr __at (0xfa9) EEADR; +extern __sfr __at (0xfaa) EEADRH; +extern __sfr __at (0xfab) RCSTA1; typedef union { struct { unsigned RX9D:1; @@ -717,9 +717,9 @@ typedef union { }; } __RCSTA1bits_t; -extern volatile __RCSTA1bits_t at 0xfab RCSTA1bits; +extern volatile __RCSTA1bits_t __at (0xfab) RCSTA1bits; -extern sfr at 0xfac TXSTA1; +extern __sfr __at (0xfac) TXSTA1; typedef union { struct { unsigned TX9D:1; @@ -733,12 +733,22 @@ typedef union { }; } __TXSTA1bits_t; -extern volatile __TXSTA1bits_t at 0xfac TXSTA1bits; +extern volatile __TXSTA1bits_t __at (0xfac) TXSTA1bits; -extern sfr at 0xfad TXREG1; -extern sfr at 0xfae RCREG1; -extern sfr at 0xfaf SPBRG1; -extern sfr at 0xfb0 PSPCON; +extern __sfr __at (0xfad) TXREG1; +extern __sfr __at (0xfae) RCREG1; +extern __sfr __at (0xfaf) SPBRG1; + +/* for compatibility reasons */ +extern __sfr __at (0xfab) RCSTA; +extern volatile __RCSTA1bits_t __at (0xfab) RCSTAbits; +extern __sfr __at (0xfac) TXSTA; +extern volatile __TXSTA1bits_t __at (0xfac) TXSTAbits; +extern __sfr __at (0xfad) TXREG; +extern __sfr __at (0xfae) RCREG; +extern __sfr __at (0xfaf) SPBRG; + +extern __sfr __at (0xfb0) PSPCON; typedef union { struct { unsigned :1; @@ -752,9 +762,9 @@ typedef union { }; } __PSPCONbits_t; -extern volatile __PSPCONbits_t at 0xfb0 PSPCONbits; +extern volatile __PSPCONbits_t __at (0xfb0) PSPCONbits; -extern sfr at 0xfb1 T3CON; +extern __sfr __at (0xfb1) T3CON; typedef union { struct { unsigned TMR3ON:1; @@ -768,11 +778,11 @@ typedef union { }; } __T3CONbits_t; -extern volatile __T3CONbits_t at 0xfb1 T3CONbits; +extern volatile __T3CONbits_t __at (0xfb1) T3CONbits; -extern sfr at 0xfb2 TMR3L; -extern sfr at 0xfb3 TMR3H; -extern sfr at 0xfb4 CMCON; +extern __sfr __at (0xfb2) TMR3L; +extern __sfr __at (0xfb3) TMR3H; +extern __sfr __at (0xfb4) CMCON; typedef union { struct { unsigned CM0:1; @@ -786,9 +796,9 @@ typedef union { }; } __CMCONbits_t; -extern volatile __CMCONbits_t at 0xfb4 CMCONbits; +extern volatile __CMCONbits_t __at (0xfb4) CMCONbits; -extern sfr at 0xfb5 CVRCON; +extern __sfr __at (0xfb5) CVRCON; typedef union { struct { unsigned CVR0:1; @@ -802,9 +812,9 @@ typedef union { }; } __CVRCONbits_t; -extern volatile __CVRCONbits_t at 0xfb5 CVRCONbits; +extern volatile __CVRCONbits_t __at (0xfb5) CVRCONbits; -extern sfr at 0xfb7 CCP3CON; +extern __sfr __at (0xfb7) CCP3CON; typedef union { struct { unsigned CCP3M0:1; @@ -818,11 +828,11 @@ typedef union { }; } __CCP3CONbits_t; -extern volatile __CCP3CONbits_t at 0xfb7 CCP3CONbits; +extern volatile __CCP3CONbits_t __at (0xfb7) CCP3CONbits; -extern sfr at 0xfb8 CCPR3L; -extern sfr at 0xfb9 CCPR3H; -extern sfr at 0xfba CCP2CON; +extern __sfr __at (0xfb8) CCPR3L; +extern __sfr __at (0xfb9) CCPR3H; +extern __sfr __at (0xfba) CCP2CON; typedef union { struct { unsigned CCP2M0:1; @@ -836,11 +846,11 @@ typedef union { }; } __CCP2CONbits_t; -extern volatile __CCP2CONbits_t at 0xfba CCP2CONbits; +extern volatile __CCP2CONbits_t __at (0xfba) CCP2CONbits; -extern sfr at 0xfbb CCPR2L; -extern sfr at 0xfbc CCPR2H; -extern sfr at 0xfbd CCP1CON; +extern __sfr __at (0xfbb) CCPR2L; +extern __sfr __at (0xfbc) CCPR2H; +extern __sfr __at (0xfbd) CCP1CON; typedef union { struct { unsigned CCP1M0:1; @@ -854,11 +864,11 @@ typedef union { }; } __CCP1CONbits_t; -extern volatile __CCP1CONbits_t at 0xfbd CCP1CONbits; +extern volatile __CCP1CONbits_t __at (0xfbd) CCP1CONbits; -extern sfr at 0xfbe CCPR1L; -extern sfr at 0xfbf CCPR1H; -extern sfr at 0xfc0 ADCON2; +extern __sfr __at (0xfbe) CCPR1L; +extern __sfr __at (0xfbf) CCPR1H; +extern __sfr __at (0xfc0) ADCON2; typedef union { struct { unsigned ADCS0:1; @@ -872,9 +882,9 @@ typedef union { }; } __ADCON2bits_t; -extern volatile __ADCON2bits_t at 0xfc0 ADCON2bits; +extern volatile __ADCON2bits_t __at (0xfc0) ADCON2bits; -extern sfr at 0xfc1 ADCON1; +extern __sfr __at (0xfc1) ADCON1; typedef union { struct { unsigned PCFG0:1; @@ -888,9 +898,9 @@ typedef union { }; } __ADCON1bits_t; -extern volatile __ADCON1bits_t at 0xfc1 ADCON1bits; +extern volatile __ADCON1bits_t __at (0xfc1) ADCON1bits; -extern sfr at 0xfc2 ADCON0; +extern __sfr __at (0xfc2) ADCON0; typedef union { struct { unsigned ADON:1; @@ -904,11 +914,11 @@ typedef union { }; } __ADCON0bits_t; -extern volatile __ADCON0bits_t at 0xfc2 ADCON0bits; +extern volatile __ADCON0bits_t __at (0xfc2) ADCON0bits; -extern sfr at 0xfc3 ADRESL; -extern sfr at 0xfc4 ADRESH; -extern sfr at 0xfc5 SSPCON2; +extern __sfr __at (0xfc3) ADRESL; +extern __sfr __at (0xfc4) ADRESH; +extern __sfr __at (0xfc5) SSPCON2; typedef union { struct { unsigned SEN:1; @@ -922,9 +932,9 @@ typedef union { }; } __SSPCON2bits_t; -extern volatile __SSPCON2bits_t at 0xfc5 SSPCON2bits; +extern volatile __SSPCON2bits_t __at (0xfc5) SSPCON2bits; -extern sfr at 0xfc6 SSPCON1; +extern __sfr __at (0xfc6) SSPCON1; typedef union { struct { unsigned SSPM0:1; @@ -938,9 +948,9 @@ typedef union { }; } __SSPCON1bits_t; -extern volatile __SSPCON1bits_t at 0xfc6 SSPCON1bits; +extern volatile __SSPCON1bits_t __at (0xfc6) SSPCON1bits; -extern sfr at 0xfc7 SSPSTAT; +extern __sfr __at (0xfc7) SSPSTAT; typedef union { struct { unsigned BF:1; @@ -954,11 +964,11 @@ typedef union { }; } __SSPSTATbits_t; -extern volatile __SSPSTATbits_t at 0xfc7 SSPSTATbits; +extern volatile __SSPSTATbits_t __at (0xfc7) SSPSTATbits; -extern sfr at 0xfc8 SSPADD; -extern sfr at 0xfc9 SSPBUF; -extern sfr at 0xfca T2CON; +extern __sfr __at (0xfc8) SSPADD; +extern __sfr __at (0xfc9) SSPBUF; +extern __sfr __at (0xfca) T2CON; typedef union { struct { unsigned T2CKPS0:1; @@ -972,11 +982,11 @@ typedef union { }; } __T2CONbits_t; -extern volatile __T2CONbits_t at 0xfca T2CONbits; +extern volatile __T2CONbits_t __at (0xfca) T2CONbits; -extern sfr at 0xfcb PR2; -extern sfr at 0xfcc TMR2; -extern sfr at 0xfcd T1CON; +extern __sfr __at (0xfcb) PR2; +extern __sfr __at (0xfcc) TMR2; +extern __sfr __at (0xfcd) T1CON; typedef union { struct { unsigned TMR1ON:1; @@ -990,11 +1000,11 @@ typedef union { }; } __T1CONbits_t; -extern volatile __T1CONbits_t at 0xfcd T1CONbits; +extern volatile __T1CONbits_t __at (0xfcd) T1CONbits; -extern sfr at 0xfce TMR1L; -extern sfr at 0xfcf TMR1H; -extern sfr at 0xfd0 RCON; +extern __sfr __at (0xfce) TMR1L; +extern __sfr __at (0xfcf) TMR1H; +extern __sfr __at (0xfd0) RCON; typedef union { struct { unsigned BOR:1; @@ -1008,9 +1018,9 @@ typedef union { }; } __RCONbits_t; -extern volatile __RCONbits_t at 0xfd0 RCONbits; +extern volatile __RCONbits_t __at (0xfd0) RCONbits; -extern sfr at 0xfd1 WDTCON; +extern __sfr __at (0xfd1) WDTCON; typedef union { struct { unsigned SWDTEN:1; @@ -1035,9 +1045,9 @@ typedef union { }; } __WDTCONbits_t; -extern volatile __WDTCONbits_t at 0xfd1 WDTCONbits; +extern volatile __WDTCONbits_t __at (0xfd1) WDTCONbits; -extern sfr at 0xfd2 LVDCON; +extern __sfr __at (0xfd2) LVDCON; typedef union { struct { unsigned LVDL0:1; @@ -1062,9 +1072,9 @@ typedef union { }; } __LVDCONbits_t; -extern volatile __LVDCONbits_t at 0xfd2 LVDCONbits; +extern volatile __LVDCONbits_t __at (0xfd2) LVDCONbits; -extern sfr at 0xfd3 OSCCON; +extern __sfr __at (0xfd3) OSCCON; typedef union { struct { unsigned SCS:1; @@ -1078,12 +1088,12 @@ typedef union { }; } __OSCCONbits_t; -extern volatile __OSCCONbits_t at 0xfd3 OSCCONbits; +extern volatile __OSCCONbits_t __at (0xfd3) OSCCONbits; -extern sfr at 0xfd5 T0CON; -extern sfr at 0xfd6 TMR0L; -extern sfr at 0xfd7 TMR0H; -extern sfr at 0xfd8 STATUS; +extern __sfr __at (0xfd5) T0CON; +extern __sfr __at (0xfd6) TMR0L; +extern __sfr __at (0xfd7) TMR0H; +extern __sfr __at (0xfd8) STATUS; typedef union { struct { unsigned C:1; @@ -1097,32 +1107,32 @@ typedef union { }; } __STATUSbits_t; -extern volatile __STATUSbits_t at 0xfd8 STATUSbits; - -extern sfr at 0xfd9 FSR2L; -extern sfr at 0xfda FSR2H; -extern sfr at 0xfdb PLUSW2; -extern sfr at 0xfdc PREINC2; -extern sfr at 0xfdd POSTDEC2; -extern sfr at 0xfde POSTINC2; -extern sfr at 0xfdf INDF2; -extern sfr at 0xfe0 BSR; -extern sfr at 0xfe1 FSR1L; -extern sfr at 0xfe2 FSR1H; -extern sfr at 0xfe3 PLUSW1; -extern sfr at 0xfe4 PREINC1; -extern sfr at 0xfe5 POSTDEC1; -extern sfr at 0xfe6 POSTINC1; -extern sfr at 0xfe7 INDF1; -extern sfr at 0xfe8 WREG; -extern sfr at 0xfe9 FSR0L; -extern sfr at 0xfea FSR0H; -extern sfr at 0xfeb PLUSW0; -extern sfr at 0xfec PREINC0; -extern sfr at 0xfed POSTDEC0; -extern sfr at 0xfee POSTINC0; -extern sfr at 0xfef INDF0; -extern sfr at 0xff0 INTCON3; +extern volatile __STATUSbits_t __at (0xfd8) STATUSbits; + +extern __sfr __at (0xfd9) FSR2L; +extern __sfr __at (0xfda) FSR2H; +extern __sfr __at (0xfdb) PLUSW2; +extern __sfr __at (0xfdc) PREINC2; +extern __sfr __at (0xfdd) POSTDEC2; +extern __sfr __at (0xfde) POSTINC2; +extern __sfr __at (0xfdf) INDF2; +extern __sfr __at (0xfe0) BSR; +extern __sfr __at (0xfe1) FSR1L; +extern __sfr __at (0xfe2) FSR1H; +extern __sfr __at (0xfe3) PLUSW1; +extern __sfr __at (0xfe4) PREINC1; +extern __sfr __at (0xfe5) POSTDEC1; +extern __sfr __at (0xfe6) POSTINC1; +extern __sfr __at (0xfe7) INDF1; +extern __sfr __at (0xfe8) WREG; +extern __sfr __at (0xfe9) FSR0L; +extern __sfr __at (0xfea) FSR0H; +extern __sfr __at (0xfeb) PLUSW0; +extern __sfr __at (0xfec) PREINC0; +extern __sfr __at (0xfed) POSTDEC0; +extern __sfr __at (0xfee) POSTINC0; +extern __sfr __at (0xfef) INDF0; +extern __sfr __at (0xff0) INTCON3; typedef union { struct { unsigned INT1F:1; @@ -1147,9 +1157,9 @@ typedef union { }; } __INTCON3bits_t; -extern volatile __INTCON3bits_t at 0xff0 INTCON3bits; +extern volatile __INTCON3bits_t __at (0xff0) INTCON3bits; -extern sfr at 0xff1 INTCON2; +extern __sfr __at (0xff1) INTCON2; typedef union { struct { unsigned RBIP:1; @@ -1163,9 +1173,9 @@ typedef union { }; } __INTCON2bits_t; -extern volatile __INTCON2bits_t at 0xff1 INTCON2bits; +extern volatile __INTCON2bits_t __at (0xff1) INTCON2bits; -extern sfr at 0xff2 INTCON; +extern __sfr __at (0xff2) INTCON; typedef union { struct { unsigned RBIF:1; @@ -1177,20 +1187,30 @@ typedef union { unsigned PEIE:1; unsigned GIE:1; }; + struct { + unsigned :1; + unsigned INT0IF:1; + unsigned TMR0IF:1; + unsigned :1; + unsigned INT0IE:1; + unsigned TMR0IE:1; + unsigned GIEL:1; + unsigned GIEH:1; + }; } __INTCONbits_t; -extern volatile __INTCONbits_t at 0xff2 INTCONbits; - -extern sfr at 0xff3 PRODL; -extern sfr at 0xff4 PRODH; -extern sfr at 0xff5 TABLAT; -extern sfr at 0xff6 TBLPTRL; -extern sfr at 0xff7 TBLPTRH; -extern sfr at 0xff8 TBLPTRU; -extern sfr at 0xff9 PCL; -extern sfr at 0xffa PCLATH; -extern sfr at 0xffb PCLATU; -extern sfr at 0xffc STKPTR; +extern volatile __INTCONbits_t __at (0xff2) INTCONbits; + +extern __sfr __at (0xff3) PRODL; +extern __sfr __at (0xff4) PRODH; +extern __sfr __at (0xff5) TABLAT; +extern __sfr __at (0xff6) TBLPTRL; +extern __sfr __at (0xff7) TBLPTRH; +extern __sfr __at (0xff8) TBLPTRU; +extern __sfr __at (0xff9) PCL; +extern __sfr __at (0xffa) PCLATH; +extern __sfr __at (0xffb) PCLATU; +extern __sfr __at (0xffc) STKPTR; typedef union { struct { unsigned STKPTR0:1; @@ -1204,157 +1224,168 @@ typedef union { }; } __STKPTRbits_t; -extern volatile __STKPTRbits_t at 0xffc STKPTRbits; +extern volatile __STKPTRbits_t __at (0xffc) STKPTRbits; -extern sfr at 0xffd TOSL; -extern sfr at 0xffe TOSH; -extern sfr at 0xfff TOSU; +extern __sfr __at (0xffd) TOSL; +extern __sfr __at (0xffe) TOSH; +extern __sfr __at (0xfff) TOSU; /* Configuration registers locations */ -#define __CONFIG0H 0x300001 -#define __CONFIG1L 0x300002 -#define __CONFIG1H 0x300003 -#define __CONFIG2H 0x300005 -#define __CONFIG3L 0x300006 -#define __CONFIG4L 0x300008 -#define __CONFIG4H 0x300009 -#define __CONFIG5L 0x30000A -#define __CONFIG5H 0x30000B -#define __CONFIG6L 0x30000C -#define __CONFIG6H 0x30000D - - - -/* Oscillator 0H options */ -#define _OSC_RC_OSC2_0H 0xFF /* RC-OSC2 as RA6 */ -#define _OSC_HS_PLL_0H 0xFE /* HS-PLL Enabled */ -#define _OSC_EC_OSC2_RA6_0H 0xFD /* EC-OSC2 as RA6 */ -#define _OSC_EC_OSC2_Clock_Out_0H 0xFC /* EC-OSC2 as Clock_Out */ -#define _OSC_RC_0H 0xFB /* RC */ -#define _OSC_HS_0H 0xFA /* HS */ -#define _OSC_XT_0H 0xF9 /* XT */ -#define _OSC_LP_0H 0xF8 /* LP */ - -/* Osc. Switch Enable 0H options */ -#define _OSCS_OFF_0H 0xFF /* Disabled */ -#define _OSCS_ON_0H 0xDF /* Enabled */ - -/* Power Up Timer 1L options */ -#define _PUT_OFF_1L 0xFF /* Disabled */ -#define _PUT_ON_1L 0xFE /* Enabled */ - -/* Brown Out Detect 1L options */ -#define _BODEN_ON_1L 0xFF /* Enabled */ -#define _BODEN_OFF_1L 0xFD /* Disabled */ - -/* Brown Out Voltage 1L options */ -#define _BODENV_2_5V_1L 0xFF /* 2.5V */ -#define _BODENV_2_7V_1L 0xFB /* 2.7V */ -#define _BODENV_4_2V_1L 0xF7 /* 4.2V */ -#define _BODENV_4_5V_1L 0xF3 /* 4.5V */ - -/* Watchdog Timer 1H options */ -#define _WDT_ON_1H 0xFF /* Enabled */ -#define _WDT_OFF_1H 0xFE /* Disabled */ - -/* Watchdog Postscaler 1H options */ -#define _WDTPS_1_128_1H 0xFF /* 1:128 */ -#define _WDTPS_1_64_1H 0xFD /* 1:64 */ -#define _WDTPS_1_32_1H 0xFB /* 1:32 */ -#define _WDTPS_1_16_1H 0xF9 /* 1:16 */ -#define _WDTPS_1_8_1H 0xF7 /* 1:8 */ -#define _WDTPS_1_4_1H 0xF5 /* 1:4 */ -#define _WDTPS_1_2_1H 0xF3 /* 1:2 */ -#define _WDTPS_1_1_1H 0xF1 /* 1:1 */ - -/* CCP2 Mux 2H options */ -#define _CCP2MUX_RC1_2H 0xFF /* RC1 */ -#define _CCP2MUX_RE7_2H 0xFE /* RE7 */ - -/* Low Voltage Program 3L options */ -#define _LVP_ON_3L 0xFF /* Enabled */ -#define _LVP_OFF_3L 0xFB /* Disabled */ - -/* Background Debug 3L options */ -#define _BACKBUG_OFF_3L 0xFF /* Disabled */ -#define _BACKBUG_ON_3L 0x7F /* Enabled */ - -/* Stack Overflow Reset 3L options */ -#define _STVR_ON_3L 0xFF /* Enabled */ -#define _STVR_OFF_3L 0xFE /* Disabled */ - -/* Code Protect 00200-03FFF 4L options */ -#define _CP_0_OFF_4L 0xFF /* Disabled */ -#define _CP_0_ON_4L 0xFE /* Enabled */ - -/* Code Protect 04000-07FFF 4L options */ -#define _CP_1_OFF_4L 0xFF /* Disabled */ -#define _CP_1_ON_4L 0xFD /* Enabled */ - -/* Code Protect 08000-0BFFF 4L options */ -#define _CP_2_OFF_4L 0xFF /* Disabled */ -#define _CP_2_ON_4L 0xFB /* Enabled */ - -/* Code Protect 0C000-0FFFF 4L options */ -#define _CP_3_OFF_4L 0xFF /* Disabled */ -#define _CP_3_ON_4L 0xF7 /* Enabled */ - -/* Data EE Read Protect 4H options */ -#define _CPD_OFF_4H 0xFF /* Disabled */ -#define _CPD_ON_4H 0x7F /* Enabled */ - -/* Code Protect Boot 4H options */ -#define _CPB_OFF_4H 0xFF /* Disabled */ -#define _CPB_ON_4H 0xBF /* Enabled */ - -/* Table Write Protect 00200-03FFF 5L options */ -#define _WRT_0_OFF_5L 0xFF /* Disabled */ -#define _WRT_0_ON_5L 0xFE /* Enabled */ - -/* Table Write Protect 04000-07FFF 5L options */ -#define _WRT_1_OFF_5L 0xFF /* Disabled */ -#define _WRT_1_ON_5L 0xFD /* Enabled */ - -/* Table Write Protect 08000-0BFFF 5L options */ -#define _WRT_2_OFF_5L 0xFF /* Disabled */ -#define _WRT_2_ON_5L 0xFB /* Enabled */ - -/* Table Write Protect 0C000-0FFFF 5L options */ -#define _WRT_3_OFF_5L 0xFF /* Disabled */ -#define _WRT_3_ON_5L 0xF7 /* Enabled */ - -/* Data EE Write Protect 5H options */ -#define _WRTD_OFF_5H 0xFF /* Disabled */ -#define _WRTD_ON_5H 0x7F /* Enabled */ - -/* Table Write Protect Boot 5H options */ -#define _WRTB_OFF_5H 0xFF /* Disabled */ -#define _WRTB_ON_5H 0xBF /* Enabled */ - -/* Config. Write Protect 5H options */ -#define _WRTC_OFF_5H 0xFF /* Disabled */ -#define _WRTC_ON_5H 0xDF /* Enabled */ - -/* Table Read Protect 00200-03FFF 6L options */ -#define _EBTR_0_OFF_6L 0xFF /* Disabled */ -#define _EBTR_0_ON_6L 0xFE /* Enabled */ - -/* Table Read Protect 04000-07FFF 6L options */ -#define _EBTR_1_OFF_6L 0xFF /* Disabled */ -#define _EBTR_1_ON_6L 0xFD /* Enabled */ - -/* Table Read Protect 08000-0BFFF 6L options */ -#define _EBTR_2_OFF_6L 0xFF /* Disabled */ -#define _EBTR_2_ON_6L 0xFB /* Enabled */ - -/* Table Read Protect 0C000-0FFFF 6L options */ -#define _EBTR_3_OFF_6L 0xFF /* Disabled */ -#define _EBTR_3_ON_6L 0xF7 /* Enabled */ - -/* Table Read Protect Boot 6H options */ -#define _EBTRB_OFF_6H 0xFF /* Disabled */ -#define _EBTRB_ON_6H 0xBF /* Enabled */ +#define __CONFIG1H 0x300001 +#define __CONFIG2L 0x300002 +#define __CONFIG2H 0x300003 +#define __CONFIG3H 0x300005 +#define __CONFIG4L 0x300006 +#define __CONFIG5L 0x300008 +#define __CONFIG5H 0x300009 +#define __CONFIG6L 0x30000A +#define __CONFIG6H 0x30000B +#define __CONFIG7L 0x30000C +#define __CONFIG7H 0x30000D + + + +/* Oscillator 1H options */ +#define _OSC_RC_OSC2_1H 0xFF /* RC-OSC2 as RA6 */ +#define _OSC_HS_PLL_1H 0xFE /* HS-PLL Enabled */ +#define _OSC_EC_OSC2_RA6_1H 0xFD /* EC-OSC2 as RA6 */ +#define _OSC_EC_OSC2_Clock_Out_1H 0xFC /* EC-OSC2 as Clock_Out */ +#define _OSC_RC_1H 0xFB /* RC */ +#define _OSC_HS_1H 0xFA /* HS */ +#define _OSC_XT_1H 0xF9 /* XT */ +#define _OSC_LP_1H 0xF8 /* LP */ + +/* Osc. Switch Enable 1H options */ +#define _OSCS_OFF_1H 0xFF /* Disabled */ +#define _OSCS_ON_1H 0xDF /* Enabled */ + +/* Power Up Timer 2L options */ +#define _PUT_OFF_2L 0xFF /* Disabled */ +#define _PUT_ON_2L 0xFE /* Enabled */ + +/* Brown Out Detect 2L options */ +#define _BODEN_ON_2L 0xFF /* Enabled */ +#define _BODEN_OFF_2L 0xFD /* Disabled */ + +/* Brown Out Voltage 2L options */ +#define _BODENV_2_5V_2L 0xFF /* 2.5V */ +#define _BODENV_2_7V_2L 0xFB /* 2.7V */ +#define _BODENV_4_2V_2L 0xF7 /* 4.2V */ +#define _BODENV_4_5V_2L 0xF3 /* 4.5V */ + +/* Watchdog Timer 2H options */ +#define _WDT_ON_2H 0xFF /* Enabled */ +#define _WDT_OFF_2H 0xFE /* Disabled */ + +/* Watchdog Postscaler 2H options */ +#define _WDTPS_1_128_2H 0xFF /* 1:128 */ +#define _WDTPS_1_64_2H 0xFD /* 1:64 */ +#define _WDTPS_1_32_2H 0xFB /* 1:32 */ +#define _WDTPS_1_16_2H 0xF9 /* 1:16 */ +#define _WDTPS_1_8_2H 0xF7 /* 1:8 */ +#define _WDTPS_1_4_2H 0xF5 /* 1:4 */ +#define _WDTPS_1_2_2H 0xF3 /* 1:2 */ +#define _WDTPS_1_1_2H 0xF1 /* 1:1 */ + +/* CCP2 Mux 3H options */ +#define _CCP2MUX_RC1_3H 0xFF /* RC1 */ +#define _CCP2MUX_RE7_3H 0xFE /* RE7 */ + +/* Low Voltage Program 4L options */ +#define _LVP_ON_4L 0xFF /* Enabled */ +#define _LVP_OFF_4L 0xFB /* Disabled */ + +/* Background Debug 4L options */ +#define _BACKBUG_OFF_4L 0xFF /* Disabled */ +#define _BACKBUG_ON_4L 0x7F /* Enabled */ + +/* Stack Overflow Reset 4L options */ +#define _STVR_ON_4L 0xFF /* Enabled */ +#define _STVR_OFF_4L 0xFE /* Disabled */ + +/* Code Protect 00200-03FFF 5L options */ +#define _CP_0_OFF_5L 0xFF /* Disabled */ +#define _CP_0_ON_5L 0xFE /* Enabled */ + +/* Code Protect 04000-07FFF 5L options */ +#define _CP_1_OFF_5L 0xFF /* Disabled */ +#define _CP_1_ON_5L 0xFD /* Enabled */ + +/* Code Protect 08000-0BFFF 5L options */ +#define _CP_2_OFF_5L 0xFF /* Disabled */ +#define _CP_2_ON_5L 0xFB /* Enabled */ + +/* Code Protect 0C000-0FFFF 5L options */ +#define _CP_3_OFF_5L 0xFF /* Disabled */ +#define _CP_3_ON_5L 0xF7 /* Enabled */ + +/* Data EE Read Protect 5H options */ +#define _CPD_OFF_5H 0xFF /* Disabled */ +#define _CPD_ON_5H 0x7F /* Enabled */ + +/* Code Protect Boot 5H options */ +#define _CPB_OFF_5H 0xFF /* Disabled */ +#define _CPB_ON_5H 0xBF /* Enabled */ + +/* Table Write Protect 00200-03FFF 6L options */ +#define _WRT_0_OFF_6L 0xFF /* Disabled */ +#define _WRT_0_ON_6L 0xFE /* Enabled */ + +/* Table Write Protect 04000-07FFF 6L options */ +#define _WRT_1_OFF_6L 0xFF /* Disabled */ +#define _WRT_1_ON_6L 0xFD /* Enabled */ + +/* Table Write Protect 08000-0BFFF 6L options */ +#define _WRT_2_OFF_6L 0xFF /* Disabled */ +#define _WRT_2_ON_6L 0xFB /* Enabled */ + +/* Table Write Protect 0C000-0FFFF 6L options */ +#define _WRT_3_OFF_6L 0xFF /* Disabled */ +#define _WRT_3_ON_6L 0xF7 /* Enabled */ + +/* Data EE Write Protect 6H options */ +#define _WRTD_OFF_6H 0xFF /* Disabled */ +#define _WRTD_ON_6H 0x7F /* Enabled */ + +/* Table Write Protect Boot 6H options */ +#define _WRTB_OFF_6H 0xFF /* Disabled */ +#define _WRTB_ON_6H 0xBF /* Enabled */ + +/* Config. Write Protect 6H options */ +#define _WRTC_OFF_6H 0xFF /* Disabled */ +#define _WRTC_ON_6H 0xDF /* Enabled */ + +/* Table Read Protect 00200-03FFF 7L options */ +#define _EBTR_0_OFF_7L 0xFF /* Disabled */ +#define _EBTR_0_ON_7L 0xFE /* Enabled */ + +/* Table Read Protect 04000-07FFF 7L options */ +#define _EBTR_1_OFF_7L 0xFF /* Disabled */ +#define _EBTR_1_ON_7L 0xFD /* Enabled */ + +/* Table Read Protect 08000-0BFFF 7L options */ +#define _EBTR_2_OFF_7L 0xFF /* Disabled */ +#define _EBTR_2_ON_7L 0xFB /* Enabled */ + +/* Table Read Protect 0C000-0FFFF 7L options */ +#define _EBTR_3_OFF_7L 0xFF /* Disabled */ +#define _EBTR_3_ON_7L 0xF7 /* Enabled */ + +/* Table Read Protect Boot 7H options */ +#define _EBTRB_OFF_7H 0xFF /* Disabled */ +#define _EBTRB_ON_7H 0xBF /* Enabled */ + + +/* Device ID locations */ +#define __IDLOC0 0x200000 +#define __IDLOC1 0x200001 +#define __IDLOC2 0x200002 +#define __IDLOC3 0x200003 +#define __IDLOC4 0x200004 +#define __IDLOC5 0x200005 +#define __IDLOC6 0x200006 +#define __IDLOC7 0x200007 #endif