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 # sfrrange <first> <last>
25 # SFRs occupy addresses <first> to <last> (both included) and must
26 # hence not be used as RAM.
27 # configrange <first> <last>
28 # Configuration registers occupy addresses <first> to <last> (both
30 # configword <address> <mask> <value>
31 # The config word at address <address> only implements the bits
32 # indicated via <mask> (all others will be forced to 0 by the
34 # Unless overridden in C code, use the given default <value>.
35 # idlocrange <first> <last>
36 # ID locations occupy addresses <first> to <last> (both included).
37 # idword <address> <value>
38 # Unless overridden in C code, use the given default <value>.
45 configrange 0x300001 0x30000d
46 configword 0x300001 0xcf 0xff
47 configword 0x300002 0x0f 0xff
48 configword 0x300003 0x1f 0xff
49 configword 0x300005 0x80 0xff
50 configword 0x300006 0x85 0xff
51 configword 0x300008 0x03 0xff
52 configword 0x300009 0xc0 0xff
53 configword 0x30000a 0x03 0xff
54 configword 0x30000b 0xe0 0xff
55 configword 0x30000c 0x03 0xff
56 configword 0x30000d 0x40 0xff
57 idlocrange 0x200000 0x200007
68 configrange 0x300001 0x30000d
69 configword 0x300001 0xcf 0xff
70 configword 0x300002 0x0f 0xff
71 configword 0x300003 0x1f 0xff
72 configword 0x300005 0x83 0xff
73 configword 0x300006 0x85 0xff
74 configword 0x300008 0x0f 0xff
75 configword 0x300009 0xc0 0xff
76 configword 0x30000a 0x0f 0xff
77 configword 0x30000b 0xe0 0xff
78 configword 0x30000c 0x0f 0xff
79 configword 0x30000d 0x40 0xff
80 idlocrange 0x200000 0x200007
87 configrange 0x300001 0x30000d
88 configword 0x300001 0xcf 0x37
89 configword 0x300002 0x1f 0xff
90 configword 0x300003 0x1f 0xff
91 configword 0x300005 0x87 0xfb
92 configword 0x300006 0xf5 0x8f
93 configword 0x300008 0x03 0xff
94 configword 0x300009 0xc0 0xff
95 configword 0x30000a 0x03 0xff
96 configword 0x30000b 0xe0 0xff
97 configword 0x30000c 0x03 0xff
98 configword 0x30000d 0x40 0xff
99 idlocrange 0x200000 0x200007
114 configrange 0x300001 0x30000d
115 configword 0x300001 0xcf 0xff
116 configword 0x300002 0x0f 0xff
117 configword 0x300003 0x3f 0xff
118 configword 0x300004 0x3c 0xff
119 configword 0x300005 0x9d 0xff
120 configword 0x300006 0x85 0xff
121 configword 0x300008 0x0f 0xff
122 configword 0x300009 0xc0 0xff
123 configword 0x30000a 0x0f 0xff
124 configword 0x30000b 0xe0 0xff
125 configword 0x30000c 0x0f 0xff
126 configword 0x30000d 0x40 0xff
127 idlocrange 0x200000 0x200007
134 configrange 0x300001 0x30000d
135 configword 0x300001 0x27 0xff
136 configword 0x300002 0x0f 0xff
137 configword 0x300003 0x0f 0xff
138 configword 0x300005 0x01 0xff
139 configword 0x300006 0x85 0xff
140 configword 0x300008 0x0f 0xff
141 configword 0x300009 0xc0 0xff
142 configword 0x30000a 0x0f 0xff
143 configword 0x30000b 0xe0 0xff
144 configword 0x30000c 0x0f 0xff
145 configword 0x30000d 0x40 0xff
146 idlocrange 0x200000 0x200007
153 configrange 0x300001 0x30000d
154 configword 0x300001 0xcf 0x07
155 configword 0x300002 0x1f 0xff
156 configword 0x300003 0x1f 0xff
157 configword 0x300005 0x87 0xfb
158 configword 0x300006 0xc5 0xbf
159 configword 0x300008 0x0f 0xff
160 configword 0x300009 0xc0 0xff
161 configword 0x30000a 0x0f 0xff
162 configword 0x30000b 0xe0 0xff
163 configword 0x30000c 0x0f 0xff
164 configword 0x30000d 0x40 0xff
165 idlocrange 0x200000 0x200007
172 configrange 0x300001 0x30000d
173 configword 0x300001 0xcf 0x07
174 configword 0x300002 0x1f 0xff
175 configword 0x300003 0x1f 0xff
176 configword 0x300005 0x87 0xfb
177 configword 0x300006 0xc5 0xbf
178 configword 0x300008 0x0f 0xff
179 configword 0x300009 0xc0 0xff
180 configword 0x30000a 0x0f 0xff
181 configword 0x30000b 0xe0 0xff
182 configword 0x30000c 0x0f 0xff
183 configword 0x30000d 0x40 0xff
184 idlocrange 0x200000 0x200007
195 configrange 0x300000 0x30000d
196 configword 0x300000 0x3f 0xc0
197 configword 0x300001 0xcf 0x35
198 configword 0x300002 0x3f 0xdf
199 configword 0x300003 0x1f 0xff
200 configword 0x300005 0x87 0xfb
201 configword 0x300006 0xe5 0x9f
202 configword 0x300008 0x0f 0xff
203 configword 0x300009 0xc0 0xff
204 configword 0x30000a 0x0f 0xff
205 configword 0x30000b 0xe0 0xff
206 configword 0x30000c 0x0f 0xff
207 configword 0x30000d 0x40 0xff
208 idlocrange 0x200000 0x200007
215 configrange 0x300001 0x30000d
216 configword 0x300001 0x27 0xff
217 configword 0x300002 0x0f 0xff
218 configword 0x300003 0x0f 0xff
219 configword 0x300006 0x85 0xff
220 configword 0x300008 0x0f 0xff
221 configword 0x300009 0xc0 0xff
222 configword 0x30000a 0x0f 0xff
223 configword 0x30000b 0xe0 0xff
224 configword 0x30000c 0x0f 0xff
225 configword 0x30000d 0x40 0xff
226 idlocrange 0x200000 0x200007
233 configrange 0x300001 0x30000d
234 configword 0x300001 0xcf 0x37
235 configword 0x300002 0x1f 0xff
236 configword 0x300003 0x1f 0xff
237 configword 0x300005 0x86 0xfb
238 configword 0x300006 0xd5 0xaf
239 configword 0x300008 0x0f 0xff
240 configword 0x300009 0xc0 0xff
241 configword 0x30000a 0x0f 0xff
242 configword 0x30000b 0xe0 0xff
243 configword 0x30000c 0x0f 0xff
244 configword 0x30000d 0x40 0xff
245 idlocrange 0x200000 0x200007
252 configrange 0x300000 0x300005
253 configword 0x300000 0xe1 0xff
254 configword 0x300001 0x04 0xf7
255 configword 0x300002 0xc7 0xff
256 configword 0x300003 0x0f 0xff
257 configword 0x300005 0x01 0xff
258 idlocrange 0x200000 0x200007
280 configrange 0x300001 0x30000d
281 configword 0x300001 0xcf 0x37
282 configword 0x300002 0x1f 0xff
283 configword 0x300003 0x1f 0xff
284 configword 0x300005 0x87 0xfb
285 configword 0x300006 0xc5 0xbf
286 configword 0x300008 0x0f 0xff
287 configword 0x300009 0xc0 0xff
288 configword 0x30000a 0x0f 0xff
289 configword 0x30000b 0xe0 0xff
290 configword 0x30000c 0x0f 0xff
291 configword 0x30000d 0x40 0xff
292 idlocrange 0x200000 0x200007
313 configrange 0x300001 0x30000d
314 configword 0x300001 0xcf 0x37
315 configword 0x300002 0x1f 0xff
316 configword 0x300003 0x1f 0xff
317 configword 0x300005 0x86 0xfb
318 configword 0x300006 0xf5 0x8f
319 configword 0x300008 0x0f 0xff
320 configword 0x300009 0xc0 0xff
321 configword 0x30000a 0x0f 0xff
322 configword 0x30000b 0xe0 0xff
323 configword 0x30000c 0x0f 0xff
324 configword 0x30000d 0x40 0xff
325 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 0x3f 0xff
351 configword 0x300009 0xc0 0xff
352 configword 0x30000a 0x3f 0xff
353 configword 0x30000b 0xe0 0xff
354 configword 0x30000c 0x3f 0xff
355 configword 0x30000d 0x40 0xff
356 idlocrange 0x200000 0x200007
475 configrange 0x300001 0x30000d
476 configword 0x300001 0x27 0xff
477 configword 0x300002 0x0f 0xff
478 configword 0x300003 0x0f 0xff
479 configword 0x300004 0x83 0xff
480 configword 0x300005 0x03 0xff
481 configword 0x300006 0x85 0xff
482 configword 0x300008 0xff 0xff
483 configword 0x300009 0xc0 0xff
484 configword 0x30000a 0xff 0xff
485 configword 0x30000b 0xe0 0xff
486 configword 0x30000c 0xff 0xff
487 configword 0x30000d 0x40 0xff
488 idlocrange 0x200000 0x200007
495 configrange 0x300001 0x30000d
496 configword 0x300001 0x2f 0xff
497 configword 0x300002 0x0f 0xff
498 configword 0x300003 0x1f 0xff
499 configword 0x300004 0x83 0xff
500 configword 0x300005 0x83 0xff
501 configword 0x300006 0x85 0xff
502 configword 0x300008 0x0f 0xff
503 configword 0x300009 0xc0 0xff
504 configword 0x30000a 0x0f 0xff
505 configword 0x30000b 0xe0 0xff
506 configword 0x30000c 0x0f 0xff
507 configword 0x30000d 0x40 0xff
508 idlocrange 0x200000 0x200007