2 # Specification of devices supported by the PIC16 target of the
3 # Small Devices C Compiler (SDCC).
5 # Lines starting with a hash '#' are ignored.
6 # A new device specification must begin with a 'name' command.
7 # Numbers can be given in any way acceptable for scanf's %d,
8 # i.e., octal (0[0-7]*), decimal ([1-9][0-9]*), or hexadecimal
10 # Strings must not be quoted and may not contain whitespace!
14 # Begin specification of device type <name>, e.g. 18f6720.
15 # Aliases 'p<name>' and 'pic<name>' will be recognized as well.
17 # Import specification from the named entry, which must be defined
18 # earlier. Later commands overrule imported ones.
20 # This device has <size> bytes of RAM.
22 # Addresses below <offset> refer to bank 0, addresses above <offset>
23 # refer to SFRs in bank 15 for references via the access bank.
24 # configrange <first> <last>
25 # Configuration registers occupy addresses <first> to <last> (both
27 # configword <address> <mask> <value> [<and-mask>]
28 # The config word at address <address> only implements the bits
29 # indicated via <mask> (all others will be forced to 0 by the
31 # Unless overridden in C code, use the given default <value>.
32 # The optional <and-mask> will be applied to the value just before
33 # emitting it into the .asm file (used to disable XINST by default).
34 # idlocrange <first> <last>
35 # ID locations occupy addresses <first> to <last> (both included).
36 # idword <address> <value>
37 # Unless overridden in C code, use the given default <value>.
43 configrange 0x300001 0x30000d
44 configword 0x300001 0xcf 0xff
45 configword 0x300002 0x0f 0xff
46 configword 0x300003 0x1f 0xff
47 configword 0x300005 0x80 0xff
48 configword 0x300006 0x85 0xff
49 configword 0x300008 0x03 0xff
50 configword 0x300009 0xc0 0xff
51 configword 0x30000a 0x03 0xff
52 configword 0x30000b 0xe0 0xff
53 configword 0x30000c 0x03 0xff
54 configword 0x30000d 0x40 0xff
55 idlocrange 0x200000 0x200007
65 configrange 0x300001 0x30000d
66 configword 0x300001 0xcf 0xff
67 configword 0x300002 0x0f 0xff
68 configword 0x300003 0x1f 0xff
69 configword 0x300005 0x83 0xff
70 configword 0x300006 0x85 0xff
71 configword 0x300008 0x0f 0xff
72 configword 0x300009 0xc0 0xff
73 configword 0x30000a 0x0f 0xff
74 configword 0x30000b 0xe0 0xff
75 configword 0x30000c 0x0f 0xff
76 configword 0x30000d 0x40 0xff
77 idlocrange 0x200000 0x200007
83 configrange 0x300001 0x30000d
84 configword 0x300001 0xcf 0x37
85 configword 0x300002 0x1f 0xff
86 configword 0x300003 0x1f 0xff
87 configword 0x300005 0x87 0xfb
88 configword 0x300006 0xf5 0x8f 0xbf
89 configword 0x300008 0x03 0xff
90 configword 0x300009 0xc0 0xff
91 configword 0x30000a 0x03 0xff
92 configword 0x30000b 0xe0 0xff
93 configword 0x30000c 0x03 0xff
94 configword 0x30000d 0x40 0xff
95 idlocrange 0x200000 0x200007
109 configrange 0x300001 0x30000d
110 configword 0x300001 0xcf 0xff
111 configword 0x300002 0x0f 0xff
112 configword 0x300003 0x3f 0xff
113 configword 0x300004 0x3c 0xff
114 configword 0x300005 0x9d 0xff
115 configword 0x300006 0x85 0xff
116 configword 0x300008 0x0f 0xff
117 configword 0x300009 0xc0 0xff
118 configword 0x30000a 0x0f 0xff
119 configword 0x30000b 0xe0 0xff
120 configword 0x30000c 0x0f 0xff
121 configword 0x30000d 0x40 0xff
122 idlocrange 0x200000 0x200007
128 configrange 0x300001 0x30000d
129 configword 0x300001 0xcf 0x37
130 configword 0x300002 0x1f 0xff
131 configword 0x300003 0x1f 0xff
132 configword 0x300005 0x8f 0xfb
133 configword 0x300006 0xc5 0xbf 0xbf
134 configword 0x300008 0x0f 0xff
135 configword 0x300009 0xc0 0xff
136 configword 0x30000a 0x0f 0xff
137 configword 0x30000b 0xe0 0xff
138 configword 0x30000c 0x0f 0xff
139 configword 0x30000d 0x40 0xff
140 idlocrange 0x200000 0x200007
146 configrange 0x300001 0x30000d
147 configword 0x300001 0xcf 0x37
148 configword 0x300002 0x1f 0xff
149 configword 0x300003 0x1f 0xfb
150 configword 0x300005 0x87 0xfb
151 configword 0x300006 0xc5 0xbf 0xbf
152 configword 0x300008 0x0f 0xff
153 configword 0x300009 0x40 0xff
154 configword 0x30000a 0x0f 0xff
155 configword 0x30000b 0x60 0xff
156 configword 0x30000c 0x0f 0xff
157 configword 0x30000d 0x40 0xff
158 idlocrange 0x200000 0x200007
164 configrange 0x300001 0x30000d
165 configword 0x300001 0x27 0xff
166 configword 0x300002 0x0f 0xff
167 configword 0x300003 0x0f 0xff
168 configword 0x300005 0x01 0xff
169 configword 0x300006 0x85 0xff
170 configword 0x300008 0x0f 0xff
171 configword 0x300009 0xc0 0xff
172 configword 0x30000a 0x0f 0xff
173 configword 0x30000b 0xe0 0xff
174 configword 0x30000c 0x0f 0xff
175 configword 0x30000d 0x40 0xff
176 idlocrange 0x200000 0x200007
182 configrange 0x300001 0x30000d
183 configword 0x300001 0xcf 0x07
184 configword 0x300002 0x1f 0xff
185 configword 0x300003 0x1f 0xff
186 configword 0x300005 0x87 0xfb
187 configword 0x300006 0xc5 0xbf 0xbf
188 configword 0x300008 0x0f 0xff
189 configword 0x300009 0xc0 0xff
190 configword 0x30000a 0x0f 0xff
191 configword 0x30000b 0xe0 0xff
192 configword 0x30000c 0x0f 0xff
193 configword 0x30000d 0x40 0xff
194 idlocrange 0x200000 0x200007
200 configrange 0x300001 0x30000d
201 configword 0x300001 0xcf 0x07
202 configword 0x300002 0x1f 0xff
203 configword 0x300003 0x1f 0xff
204 configword 0x300005 0x87 0xfb
205 configword 0x300006 0xc5 0xbf 0xbf
206 configword 0x300008 0x0f 0xff
207 configword 0x300009 0xc0 0xff
208 configword 0x30000a 0x0f 0xff
209 configword 0x30000b 0xe0 0xff
210 configword 0x30000c 0x0f 0xff
211 configword 0x30000d 0x40 0xff
212 idlocrange 0x200000 0x200007
220 # 0x200..0x3FF is not implemented, but we leave that to the linker ;-)
223 configrange 0x300000 0x30000d
224 configword 0x300000 0x3f 0xc7
225 configword 0x300001 0xcf 0x37
226 configword 0x300002 0x3f 0xdf
227 configword 0x300003 0x1f 0xff
228 configword 0x300005 0x86 0xfb
229 configword 0x300006 0xed 0x97 0xbf
230 configword 0x300008 0x03 0xff
231 configword 0x300009 0x40 0xff
232 configword 0x30000a 0x03 0xff
233 configword 0x30000b 0x60 0xff
234 configword 0x30000c 0x03 0xff
235 configword 0x30000d 0x40 0xff
236 idlocrange 0x200000 0x200007
241 configrange 0x300000 0x30000d
242 configword 0x300000 0x3f 0xc0
243 configword 0x300001 0xcf 0x35
244 configword 0x300002 0x3f 0xdf
245 configword 0x300003 0x1f 0xff
246 configword 0x300005 0x87 0xfb
247 configword 0x300006 0xe5 0x9f 0xbf
248 configword 0x300008 0x0f 0xff
249 configword 0x300009 0xc0 0xff
250 configword 0x30000a 0x0f 0xff
251 configword 0x30000b 0xe0 0xff
252 configword 0x30000c 0x0f 0xff
253 configword 0x30000d 0x40 0xff
254 idlocrange 0x200000 0x200007
260 configrange 0x300001 0x30000d
261 configword 0x300001 0x27 0xff
262 configword 0x300002 0x0f 0xff
263 configword 0x300003 0x0f 0xff
264 configword 0x300006 0x85 0xff
265 configword 0x300008 0x0f 0xff
266 configword 0x300009 0xc0 0xff
267 configword 0x30000a 0x0f 0xff
268 configword 0x30000b 0xe0 0xff
269 configword 0x30000c 0x0f 0xff
270 configword 0x30000d 0x40 0xff
271 idlocrange 0x200000 0x200007
277 configrange 0x300001 0x30000d
278 configword 0x300001 0xcf 0x37
279 configword 0x300002 0x1f 0xff
280 configword 0x300003 0x1f 0xff
281 configword 0x300005 0x86 0xfb
282 configword 0x300006 0xd5 0xaf 0xbf
283 configword 0x300008 0x0f 0xff
284 configword 0x300009 0xc0 0xff
285 configword 0x30000a 0x0f 0xff
286 configword 0x30000b 0xe0 0xff
287 configword 0x30000c 0x0f 0xff
288 configword 0x30000d 0x40 0xff
289 idlocrange 0x200000 0x200007
295 configrange 0x300000 0x300005
296 configword 0x300000 0xe1 0xff
297 configword 0x300001 0x04 0xf7
298 configword 0x300002 0xc7 0xff
299 configword 0x300003 0x0f 0xff
300 configword 0x300005 0x01 0xff
301 idlocrange 0x200000 0x200007
337 configrange 0x300001 0x30000d
338 configword 0x300001 0xcf 0x37
339 configword 0x300002 0x1f 0xff
340 configword 0x300003 0x1f 0xff
341 configword 0x300005 0x87 0xfb
342 configword 0x300006 0xc5 0xbf 0xbf
343 configword 0x300008 0x0f 0xff
344 configword 0x300009 0xc0 0xff
345 configword 0x30000a 0x0f 0xff
346 configword 0x30000b 0xe0 0xff
347 configword 0x30000c 0x0f 0xff
348 configword 0x30000d 0x40 0xff
349 idlocrange 0x200000 0x200007
369 configrange 0x300001 0x30000d
370 configword 0x300001 0xcf 0x37
371 configword 0x300002 0x1f 0xff
372 configword 0x300003 0x1f 0xff
373 configword 0x300005 0x86 0xfb
374 configword 0x300006 0xf5 0x8f 0xbf
375 configword 0x300008 0x0f 0xff
376 configword 0x300009 0xc0 0xff
377 configword 0x30000a 0x0f 0xff
378 configword 0x30000b 0xe0 0xff
379 configword 0x30000c 0x0f 0xff
380 configword 0x30000d 0x40 0xff
381 idlocrange 0x200000 0x200007
409 configrange 0x300001 0x30000d
410 configword 0x300001 0xcf 0x37
411 configword 0x300002 0x1f 0xff
412 configword 0x300003 0x1f 0xff
413 configword 0x300005 0x86 0xfb
414 configword 0x300006 0xf5 0x8f 0xbf
415 configword 0x300008 0x3f 0xff
416 configword 0x300009 0xc0 0xff
417 configword 0x30000a 0x3f 0xff
418 configword 0x30000b 0xe0 0xff
419 configword 0x30000c 0x3f 0xff
420 configword 0x30000d 0x40 0xff
421 idlocrange 0x200000 0x200007
586 configrange 0x300001 0x30000d
587 configword 0x300001 0x27 0xff
588 configword 0x300002 0x0f 0xff
589 configword 0x300003 0x0f 0xff
590 configword 0x300004 0x83 0xff
591 configword 0x300005 0x03 0xff
592 configword 0x300006 0x85 0xff
593 configword 0x300008 0xff 0xff
594 configword 0x300009 0xc0 0xff
595 configword 0x30000a 0xff 0xff
596 configword 0x30000b 0xe0 0xff
597 configword 0x30000c 0xff 0xff
598 configword 0x30000d 0x40 0xff
599 idlocrange 0x200000 0x200007
605 configrange 0x300001 0x30000d
606 configword 0x300001 0x2f 0xff
607 configword 0x300002 0x0f 0xff
608 configword 0x300003 0x1f 0xff
609 configword 0x300004 0x83 0xff
610 configword 0x300005 0x83 0xff
611 configword 0x300006 0x85 0xff
612 configword 0x300008 0x0f 0xff
613 configword 0x300009 0xc0 0xff
614 configword 0x30000a 0x0f 0xff
615 configword 0x30000b 0xe0 0xff
616 configword 0x30000c 0x0f 0xff
617 configword 0x30000d 0x40 0xff
618 idlocrange 0x200000 0x200007
624 configrange 0x7ff8 0x7ffd
625 configword 0x7ff8 0xef 0xff 0xbf
626 configword 0x7ff9 0x07 0xff
627 configword 0x7ffa 0xc7 0xff
628 configword 0x7ffb 0x0f 0xff
629 configword 0x7ffc 0xf8 0xff
630 configword 0x7ffd 0x0f 0xff
644 configrange 0xfff8 0xfffd
645 configword 0xfff8 0xef 0xff 0xbf
646 configword 0xfff9 0x07 0xff
647 configword 0xfffa 0xc7 0xff
648 configword 0xfffb 0x0f 0xff
649 configword 0xfffc 0xf8 0xff
650 configword 0xfffd 0x0f 0xff
656 configrange 0x17ff8 0x17ffd
657 configword 0x17ff8 0xef 0xff 0xbf
658 configword 0x17ff9 0x07 0xff
659 configword 0x17ffa 0xc7 0xff
660 configword 0x17ffb 0x0f 0xff
661 configword 0x17ffc 0xf8 0xff
662 configword 0x17ffd 0x0f 0xff
673 configrange 0x1fff8 0x1fffd
674 configword 0x1fff8 0xef 0xff 0xbf
675 configword 0x1fff9 0x07 0xff
676 configword 0x1fffa 0xc7 0xff
677 configword 0x1fffb 0x0f 0xff
678 configword 0x1fffc 0xf8 0xff
679 configword 0x1fffd 0x0f 0xff
707 configrange 0xfff8 0xfffd
708 configword 0xfff8 0xc1 0xff
709 configword 0xfff9 0x04 0xf7
710 configword 0xfffa 0xc7 0xff
711 configword 0xfffb 0x0f 0xff
712 configword 0xfffc 0xf8 0xff
713 configword 0xfffd 0x07 0xff
719 configrange 0x17ff8 0x17ffd
720 configword 0x17ff8 0xc1 0xff
721 configword 0x17ff9 0x04 0xf7
722 configword 0x17ffa 0xc7 0xff
723 configword 0x17ffb 0x0f 0xff
724 configword 0x17ffc 0xf8 0xff
725 configword 0x17ffd 0x07 0xff
731 configrange 0x1fff8 0x1fffd
732 configword 0x1fff8 0xc1 0xff
733 configword 0x1fff9 0x04 0xf7
734 configword 0x1fffa 0xc7 0xff
735 configword 0x1fffb 0x0f 0xff
736 configword 0x1fffc 0xf8 0xff
737 configword 0x1fffd 0x07 0xff