X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fpic16%2Fdevices.inc;h=db49dadb474ea16024354a328a4ba918bc06e3a4;hb=7575290515a0fd3b571a609d33d7e655a0a28186;hp=d3de6962f2bde6ebcd1c22ed3c1370a8eff6205d;hpb=4fa52c899d3553b51d56db35d035f17b7e22e66b;p=fw%2Fsdcc diff --git a/src/pic16/devices.inc b/src/pic16/devices.inc index d3de6962..db49dadb 100644 --- a/src/pic16/devices.inc +++ b/src/pic16/devices.inc @@ -293,6 +293,29 @@ { 0, 0 }, { 0, 0 }, { 0, 0 } } } }, + { + {"p18f2221", "18f2221", "pic18f2221", "f2221"}, // also: 2321, 4221, 4321 + 0, /* always 0 */ + 0x200, /* RAM in bytes */ + 0x80, /* access bank split */ + 0, /* always 0 */ + { 0xf80, 0xfff }, /* range of SFR's */ + { + /* configuration words */ + 0x300001, /* first address */ + 0x30000d, /* last address */ + { { 0xcf, 0, 0x37 } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1 , 0, 0xff } /* 4 */ , { 0x87, 0, 0xfb } /* 5 */ , { 0xf5, 0, 0x8f } /* 6 */ , + { -1 , 0, 0xff } /* 7 */ , { 0x03, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x03, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x03, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + /* IDLOCs --- always 0 */ + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, { {"p18f2320", "18f2320", "pic18f2320", "f2320"}, 0, @@ -315,6 +338,119 @@ { 0, 0 }, { 0, 0 }, { 0, 0 } } } }, + { + {"p18f2321", "18f2321", "pic18f2321", "f2321"}, // also: 2221, 4221, 4321 + 0, /* always 0 */ + 0x200, /* RAM in bytes */ + 0x80, /* access bank split */ + 0, /* always 0 */ + { 0xf80, 0xfff }, /* range of SFR's */ + { + /* configuration words */ + 0x300001, /* first address */ + 0x30000d, /* last address */ + { { 0xcf, 0, 0x37 } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1 , 0, 0xff } /* 4 */ , { 0x87, 0, 0xfb } /* 5 */ , { 0xf5, 0, 0x8f } /* 6 */ , + { -1 , 0, 0xff } /* 7 */ , { 0x03, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x03, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x03, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + /* IDLOCs --- always 0 */ + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f2331", "18f2331", "pic18f2331", "f2331"}, // also: 18f[24][34]31 + 0, /* always 0 */ + 0x300, /* RAM in bytes */ + 0x60, /* access bank split */ + 0, /* always 0 */ + { 0xf60, 0xfff }, /* range of SFR's */ + { + /* configuration words */ + 0x300001, /* first address */ + 0x30000d, /* last address */ + { { 0xcf, 0, 0xff } /* 1 */ , { 0x0f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { 0x3c, 0, 0xff } /* 4 */ , { 0x9b, 0, 0xff } /* 5 */ , { 0x85, 0, 0xff } /* 6 */ , + { -1 , 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + /* IDLOCs --- always 0 */ + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f2420", "18f2420", "pic18f2420", "f2420"}, // also: 18f[24][45]20 + 0, + 0x300, /* 768 */ + 0x80, + 0, + { 0xf80, 0xfff }, /* PIC18F2420 range of SFR's */ + { + /* PIC18F2420 configuration words */ + 0x300000, + 0x30000d, + { { 0x3f, 0, 0xff } /* 0 */ , { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , + { 0x1f, 0, 0xff } /* 3 */ , { -1, 0, 0xff } /* 4 */ , { 0x87, 0, 0xff } /* 5 */ , + { 0xc5, 0, 0xff } /* 6 */ , { -1, 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , + { 0xc0, 0, 0xff } /* 9 */ , { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , + { 0x0f, 0, 0xff } /* c */ , { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f2423", "18f2423", "pic18f2423", "f2423"}, + 0, + 0x300, /* 768 */ + 0x80, + 0, + { 0xf80, 0xfff }, /* PIC18F2423 range of SFR's */ + { + /* PIC18F2423 configuration words */ + 0x300000, + 0x30000d, + { { 0x3f, 0, 0xff } /* 0 */ , { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , + { 0x1f, 0, 0xff } /* 3 */ , { -1, 0, 0xff } /* 4 */ , { 0x87, 0, 0xff } /* 5 */ , + { 0xc5, 0, 0xff } /* 6 */ , { -1, 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , + { 0xc0, 0, 0xff } /* 9 */ , { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , + { 0x0f, 0, 0xff } /* c */ , { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f2431", "18f2431", "pic18f2431", "f2431"}, // also: 18f[24][34]31 + 0, /* always 0 */ + 0x300, /* RAM in bytes */ + 0x60, /* access bank split */ + 0, /* always 0 */ + { 0xf60, 0xfff }, /* range of SFR's */ + { + /* configuration words */ + 0x300001, /* first address */ + 0x30000d, /* last address */ + { { 0xcf, 0, 0xff } /* 1 */ , { 0x0f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { 0x3c, 0, 0xff } /* 4 */ , { 0x9b, 0, 0xff } /* 5 */ , { 0x85, 0, 0xff } /* 6 */ , + { -1 , 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + /* IDLOCs --- always 0 */ + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, { {"p18f2455", "18f2455", "pic18f2455", "f2455"}, 0, @@ -337,6 +473,118 @@ { 0, 0 }, { 0, 0 }, { 0, 0 } } } }, + { + {"p18f2480", "18f2480", "pic18f2480", "f2480"}, + 0, + 0x300, /* 768 */ + 0x60, + 0, + { 0xd00, 0xfff }, /* range of SFR's */ + { + /* configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0x37 } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , + { 0x1f, 0, 0xff } /* 3 */ , { -1 , 0, 0xff } /* 4 */ , + { 0x86, 0, 0xfb } /* 5 */ , { 0xd5, 0, 0xaf } /* 6 */ , + { -1 , 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , + { 0xc0, 0, 0xff } /* 9 */ , { 0x0f, 0, 0xff } /* a */ , + { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f24j10", "18f24j10", "pic18f24j10", "f24j10"}, /* also 18f[24][45]j10 */ + 0, + 0x1000, /* 4096 */ + 0x80, + 0, + { 0xf80, 0xfff }, /* PIC18F24j10 range of SFR's */ + { + /* PIC18F24j10 configuration words */ + 0x300000, + 0x30000d, + { { 0xe1, 0, 0xff } /* 0 */ , { 0x07, 0, 0xff } /* 1 */ , { 0xc7, 0, 0xff } /* 2 */ , + { 0x0f, 0, 0xff } /* 3 */ , { -1, 0, 0xff } /* 4 */ , { 0x01, 0, 0xff } /* 5 */ , + { -1, 0, 0xff } /* 6 */ , { -1, 0, 0xff } /* 7 */ , { -1, 0, 0xff } /* 8 */ , + { -1, 0, 0xff } /* 9 */ , { -1, 0, 0xff } /* a */ , { -1, 0, 0xff } /* b */ , + { -1, 0, 0xff } /* c */ , { -1, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f2520", "18f2520", "pic18f2520", "f2520"}, // also: 18f[24][45]20 + 0, + 0x600, /* 1536 */ + 0x80, + 0, + { 0xf80, 0xfff }, /* PIC18F2520 range of SFR's */ + { + /* PIC18F2520 configuration words */ + 0x300000, + 0x30000d, + { { 0x3f, 0, 0xff } /* 0 */ , { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , + { 0x1f, 0, 0xff } /* 3 */ , { -1, 0, 0xff } /* 4 */ , { 0x87, 0, 0xff } /* 5 */ , + { 0xc5, 0, 0xff } /* 6 */ , { -1, 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , + { 0xc0, 0, 0xff } /* 9 */ , { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , + { 0x0f, 0, 0xff } /* c */ , { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f2523", "18f2523", "pic18f2523", "f2523"}, + 0, + 0x600, /* 1536 */ + 0x80, + 0, + { 0xf80, 0xfff }, /* PIC18F2523 range of SFR's */ + { + /* PIC18F2523 configuration words */ + 0x300000, + 0x30000d, + { { 0x3f, 0, 0xff } /* 0 */ , { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , + { 0x1f, 0, 0xff } /* 3 */ , { -1, 0, 0xff } /* 4 */ , { 0x87, 0, 0xff } /* 5 */ , + { 0xc5, 0, 0xff } /* 6 */ , { -1, 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , + { 0xc0, 0, 0xff } /* 9 */ , { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , + { 0x0f, 0, 0xff } /* c */ , { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f2525", "18f2525", "pic18f2525", "f2525"}, + 0, + 0x1000, /* 4096 */ + 0x80, + 0, + { 0xf80, 0xfff }, /* PIC18F4525,2525 range of SFR's */ + { + /* PIC18F4525,2525 configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1, 0, 0xff } /* 4 */ , { 0x87, 0, 0xff } /* 5 */ , { 0xc5, 0, 0xff } /* 6 */ , + { -1, 0, 0xff } /* 7 */ , { 0x07, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x07, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x07, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, { {"p18f2550", "18f2550", "pic18f2550", "f2550"}, 0, @@ -359,6 +607,162 @@ { 0, 0 }, { 0, 0 }, { 0, 0 } } } }, + { + {"p18f2580", "18f2580", "pic18f2580", "f2580"}, + 0, + 0x600, /* 1536 */ + 0x60, + 0, + { 0xd00, 0xfff }, /* range of SFR's */ + { + /* configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0x37 } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , + { 0x1f, 0, 0xff } /* 3 */ , { -1 , 0, 0xff } /* 4 */ , + { 0x86, 0, 0xfb } /* 5 */ , { 0xd5, 0, 0xaf } /* 6 */ , + { -1 , 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , + { 0xc0, 0, 0xff } /* 9 */ , { 0x0f, 0, 0xff } /* a */ , + { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f2585", "18f2585", "pic18f2585", "f2585"}, + 0, + 0x1000, /* 4096 */ + 0x60, + 0, + { 0xd00, 0xfff }, /* PIC18F2585,2680,4585,4680 range of SFR's */ + { + /* PIC18F2585,2680,4585,4680 configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1, 0, 0xff } /* 4 */ , { 0x86, 0, 0xff } /* 5 */ , { 0xf5, 0, 0xff } /* 6 */ , + { -1, 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f25j10", "18f25j10", "pic18f25j10", "f25j10"}, /* also 18f[24][45]j10 */ + 0, + 0x1000, /* 4096 */ + 0x80, + 0, + { 0xf80, 0xfff }, /* PIC18F25j10 range of SFR's */ + { + /* PIC18F25j10 configuration words */ + 0x300000, + 0x30000d, + { { 0xe1, 0, 0xff } /* 0 */ , { 0x07, 0, 0xff } /* 1 */ , { 0xc7, 0, 0xff } /* 2 */ , + { 0x0f, 0, 0xff } /* 3 */ , { -1, 0, 0xff } /* 4 */ , { 0x01, 0, 0xff } /* 5 */ , + { -1, 0, 0xff } /* 6 */ , { -1, 0, 0xff } /* 7 */ , { -1, 0, 0xff } /* 8 */ , + { -1, 0, 0xff } /* 9 */ , { -1, 0, 0xff } /* a */ , { -1, 0, 0xff } /* b */ , + { -1, 0, 0xff } /* c */ , { -1, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f2620", "18f2620", "pic18f2620", "f2620"}, + 0, + 0x1000, /* 4096 */ + 0x80, + 0, + { 0xf80, 0xfff }, /* PIC18F4620,2620 range of SFR's */ + { + /* PIC18F4620,2620 configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1, 0, 0xff } /* 4 */ , { 0x87, 0, 0xff } /* 5 */ , { 0xc5, 0, 0xff } /* 6 */ , + { -1, 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f2680", "18f2680", "pic18f2680", "f2680"}, + 0, + 0x1000, /* 4096 */ + 0x60, + 0, + { 0xd00, 0xfff }, /* PIC18F2585,2680,4585,4680 range of SFR's */ + { + /* PIC18F2585,2680,4585,4680 configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1, 0, 0xff } /* 4 */ , { 0x86, 0, 0xff } /* 5 */ , { 0xf5, 0, 0xff } /* 6 */ , + { -1, 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f2682", "18f2682", "pic18f2682", "f2682"}, + 0, + 0x1000, /* 4096 */ + 0x60, + 0, + { 0xd00, 0xfff }, /* PIC18F2682,2685,4682,4685 range of SFR's */ + { + /* PIC18F2682,2685,4682,4685 configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1, 0, 0xff } /* 4 */ , { 0x86, 0, 0xff } /* 5 */ , { 0xf5, 0, 0xff } /* 6 */ , + { -1, 0, 0xff } /* 7 */ , { 0x3f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x3f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x3f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f2685", "18f2685", "pic18f2685", "f2685"}, + 0, + 0x1000, /* 4096 */ + 0x60, + 0, + { 0xd00, 0xfff }, /* PIC18F2682,2685,4682,4685 range of SFR's */ + { + /* PIC18F2682,2685,4682,4685 configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1, 0, 0xff } /* 4 */ , { 0x86, 0, 0xff } /* 5 */ , { 0xf5, 0, 0xff } /* 6 */ , + { -1, 0, 0xff } /* 7 */ , { 0x3f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x3f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x3f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, { {"p18f4220", "18f4220", "pic18f4220", "f4220"}, 0, @@ -381,6 +785,29 @@ { 0, 0 }, { 0, 0 }, { 0, 0 } } } }, + { + {"p18f4221", "18f4221", "pic18f4221", "f4221"}, // also: 2221, 2321, 4321 + 0, /* always 0 */ + 0x200, /* RAM in bytes */ + 0x80, /* access bank split */ + 0, /* always 0 */ + { 0xf80, 0xfff }, /* range of SFR's */ + { + /* configuration words */ + 0x300001, /* first address */ + 0x30000d, /* last address */ + { { 0xcf, 0, 0x37 } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1 , 0, 0xff } /* 4 */ , { 0x87, 0, 0xfb } /* 5 */ , { 0xf5, 0, 0x8f } /* 6 */ , + { -1 , 0, 0xff } /* 7 */ , { 0x03, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x03, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x03, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + /* IDLOCs --- always 0 */ + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, { {"p18f4320", "18f4320", "pic18f4320", "f4320"}, 0, @@ -404,22 +831,91 @@ } }, { - {"p18f4331", "18f4331", "pic18f4331", "f4331"}, + {"p18f4321", "18f4321", "pic18f4321", "f4321"}, // also: 2221, 2321, 4221 + 0, /* always 0 */ + 0x200, /* RAM in bytes */ + 0x80, /* access bank split */ + 0, /* always 0 */ + { 0xf80, 0xfff }, /* range of SFR's */ + { + /* configuration words */ + 0x300001, /* first address */ + 0x30000d, /* last address */ + { { 0xcf, 0, 0x37 } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1 , 0, 0xff } /* 4 */ , { 0x87, 0, 0xfb } /* 5 */ , { 0xf5, 0, 0x8f } /* 6 */ , + { -1 , 0, 0xff } /* 7 */ , { 0x03, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x03, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x03, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + /* IDLOCs --- always 0 */ + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f4331", "18f4331", "pic18f4331", "f4331"}, // also: 18f[24][34]31 + 0, /* always 0 */ + 0x300, /* RAM in bytes */ + 0x60, /* access bank split */ + 0, /* always 0 */ + { 0xf60, 0xfff }, /* range of SFR's */ + { + /* configuration words */ + 0x300001, /* first address */ + 0x30000d, /* last address */ + { { 0xcf, 0, 0xff } /* 1 */ , { 0x0f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { 0x3c, 0, 0xff } /* 4 */ , { 0x9b, 0, 0xff } /* 5 */ , { 0x85, 0, 0xff } /* 6 */ , + { -1 , 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + /* IDLOCs --- always 0 */ + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f4420", "18f4420", "pic18f4420", "f4420"}, // also: 18f[24][45]20 0, - 0x300, /* 768 */ - 0x60, + 0x300, /* 4096 */ + 0x80, 0, - { 0xf60, 0xfff }, /* PIC18F4331 range of SFR's */ + { 0xf80, 0xfff }, /* PIC18F4420 range of SFR's */ { - /* PIC18F4331 configuration words */ - 0x300001, + /* PIC18F4420 configuration words */ + 0x300000, 0x30000d, - { { 0xcf, 0, 0xff } /* 1 */ , { 0x0f, 0, 0xff } /* 2 */ , { 0x3f, 0, 0xff } /* 3 */ , - { 0x3c, 0, 0xff } /* 4 */ , { 0x9d, 0, 0xff } /* 5 */ , { 0x85, 0, 0xff } /* 6 */ , - { -1, 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , - { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , - { 0x40, 0, 0xff } /* d */ } + { { 0x3f, 0, 0xff } /* 0 */ , { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , + { 0x1f, 0, 0xff } /* 3 */ , { -1, 0, 0xff } /* 4 */ , { 0x87, 0, 0xff } /* 5 */ , + { 0xc5, 0, 0xff } /* 6 */ , { -1, 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , + { 0xc0, 0, 0xff } /* 9 */ , { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , + { 0x0f, 0, 0xff } /* c */ , { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f4431", "18f4431", "pic18f4431", "f4431"}, // also: 18f[24][34]31 + 0, /* always 0 */ + 0x300, /* RAM in bytes */ + 0x60, /* access bank split */ + 0, /* always 0 */ + { 0xf60, 0xfff }, /* range of SFR's */ + { + /* configuration words */ + 0x300001, /* first address */ + 0x30000d, /* last address */ + { { 0xcf, 0, 0xff } /* 1 */ , { 0x0f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { 0x3c, 0, 0xff } /* 4 */ , { 0x9b, 0, 0xff } /* 5 */ , { 0x85, 0, 0xff } /* 6 */ , + { -1 , 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } }, + /* IDLOCs --- always 0 */ { 0x200000, 0x200007, { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } } @@ -448,11 +944,57 @@ } }, { - {"p18f4520", "18f4520", "pic18f4520", "f4520"}, + {"p18f4480", "18f4480", "pic18f4480", "f4480"}, + 0, + 0x300, /* 768 */ + 0x60, + 0, + { 0xd00, 0xfff }, /* range of SFR's */ + { + /* configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0x37 } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , + { 0x1f, 0, 0xff } /* 3 */ , { -1 , 0, 0xff } /* 4 */ , + { 0x86, 0, 0xfb } /* 5 */ , { 0xd5, 0, 0xaf } /* 6 */ , + { -1 , 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , + { 0xc0, 0, 0xff } /* 9 */ , { 0x0f, 0, 0xff } /* a */ , + { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f44j10", "18f44j10", "pic18f44j10", "f44j10"}, /* also 18f[24][45]j10 */ 0, 0x1000, /* 4096 */ 0x80, 0, + { 0xf80, 0xfff }, /* PIC18F44j10 range of SFR's */ + { + /* PIC18F44j10 configuration words */ + 0x300000, + 0x30000d, + { { 0xe1, 0, 0xff } /* 0 */ , { 0x07, 0, 0xff } /* 1 */ , { 0xc7, 0, 0xff } /* 2 */ , + { 0x0f, 0, 0xff } /* 3 */ , { -1, 0, 0xff } /* 4 */ , { 0x01, 0, 0xff } /* 5 */ , + { -1, 0, 0xff } /* 6 */ , { -1, 0, 0xff } /* 7 */ , { -1, 0, 0xff } /* 8 */ , + { -1, 0, 0xff } /* 9 */ , { -1, 0, 0xff } /* a */ , { -1, 0, 0xff } /* b */ , + { -1, 0, 0xff } /* c */ , { -1, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f4520", "18f4520", "pic18f4520", "f4520"}, + 0, + 0x600, /* 1536 */ + 0x80, + 0, { 0xf80, 0xfff }, /* PIC18F4520 range of SFR's */ { /* PIC18F4520 configuration words */ @@ -469,6 +1011,206 @@ { 0, 0 }, { 0, 0 }, { 0, 0 } } } }, + { + {"p18f4525", "18f4525", "pic18f4525", "f4525"}, + 0, + 0x1000, /* 4096 */ + 0x80, + 0, + { 0xf80, 0xfff }, /* PIC18F4525,2525 range of SFR's */ + { + /* PIC18F4525,2525 configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1, 0, 0xff } /* 4 */ , { 0x87, 0, 0xff } /* 5 */ , { 0xc5, 0, 0xff } /* 6 */ , + { -1, 0, 0xff } /* 7 */ , { 0x07, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x07, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x07, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f4550", "18f4550", "pic18f4550", "f4550"}, + 0, + 0x800, /* 2048 */ + 0x60, + 0, + { 0xf62, 0xfff }, /* PIC18F4550 range of SFR's */ + { + /* PIC18F4550 configuration words */ + 0x300000, + 0x30000d, + { { 0x3f, 0, 0xff } /* 0 */ , { 0xcf, 0, 0xff } /* 1 */ , { 0x3f, 0, 0xff } /* 2 */ , + { 0x1f, 0, 0xff } /* 3 */ , { -1, 0, 0xff } /* 4 */ , { 0x87, 0, 0xff } /* 5 */ , + { 0xe5, 0, 0xff } /* 6 */ , { -1, 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , + { 0xc0, 0, 0xff } /* 9 */ , { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , + { 0x0f, 0, 0xff } /* c */ , { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f4580", "18f4580", "pic18f4580", "f4580"}, + 0, + 0x600, /* 1536 */ + 0x60, + 0, + { 0xd00, 0xfff }, /* range of SFR's */ + { + /* configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0x37 } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , + { 0x1f, 0, 0xff } /* 3 */ , { -1 , 0, 0xff } /* 4 */ , + { 0x86, 0, 0xfb } /* 5 */ , { 0xd5, 0, 0xaf } /* 6 */ , + { -1 , 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , + { 0xc0, 0, 0xff } /* 9 */ , { 0x0f, 0, 0xff } /* a */ , + { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f4585", "18f4585", "pic18f4585", "f4585"}, + 0, + 0x1000, /* 4096 */ + 0x60, + 0, + { 0xd00, 0xfff }, /* PIC18F2585,2680,4585,4680 range of SFR's */ + { + /* PIC18F2585,2680,4585,4680 configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1, 0, 0xff } /* 4 */ , { 0x86, 0, 0xff } /* 5 */ , { 0xf5, 0, 0xff } /* 6 */ , + { -1, 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f45j10", "18f45j10", "pic18f45j10", "f45j10"}, /* also 18f[24][45]j10 */ + 0, + 0x1000, /* 4096 */ + 0x80, + 0, + { 0xf80, 0xfff }, /* PIC18F45j10 range of SFR's */ + { + /* PIC18F45j10 configuration words */ + 0x300000, + 0x30000d, + { { 0xe1, 0, 0xff } /* 0 */ , { 0x07, 0, 0xff } /* 1 */ , { 0xc7, 0, 0xff } /* 2 */ , + { 0x0f, 0, 0xff } /* 3 */ , { -1, 0, 0xff } /* 4 */ , { 0x01, 0, 0xff } /* 5 */ , + { -1, 0, 0xff } /* 6 */ , { -1, 0, 0xff } /* 7 */ , { -1, 0, 0xff } /* 8 */ , + { -1, 0, 0xff } /* 9 */ , { -1, 0, 0xff } /* a */ , { -1, 0, 0xff } /* b */ , + { -1, 0, 0xff } /* c */ , { -1, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f4620", "18f4620", "pic18f4620", "f4620"}, + 0, + 0x1000, /* 4096 */ + 0x80, + 0, + { 0xf80, 0xfff }, /* PIC18F4620,2620 range of SFR's */ + { + /* PIC18F4620,2620 configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1, 0, 0xff } /* 4 */ , { 0x87, 0, 0xff } /* 5 */ , { 0xc5, 0, 0xff } /* 6 */ , + { -1, 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f4680", "18f4680", "pic18f4680", "f4680"}, + 0, + 0x1000, /* 4096 */ + 0x60, + 0, + { 0xd00, 0xfff }, /* PIC18F2585,2680,4585,4680 range of SFR's */ + { + /* PIC18F2585,2680,4585,4680 configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1, 0, 0xff } /* 4 */ , { 0x86, 0, 0xff } /* 5 */ , { 0xf5, 0, 0xff } /* 6 */ , + { -1, 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f4682", "18f4682", "pic18f4682", "f4682"}, + 0, + 0x1000, /* 4096 */ + 0x60, + 0, + { 0xd00, 0xfff }, /* PIC18F2682,2685,4682,4685 range of SFR's */ + { + /* PIC18F2682,2685,4682,4685 configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1, 0, 0xff } /* 4 */ , { 0x86, 0, 0xff } /* 5 */ , { 0xf5, 0, 0xff } /* 6 */ , + { -1, 0, 0xff } /* 7 */ , { 0x3f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x3f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x3f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, + { + {"p18f4685", "18f4685", "pic18f4685", "f4685"}, + 0, + 0x1000, /* 4096 */ + 0x60, + 0, + { 0xd00, 0xfff }, /* PIC18F2682,2685,4682,4685 range of SFR's */ + { + /* PIC18F2682,2685,4682,4685 configuration words */ + 0x300001, + 0x30000d, + { { 0xcf, 0, 0xff } /* 1 */ , { 0x1f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { -1, 0, 0xff } /* 4 */ , { 0x86, 0, 0xff } /* 5 */ , { 0xf5, 0, 0xff } /* 6 */ , + { -1, 0, 0xff } /* 7 */ , { 0x3f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x3f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x3f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, { {"p18f6520", "18f6520", "pic18f6520", "f6520"}, 0, @@ -491,6 +1233,28 @@ { 0, 0 }, { 0, 0 }, { 0, 0 } } } }, + { + {"p18f6585", "18f6585", "pic18f6585", "f6585"}, + 0, + 0xf00, /* 3840 */ + 0x60, + 0, + { 0xd60, 0xfff }, /* range of SFR's */ + { + /* configuration words */ + 0x300001, + 0x30000d, + { { 0x2f, 0, 0xff } /* 1 */ , { 0x0f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { 0x83, 0, 0xff } /* 4 */ , { 0x81, 0, 0xff } /* 5 */ , { 0x85, 0, 0xff } /* 6 */ , + { -1, 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, { {"p18f6620", "18f6620", "pic18f6620", "f6620"}, 0, @@ -579,6 +1343,28 @@ { 0, 0 }, { 0, 0 }, { 0, 0 } } } }, + { + {"p18f8585", "18f8585", "pic18f8585", "f8585"}, + 0, + 0xf00, /* 3840 */ + 0x60, + 0, + { 0xd60, 0xfff }, /* range of SFR's */ + { + /* configuration words */ + 0x300001, + 0x30000d, + { { 0x2f, 0, 0xff } /* 1 */ , { 0x0f, 0, 0xff } /* 2 */ , { 0x1f, 0, 0xff } /* 3 */ , + { 0x83, 0, 0xff } /* 4 */ , { 0x81, 0, 0xff } /* 5 */ , { 0x85, 0, 0xff } /* 6 */ , + { -1, 0, 0xff } /* 7 */ , { 0x0f, 0, 0xff } /* 8 */ , { 0xc0, 0, 0xff } /* 9 */ , + { 0x0f, 0, 0xff } /* a */ , { 0xe0, 0, 0xff } /* b */ , { 0x0f, 0, 0xff } /* c */ , + { 0x40, 0, 0xff } /* d */ } + }, + { 0x200000, 0x200007, + { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 } } + } + }, { {"p18f8620", "18f8620", "pic18f8620", "f8620"}, 0,