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>
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 # idlocrange <first> <last>
33 # ID locations occupy addresses <first> to <last> (both included).
34 # idword <address> <value>
35 # Unless overridden in C code, use the given default <value>.
41 configrange 0x300001 0x30000d
42 configword 0x300001 0xcf 0xff
43 configword 0x300002 0x0f 0xff
44 configword 0x300003 0x1f 0xff
45 configword 0x300005 0x80 0xff
46 configword 0x300006 0x85 0xff
47 configword 0x300008 0x03 0xff
48 configword 0x300009 0xc0 0xff
49 configword 0x30000a 0x03 0xff
50 configword 0x30000b 0xe0 0xff
51 configword 0x30000c 0x03 0xff
52 configword 0x30000d 0x40 0xff
53 idlocrange 0x200000 0x200007
63 configrange 0x300001 0x30000d
64 configword 0x300001 0xcf 0xff
65 configword 0x300002 0x0f 0xff
66 configword 0x300003 0x1f 0xff
67 configword 0x300005 0x83 0xff
68 configword 0x300006 0x85 0xff
69 configword 0x300008 0x0f 0xff
70 configword 0x300009 0xc0 0xff
71 configword 0x30000a 0x0f 0xff
72 configword 0x30000b 0xe0 0xff
73 configword 0x30000c 0x0f 0xff
74 configword 0x30000d 0x40 0xff
75 idlocrange 0x200000 0x200007
81 configrange 0x300001 0x30000d
82 configword 0x300001 0xcf 0x37
83 configword 0x300002 0x1f 0xff
84 configword 0x300003 0x1f 0xff
85 configword 0x300005 0x87 0xfb
86 configword 0x300006 0xf5 0x8f
87 configword 0x300008 0x03 0xff
88 configword 0x300009 0xc0 0xff
89 configword 0x30000a 0x03 0xff
90 configword 0x30000b 0xe0 0xff
91 configword 0x30000c 0x03 0xff
92 configword 0x30000d 0x40 0xff
93 idlocrange 0x200000 0x200007
107 configrange 0x300001 0x30000d
108 configword 0x300001 0xcf 0xff
109 configword 0x300002 0x0f 0xff
110 configword 0x300003 0x3f 0xff
111 configword 0x300004 0x3c 0xff
112 configword 0x300005 0x9d 0xff
113 configword 0x300006 0x85 0xff
114 configword 0x300008 0x0f 0xff
115 configword 0x300009 0xc0 0xff
116 configword 0x30000a 0x0f 0xff
117 configword 0x30000b 0xe0 0xff
118 configword 0x30000c 0x0f 0xff
119 configword 0x30000d 0x40 0xff
120 idlocrange 0x200000 0x200007
126 configrange 0x300001 0x30000d
127 configword 0x300001 0xcf 0x37
128 configword 0x300002 0x1f 0xff
129 configword 0x300003 0x1f 0xfb
130 configword 0x300005 0x87 0xfb
131 configword 0x300006 0xc5 0xbf
132 configword 0x300008 0x0f 0xff
133 configword 0x300009 0x40 0xff
134 configword 0x30000a 0x0f 0xff
135 configword 0x30000b 0x60 0xff
136 configword 0x30000c 0x0f 0xff
137 configword 0x30000d 0x40 0xff
138 idlocrange 0x200000 0x200007
144 configrange 0x300001 0x30000d
145 configword 0x300001 0x27 0xff
146 configword 0x300002 0x0f 0xff
147 configword 0x300003 0x0f 0xff
148 configword 0x300005 0x01 0xff
149 configword 0x300006 0x85 0xff
150 configword 0x300008 0x0f 0xff
151 configword 0x300009 0xc0 0xff
152 configword 0x30000a 0x0f 0xff
153 configword 0x30000b 0xe0 0xff
154 configword 0x30000c 0x0f 0xff
155 configword 0x30000d 0x40 0xff
156 idlocrange 0x200000 0x200007
162 configrange 0x300001 0x30000d
163 configword 0x300001 0xcf 0x07
164 configword 0x300002 0x1f 0xff
165 configword 0x300003 0x1f 0xff
166 configword 0x300005 0x87 0xfb
167 configword 0x300006 0xc5 0xbf
168 configword 0x300008 0x0f 0xff
169 configword 0x300009 0xc0 0xff
170 configword 0x30000a 0x0f 0xff
171 configword 0x30000b 0xe0 0xff
172 configword 0x30000c 0x0f 0xff
173 configword 0x30000d 0x40 0xff
174 idlocrange 0x200000 0x200007
180 configrange 0x300001 0x30000d
181 configword 0x300001 0xcf 0x07
182 configword 0x300002 0x1f 0xff
183 configword 0x300003 0x1f 0xff
184 configword 0x300005 0x87 0xfb
185 configword 0x300006 0xc5 0xbf
186 configword 0x300008 0x0f 0xff
187 configword 0x300009 0xc0 0xff
188 configword 0x30000a 0x0f 0xff
189 configword 0x30000b 0xe0 0xff
190 configword 0x30000c 0x0f 0xff
191 configword 0x30000d 0x40 0xff
192 idlocrange 0x200000 0x200007
200 # 0x200..0x3FF is not implemented, but we leave that to the linker ;-)
203 configrange 0x300000 0x30000d
204 configword 0x300000 0x3f 0xc7
205 configword 0x300001 0xcf 0x37
206 configword 0x300002 0x3f 0xdf
207 configword 0x300003 0x1f 0xff
208 configword 0x300005 0x86 0xfb
209 configword 0x300006 0xed 0x97
210 configword 0x300008 0x03 0xff
211 configword 0x300009 0x40 0xff
212 configword 0x30000a 0x03 0xff
213 configword 0x30000b 0x60 0xff
214 configword 0x30000c 0x03 0xff
215 configword 0x30000d 0x40 0xff
216 idlocrange 0x200000 0x200007
221 configrange 0x300000 0x30000d
222 configword 0x300000 0x3f 0xc0
223 configword 0x300001 0xcf 0x35
224 configword 0x300002 0x3f 0xdf
225 configword 0x300003 0x1f 0xff
226 configword 0x300005 0x87 0xfb
227 configword 0x300006 0xe5 0x9f
228 configword 0x300008 0x0f 0xff
229 configword 0x300009 0xc0 0xff
230 configword 0x30000a 0x0f 0xff
231 configword 0x30000b 0xe0 0xff
232 configword 0x30000c 0x0f 0xff
233 configword 0x30000d 0x40 0xff
234 idlocrange 0x200000 0x200007
240 configrange 0x300001 0x30000d
241 configword 0x300001 0x27 0xff
242 configword 0x300002 0x0f 0xff
243 configword 0x300003 0x0f 0xff
244 configword 0x300006 0x85 0xff
245 configword 0x300008 0x0f 0xff
246 configword 0x300009 0xc0 0xff
247 configword 0x30000a 0x0f 0xff
248 configword 0x30000b 0xe0 0xff
249 configword 0x30000c 0x0f 0xff
250 configword 0x30000d 0x40 0xff
251 idlocrange 0x200000 0x200007
257 configrange 0x300001 0x30000d
258 configword 0x300001 0xcf 0x37
259 configword 0x300002 0x1f 0xff
260 configword 0x300003 0x1f 0xff
261 configword 0x300005 0x86 0xfb
262 configword 0x300006 0xd5 0xaf
263 configword 0x300008 0x0f 0xff
264 configword 0x300009 0xc0 0xff
265 configword 0x30000a 0x0f 0xff
266 configword 0x30000b 0xe0 0xff
267 configword 0x30000c 0x0f 0xff
268 configword 0x30000d 0x40 0xff
269 idlocrange 0x200000 0x200007
275 configrange 0x300000 0x300005
276 configword 0x300000 0xe1 0xff
277 configword 0x300001 0x04 0xf7
278 configword 0x300002 0xc7 0xff
279 configword 0x300003 0x0f 0xff
280 configword 0x300005 0x01 0xff
281 idlocrange 0x200000 0x200007
312 configrange 0x300001 0x30000d
313 configword 0x300001 0xcf 0x37
314 configword 0x300002 0x1f 0xff
315 configword 0x300003 0x1f 0xff
316 configword 0x300005 0x87 0xfb
317 configword 0x300006 0xc5 0xbf
318 configword 0x300008 0x0f 0xff
319 configword 0x300009 0xc0 0xff
320 configword 0x30000a 0x0f 0xff
321 configword 0x30000b 0xe0 0xff
322 configword 0x30000c 0x0f 0xff
323 configword 0x30000d 0x40 0xff
324 idlocrange 0x200000 0x200007
344 configrange 0x300001 0x30000d
345 configword 0x300001 0xcf 0x37
346 configword 0x300002 0x1f 0xff
347 configword 0x300003 0x1f 0xff
348 configword 0x300005 0x86 0xfb
349 configword 0x300006 0xf5 0x8f
350 configword 0x300008 0x0f 0xff
351 configword 0x300009 0xc0 0xff
352 configword 0x30000a 0x0f 0xff
353 configword 0x30000b 0xe0 0xff
354 configword 0x30000c 0x0f 0xff
355 configword 0x30000d 0x40 0xff
356 idlocrange 0x200000 0x200007
379 configrange 0x300001 0x30000d
380 configword 0x300001 0xcf 0x37
381 configword 0x300002 0x1f 0xff
382 configword 0x300003 0x1f 0xff
383 configword 0x300005 0x86 0xfb
384 configword 0x300006 0xf5 0x8f
385 configword 0x300008 0x3f 0xff
386 configword 0x300009 0xc0 0xff
387 configword 0x30000a 0x3f 0xff
388 configword 0x30000b 0xe0 0xff
389 configword 0x30000c 0x3f 0xff
390 configword 0x30000d 0x40 0xff
391 idlocrange 0x200000 0x200007
532 configrange 0x300001 0x30000d
533 configword 0x300001 0x27 0xff
534 configword 0x300002 0x0f 0xff
535 configword 0x300003 0x0f 0xff
536 configword 0x300004 0x83 0xff
537 configword 0x300005 0x03 0xff
538 configword 0x300006 0x85 0xff
539 configword 0x300008 0xff 0xff
540 configword 0x300009 0xc0 0xff
541 configword 0x30000a 0xff 0xff
542 configword 0x30000b 0xe0 0xff
543 configword 0x30000c 0xff 0xff
544 configword 0x30000d 0x40 0xff
545 idlocrange 0x200000 0x200007
551 configrange 0x300001 0x30000d
552 configword 0x300001 0x2f 0xff
553 configword 0x300002 0x0f 0xff
554 configword 0x300003 0x1f 0xff
555 configword 0x300004 0x83 0xff
556 configword 0x300005 0x83 0xff
557 configword 0x300006 0x85 0xff
558 configword 0x300008 0x0f 0xff
559 configword 0x300009 0xc0 0xff
560 configword 0x30000a 0x0f 0xff
561 configword 0x30000b 0xe0 0xff
562 configword 0x30000c 0x0f 0xff
563 configword 0x30000d 0x40 0xff
564 idlocrange 0x200000 0x200007
606 configrange 0xfff8 0xfffd
607 configword 0xfff8 0xc1 0xff
608 configword 0xfff9 0x04 0xf7
609 configword 0xfffa 0xc7 0xff
610 configword 0xfffb 0x0f 0xff
611 configword 0xfffc 0xf8 0xff
612 configword 0xfffd 0x07 0xff
618 configrange 0x17ff8 0x17ffd
619 configword 0x17ff8 0xc1 0xff
620 configword 0x17ff9 0x04 0xf7
621 configword 0x17ffa 0xc7 0xff
622 configword 0x17ffb 0x0f 0xff
623 configword 0x17ffc 0xf8 0xff
624 configword 0x17ffd 0x07 0xff
630 configrange 0x1fff8 0x1fffd
631 configword 0x1fff8 0xc1 0xff
632 configword 0x1fff9 0x04 0xf7
633 configword 0x1fffa 0xc7 0xff
634 configword 0x1fffb 0x0f 0xff
635 configword 0x1fffc 0xf8 0xff
636 configword 0x1fffd 0x07 0xff