device/include/pic16/pic18f4550.h: added PORTD/TRISD
declarations/definitions from patch #
1520949
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4360
4a8a32a2-be11-0410-ad9d-
d568d2c75423
2006-09-05 Raphael Neider <rneider AT web.de>
- * src/pic16/gen.c (genPackBits): fix assignemnt to 8-bit,
+ * device/lib/pic16/libdev/pic18f4550.c,
+ device/include/pic16/pic18f4550.h: added PORTD/TRISD
+ declarations/definitions from patch #1520949
+
+2006-09-05 Raphael Neider <rneider AT web.de>
+
+ * src/pic16/gen.c (genPackBits): fix assignment to 8-bit,
byte-aligned bitfields, fixes #1539278
2006-09-05 Raphael Neider <rneider AT web.de>
} __PORTC_t;
extern volatile __PORTC_t __at (0xF82) PORTCbits;
+extern __sfr __at (0xF83) PORTD;
+typedef union {
+ struct {
+ unsigned RD0 : 1;
+ unsigned RD1 : 1;
+ unsigned RD2 : 1;
+ unsigned RD3 : 1;
+ unsigned RD4 : 1;
+ unsigned RD5 : 1;
+ unsigned RD6 : 1;
+ unsigned RD7 : 1;
+ };
+ struct {
+ unsigned RD : 8;
+ };
+ /* aliases */
+ struct {
+ unsigned :1;
+ unsigned :1;
+ unsigned :1;
+ unsigned :1;
+ unsigned :1;
+ unsigned ECCPB :1;
+ unsigned ECCPC :1;
+ unsigned ECCPD :1;
+ };
+} __PORTD_t;
+extern volatile __PORTD_t __at (0xF83) PORTDbits;
+
extern __sfr __at (0xF84) PORTE;
typedef union {
struct {
} __TRISC_t;
extern volatile __TRISC_t __at (0xF94) TRISCbits;
+extern __sfr __at (0xF95) TRISD;
+typedef union {
+ struct {
+ unsigned TRISD0 : 1;
+ unsigned TRISD1 : 1;
+ unsigned TRISD2 : 1;
+ unsigned TRISD3 : 1;
+ unsigned TRISD4 : 1;
+ unsigned TRISD5 : 1;
+ unsigned TRISD6 : 1;
+ unsigned TRISD7 : 1;
+ };
+} __TRISD_t;
+extern volatile __TRISD_t __at (0xF95) TRISDbits;
+
extern __sfr __at (0xF9B) OSCTUNE;
typedef union {
struct {
__sfr __at (0xF82) PORTC;
volatile __PORTC_t __at (0xF82) PORTCbits;
+__sfr __at (0xF83) PORTD;
+volatile __PORTD_t __at (0xF83) PORTDbits;
+
__sfr __at (0xF84) PORTE;
volatile __PORTE_t __at (0xF84) PORTEbits;
__sfr __at (0xF94) TRISC;
volatile __TRISC_t __at (0xF94) TRISCbits;
+__sfr __at (0xF95) TRISD;
+volatile __TRISD_t __at (0xF95) TRISDbits;
+
__sfr __at (0xF9B) OSCTUNE;
volatile __OSCTUNE_t __at (0xF9B) OSCTUNEbits;