2 # PIC14: 14 bit 16Fxxx / 16Cxxx / 12Fxxx series device file for SDCC
4 # by Zik Saleeba <zik@zikzak.net> 2006-03-04
9 # program = program memory in 14 bit words
10 # data = data memory in bytes
11 # eeprom = eeprom storage
13 # maxram = maximum memmap address for unique general purpose registers
14 # bankmsk = mask for memmap bank selecting. 0x80 for two banks usable,
16 # confsiz = 1: config at 0x2007, 2: has an extra config register at 0x2008
17 # regmap = registers duplicated in multiple banks. First value is a bank bitmask,
18 # following values are register addresses
19 # memmap <start> <end> <alias>
20 # <start> - <end> mirrored in all banks set in <alias>
21 # <alias> is a bitmask of bank bits (0x80, 0x100, 0x180)
36 regmap 0x180 0x00 0x02 0x03 0x04 0x06 0x0a 0x0b
37 regmap 0x100 0x01 0x81
38 memmap 0x0020 0x003f 0x100
39 memmap 0x0040 0x007f 0x180
40 memmap 0x00a0 0x00bf 0x100
50 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
51 regmap 0x100 0x01 0x81 0x06 0x86
52 memmap 0x0020 0x007f 0x100
53 memmap 0x00a0 0x00ff 0x100
63 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
64 regmap 0x100 0x01 0x81 0x06 0x86
65 memmap 0x0020 0x007f 0x100
66 memmap 0x00a0 0x00ff 0x100
76 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
77 regmap 0x100 0x01 0x81 0x06 0x86
78 memmap 0x0020 0x006f 0x000
79 memmap 0x0070 0x007f 0x180
80 memmap 0x00a0 0x00ef 0x000
81 memmap 0x0120 0x016f 0x000
82 memmap 0x01a0 0x01ef 0x000
92 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
93 regmap 0x100 0x01 0x81 0x06 0x86
94 memmap 0x0020 0x006f 0x000
95 memmap 0x0070 0x007f 0x180
96 memmap 0x00a0 0x00ef 0x000
97 memmap 0x0120 0x016f 0x000
98 memmap 0x01a0 0x01ef 0x000
100 processor 16f84, 16f84a
108 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
109 memmap 0x000C 0x004f 0x080
111 processor 16f87, 16f88
119 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
120 regmap 0x100 0x01 0x81 0x06 0x86
121 memmap 0x0020 0x006f 0x000
122 memmap 0x0070 0x007f 0x180
123 memmap 0x0110 0x016f 0x000
124 memmap 0x0190 0x01ef 0x000
126 processor 16f616, 16hv616
134 regmap 0x080 0x00 0x02 0x03 0x04 0x0a 0x0b
135 memmap 0x0020 0x006f 0x000
136 memmap 0x0070 0x007f 0x080
137 memmap 0x00a0 0x00bf 0x000
139 processor 16f627, 16f627a
147 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
148 regmap 0x100 0x01 0x81 0x06 0x86
149 memmap 0x0020 0x006f 0x000
150 memmap 0x0070 0x007f 0x180
151 memmap 0x00a0 0x00ef 0x000
152 memmap 0x0120 0x014f 0x000
154 processor 16f628, 16f628a
162 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
163 regmap 0x100 0x01 0x81 0x06 0x86
164 memmap 0x0020 0x006f 0x000
165 memmap 0x0070 0x007f 0x180
166 memmap 0x00a0 0x00ef 0x000
167 memmap 0x0120 0x014f 0x000
169 processor 16f648, 16f648a
177 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
178 regmap 0x100 0x01 0x81 0x06 0x86
179 memmap 0x0020 0x006f 0x000
180 memmap 0x0070 0x007f 0x180
181 memmap 0x00a0 0x00ef 0x000
182 memmap 0x0120 0x016f 0x000
184 processor 16f630, 16f676
192 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
193 memmap 0x0020 0x005f 0x080
195 processor 16f636, 16f639
203 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
204 regmap 0x100 0x01 0x81 0x05 0x85 0x07 0x87
205 memmap 0x0020 0x006f 0x000
206 memmap 0x0070 0x007f 0x180
207 memmap 0x00a0 0x00bf 0x000
217 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
218 memmap 0x0020 0x006f 0x000
219 memmap 0x0070 0x007f 0x080
220 memmap 0x00a0 0x00bf 0x000
222 processor 16f685, 16f689, 16f690
230 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
231 regmap 0x100 0x01 0x81 0x05 0x85 0x06 0x86 0x07 0x87
232 memmap 0x0020 0x006f 0x000
233 memmap 0x0070 0x007f 0x180
234 memmap 0x00a0 0x00ef 0x000
235 memmap 0x0120 0x016f 0x000
245 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
246 regmap 0x100 0x01 0x81 0x05 0x85 0x06 0x86 0x07 0x87
247 memmap 0x0020 0x006f 0x000
248 memmap 0x0070 0x007f 0x180
249 memmap 0x00a0 0x00bf 0x000
259 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
260 regmap 0x100 0x01 0x81 0x05 0x85 0x07 0x87
261 memmap 0x0020 0x006f 0x000
262 memmap 0x0070 0x007f 0x180
263 memmap 0x00a0 0x00ef 0x000
264 memmap 0x0120 0x016f 0x000
274 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
275 memmap 0x0020 0x006f 0x000
276 memmap 0x0070 0x007f 0x080
277 memmap 0x00a0 0x00bf 0x000
287 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
288 regmap 0x100 0x01 0x81 0x06 0x86
289 memmap 0x0020 0x006f 0x000
290 memmap 0x0070 0x007f 0x180
291 memmap 0x00a0 0x00ef 0x000
292 memmap 0x0110 0x016f 0x000
293 memmap 0x0190 0x01ef 0x000
303 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
304 regmap 0x100 0x01 0x81 0x06 0x86
305 memmap 0x0020 0x006f 0x000
306 memmap 0x0070 0x007f 0x180
307 memmap 0x00a0 0x00ef 0x000
308 memmap 0x0110 0x016f 0x000
309 memmap 0x0190 0x01ef 0x000
319 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
320 regmap 0x100 0x01 0x81 0x06 0x86
321 memmap 0x0020 0x006f 0x000
322 memmap 0x0070 0x007f 0x180
323 memmap 0x00a0 0x00ef 0x000
324 memmap 0x0110 0x016f 0x000
325 memmap 0x0190 0x01ef 0x000
335 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
336 regmap 0x100 0x01 0x81 0x06 0x86
337 memmap 0x0020 0x006f 0x000
338 memmap 0x0070 0x007f 0x180
339 memmap 0x00a0 0x00ef 0x000
340 memmap 0x0110 0x016f 0x000
341 memmap 0x0190 0x01ef 0x000
343 processor 16f785, 16hv785
351 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
352 regmap 0x100 0x01 0x81 0x05 0x85 0x06 0x86 0x07 0x87 0x8c
353 memmap 0x0020 0x006f 0x000
354 memmap 0x0070 0x007f 0x180
355 memmap 0x00a0 0x00bf 0x000
357 processor 16f870, 16f872
365 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
366 regmap 0x100 0x01 0x81 0x06 0x86
367 memmap 0x0020 0x006f 0x100
368 memmap 0x0070 0x007f 0x180
369 memmap 0x00a0 0x00bf 0x100
379 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
380 regmap 0x100 0x01 0x81 0x06 0x86
381 memmap 0x0020 0x006f 0x100
382 memmap 0x0070 0x007f 0x180
383 memmap 0x00a0 0x00bf 0x100
385 processor 16f873, 16f873a
393 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
394 regmap 0x100 0x01 0x81 0x06 0x86
395 memmap 0x0020 0x007f 0x100
396 memmap 0x00a0 0x00ff 0x100
398 processor 16f874, 16f874a
406 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
407 regmap 0x100 0x01 0x81 0x06 0x86
408 memmap 0x0020 0x007f 0x100
409 memmap 0x00a0 0x00ff 0x100
411 processor 16f876, 16f876a
419 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
420 regmap 0x100 0x01 0x81 0x06 0x86
421 memmap 0x0020 0x006f 0x000
422 memmap 0x0070 0x007f 0x180
423 memmap 0x00a0 0x00ef 0x000
424 memmap 0x0110 0x016f 0x000
425 memmap 0x0190 0x01ef 0x000
427 processor 16f877, 16f877a
435 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
436 regmap 0x100 0x01 0x81 0x06 0x86
437 memmap 0x0020 0x006f 0x000
438 memmap 0x0070 0x007f 0x180
439 memmap 0x00a0 0x00ef 0x000
440 memmap 0x0110 0x016f 0x000
441 memmap 0x0190 0x01ef 0x000
451 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
452 regmap 0x100 0x01 0x81 0x06 0x86
453 memmap 0x0020 0x003f 0x100
454 memmap 0x0040 0x007f 0x180
455 memmap 0x00a0 0x00bf 0x000
465 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
466 regmap 0x100 0x01 0x81 0x06 0x86
467 memmap 0x0020 0x006f 0x000
468 memmap 0x0070 0x007f 0x180
469 memmap 0x00a0 0x00ef 0x000
470 memmap 0x0120 0x016f 0x000
480 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
481 regmap 0x100 0x01 0x81 0x06 0x86
482 memmap 0x0020 0x006f 0x000
483 memmap 0x0070 0x007f 0x180
484 memmap 0x00a0 0x00ef 0x000
485 memmap 0x0120 0x016f 0x000
495 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
496 regmap 0x100 0x01 0x81 0x06 0x86
497 memmap 0x0020 0x006f 0x000
498 memmap 0x0070 0x007f 0x180
499 memmap 0x00a0 0x00ef 0x000
500 memmap 0x0120 0x016f 0x000
510 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
511 regmap 0x100 0x01 0x81 0x06 0x86
512 memmap 0x0020 0x006f 0x000
513 memmap 0x0070 0x007f 0x180
514 memmap 0x00a0 0x00ef 0x000
515 memmap 0x0120 0x016f 0x000
516 memmap 0x0190 0x01ef 0x000
526 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
527 regmap 0x100 0x01 0x81 0x06 0x86
528 memmap 0x0020 0x006f 0x000
529 memmap 0x0070 0x007f 0x180
530 memmap 0x00a0 0x00ef 0x000
531 memmap 0x0120 0x016f 0x000
532 memmap 0x0190 0x01ef 0x000
542 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
543 regmap 0x100 0x01 0x81 0x06 0x86
544 memmap 0x0020 0x006f 0x000
545 memmap 0x0070 0x007f 0x180
546 memmap 0x00a0 0x00ef 0x000
547 memmap 0x0120 0x016f 0x000
548 memmap 0x01a0 0x01ef 0x000
554 processor 16c62, 16c72
562 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
563 memmap 0x0020 0x007f 0x000
564 memmap 0x00a0 0x00bf 0x000
566 processor 16c63a, 16c73b
574 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
575 memmap 0x0020 0x007f 0x000
576 memmap 0x00a0 0x00ff 0x000
578 processor 16c65b, 16c74b
586 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
587 memmap 0x0020 0x007f 0x000
588 memmap 0x00a0 0x00ff 0x000
598 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
599 regmap 0x100 0x01 0x81
600 memmap 0x0020 0x007f 0x000
601 memmap 0x00a0 0x00ff 0x000
611 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
612 regmap 0x100 0x01 0x81
613 memmap 0x0020 0x007f 0x000
614 memmap 0x00a0 0x00ff 0x000
624 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
625 regmap 0x180 0x01 0x81
626 memmap 0x0020 0x006f 0x000
627 memmap 0x00a0 0x00ef 0x000
628 memmap 0x0110 0x016f 0x000
629 memmap 0x0190 0x01ef 0x000
630 memmap 0x0070 0x007f 0x180
640 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
641 regmap 0x180 0x01 0x81
642 memmap 0x0020 0x006f 0x000
643 memmap 0x00a0 0x00ef 0x000
644 memmap 0x0110 0x016f 0x000
645 memmap 0x0190 0x01ef 0x000
646 memmap 0x0070 0x007f 0x180
656 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
657 memmap 0x0020 0x006f 0x000
658 memmap 0x0070 0x007f 0x080
659 memmap 0x00a0 0x00bf 0x000
669 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
670 memmap 0x0020 0x006f 0x000
671 memmap 0x0070 0x007f 0x080
672 memmap 0x00a0 0x00bf 0x000
682 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
683 memmap 0x0020 0x006f 0x000
685 processor 16c557, 16c558
693 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
694 memmap 0x0020 0x007f 0x000
695 memmap 0x00a0 0x00bf 0x000
705 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
706 memmap 0x0020 0x006f 0x000
708 processor 16c620a, 16cr620a
716 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
717 memmap 0x0020 0x006f 0x000
718 memmap 0x0070 0x007f 0x080
728 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
729 memmap 0x0020 0x006f 0x000
739 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
740 memmap 0x0020 0x006f 0x000
741 memmap 0x0070 0x007f 0x080
751 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
752 memmap 0x0020 0x007f 0x000
753 memmap 0x00a0 0x00bf 0x000
763 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
764 memmap 0x0020 0x006f 0x000
765 memmap 0x0070 0x007f 0x080
766 memmap 0x00a0 0x00bf 0x000
777 regmap 0x80 0x00 0x02 0x03 0x04 0x09 0x0a 0x0b
778 memmap 0x000c 0x002f 0x080
788 regmap 0x80 0x00 0x02 0x03 0x04 0x09 0x0a 0x0b
789 memmap 0x000c 0x002f 0x080
799 regmap 0x80 0x00 0x02 0x03 0x04 0x09 0x0a 0x0b
800 memmap 0x000c 0x004f 0x080
810 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
811 memmap 0x0020 0x007f 0x000
812 memmap 0x00a0 0x00bf 0x000
814 processor 16c717, 16c770
822 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
823 regmap 0x100 0x01 0x81 0x06 0x86
824 memmap 0x0020 0x006f 0x000
825 memmap 0x0070 0x007f 0x180
826 memmap 0x00a0 0x00ef 0x000
827 memmap 0x0120 0x016f 0x000
837 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
838 regmap 0x100 0x01 0x81 0x06 0x86
839 memmap 0x0020 0x006f 0x000
840 memmap 0x0070 0x007f 0x180
841 memmap 0x00a0 0x00ef 0x000
842 memmap 0x0120 0x016f 0x000
852 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
853 regmap 0x100 0x01 0x81 0x06 0x86
854 memmap 0x0020 0x006f 0x000
855 memmap 0x0070 0x007f 0x180
856 memmap 0x00a0 0x00ef 0x000
857 memmap 0x0120 0x016f 0x000
858 memmap 0x01a0 0x01df 0x000
868 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
869 regmap 0x100 0x01 0x81 0x06 0x86
870 memmap 0x0020 0x006f 0x000
871 memmap 0x0070 0x007f 0x180
872 memmap 0x00a0 0x00ef 0x000
873 memmap 0x0120 0x016f 0x000
874 memmap 0x01a0 0x01df 0x000
884 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
885 regmap 0x100 0x01 0x81 0x06 0x86
886 memmap 0x0020 0x006f 0x000
887 memmap 0x0070 0x007f 0x180
888 memmap 0x00a0 0x00ef 0x000
889 memmap 0x0120 0x016f 0x000
899 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
900 regmap 0x100 0x01 0x81 0x06 0x86
901 memmap 0x0020 0x006f 0x000
902 memmap 0x0070 0x007f 0x180
903 memmap 0x00a0 0x00ef 0x000
904 memmap 0x0120 0x016f 0x000
914 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
915 regmap 0x100 0x01 0x81 0x06 0x86
916 memmap 0x0020 0x006f 0x000
917 memmap 0x0070 0x007f 0x180
918 memmap 0x00a0 0x00bf 0x000
928 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
929 regmap 0x100 0x01 0x81 0x06 0x86
930 memmap 0x0020 0x006f 0x000
931 memmap 0x0070 0x007f 0x180
932 memmap 0x00a0 0x00bf 0x000
942 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
943 regmap 0x100 0x01 0x81 0x06 0x86
944 memmap 0x0020 0x006f 0x000
945 memmap 0x0070 0x007f 0x180
946 memmap 0x00a0 0x00bf 0x000
956 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
957 regmap 0x100 0x01 0x81 0x06 0x86
958 memmap 0x0020 0x006f 0x000
959 memmap 0x0070 0x007f 0x180
960 memmap 0x00a0 0x00bf 0x000
961 memmap 0x0120 0x016f 0x000
962 memmap 0x01a0 0x01bf 0x000
965 # 12F series devices with 14 bit core
967 processor 12f629, 12f675
975 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
976 memmap 0x0020 0x005f 0x000
977 memmap 0x00a0 0x00df 0x000
987 regmap 0x180 0x00 0x02 0x03 0x04 0x0a 0x0b
988 regmap 0x100 0x01 0x81 0x05 0x85
989 memmap 0x0040 0x006f 0x000
990 memmap 0x0070 0x007f 0x180
1000 regmap 0x80 0x00 0x02 0x03 0x04 0x0a 0x0b
1001 memmap 0x0020 0x006f 0x000
1002 memmap 0x0070 0x007f 0x080
1003 memmap 0x00a0 0x00bf 0x000