.gitignore ignores tests and eclipse
[avr-sim.git] / devices / atmega325
blob19d05712ce7d499270cc137a0c37808f34dcc663
1 <?xml version="1.0"?>
2 <!DOCTYPE device SYSTEM "device.dtd">
3 <device>
4 <interrupts num="22">
5 <interrupt vector="1" address="$000" name="RESET">External Pin,Power-on Reset,Brown-out Reset,Watchdog Reset,and JTAG AVR Reset. See Datasheet. </interrupt>
6 <interrupt vector="2" address="$002" name="INT0">External Interrupt Request 0</interrupt>
7 <interrupt vector="3" address="$004" name="PCINT0">Pin Change Interrupt Request 0</interrupt>
8 <interrupt vector="4" address="$006" name="PCINT1">Pin Change Interrupt Request 1</interrupt>
9 <interrupt vector="5" address="$008" name="TIMER2 COMP">Timer/Counter2 Compare Match</interrupt>
10 <interrupt vector="6" address="$00A" name="TIMER2 OVF">Timer/Counter2 Overflow</interrupt>
11 <interrupt vector="7" address="$00C" name="TIMER1 CAPT">Timer/Counter1 Capture Event</interrupt>
12 <interrupt vector="8" address="$00E" name="TIMER1 COMPA">Timer/Counter1 Compare Match A</interrupt>
13 <interrupt vector="9" address="$010" name="TIMER1 COMPB">Timer/Counter Compare Match B</interrupt>
14 <interrupt vector="10" address="$012" name="TIMER1 OVF">Timer/Counter1 Overflow</interrupt>
15 <interrupt vector="11" address="$014" name="TIMER0 COMP">Timer/Counter0 Compare Match</interrupt>
16 <interrupt vector="12" address="$016" name="TIMER0 OVF">Timer/Counter0 Overflow</interrupt>
17 <interrupt vector="13" address="$018" name="SPI, STC">SPI Serial Transfer Complete</interrupt>
18 <interrupt vector="14" address="$01A" name="USART0, RX">USART0, Rx Complete</interrupt>
19 <interrupt vector="15" address="$01C" name="USART0, UDRE">USART0 Data register Empty</interrupt>
20 <interrupt vector="16" address="$01E" name="USART0, TX">USART0, Tx Complete</interrupt>
21 <interrupt vector="17" address="$020" name="USI START">USI Start Condition</interrupt>
22 <interrupt vector="18" address="$022" name="USI OVERFLOW">USI Overflow</interrupt>
23 <interrupt vector="19" address="$024" name="ANALOG COMP">Analog Comparator</interrupt>
24 <interrupt vector="20" address="$026" name="ADC">ADC Conversion Complete</interrupt>
25 <interrupt vector="21" address="$028" name="EE_READY">EEPROM Ready</interrupt>
26 <interrupt vector="22" address="$02A" name="SPM_READY">Store Program Memory Read</interrupt>
27 </interrupts>
28 <packages>
29 <package name="TQFP" pins="64">
30 <pin id="1" name=""/>
31 <pin id="2" name=""/>
32 <pin id="3" name=""/>
33 <pin id="4" name=""/>
34 <pin id="5" name=""/>
35 <pin id="6" name=""/>
36 <pin id="7" name=""/>
37 <pin id="8" name=""/>
38 <pin id="9" name=""/>
39 <pin id="10" name=""/>
40 <pin id="11" name=""/>
41 <pin id="12" name=""/>
42 <pin id="13" name=""/>
43 <pin id="14" name=""/>
44 <pin id="15" name=""/>
45 <pin id="16" name=""/>
46 <pin id="17" name=""/>
47 <pin id="18" name=""/>
48 <pin id="19" name=""/>
49 <pin id="20" name=""/>
50 <pin id="21" name=""/>
51 <pin id="22" name=""/>
52 <pin id="23" name=""/>
53 <pin id="24" name=""/>
54 <pin id="25" name=""/>
55 <pin id="26" name=""/>
56 <pin id="27" name=""/>
57 <pin id="28" name=""/>
58 <pin id="29" name=""/>
59 <pin id="30" name=""/>
60 <pin id="31" name=""/>
61 <pin id="32" name=""/>
62 <pin id="33" name=""/>
63 <pin id="34" name=""/>
64 <pin id="35" name=""/>
65 <pin id="36" name=""/>
66 <pin id="37" name=""/>
67 <pin id="38" name=""/>
68 <pin id="39" name=""/>
69 <pin id="40" name=""/>
70 <pin id="41" name=""/>
71 <pin id="42" name=""/>
72 <pin id="43" name=""/>
73 <pin id="44" name=""/>
74 <pin id="45" name=""/>
75 <pin id="46" name=""/>
76 <pin id="47" name=""/>
77 <pin id="48" name=""/>
78 <pin id="49" name=""/>
79 <pin id="50" name=""/>
80 <pin id="51" name=""/>
81 <pin id="52" name=""/>
82 <pin id="53" name=""/>
83 <pin id="54" name=""/>
84 <pin id="55" name=""/>
85 <pin id="56" name=""/>
86 <pin id="57" name=""/>
87 <pin id="58" name=""/>
88 <pin id="59" name=""/>
89 <pin id="60" name=""/>
90 <pin id="61" name=""/>
91 <pin id="62" name=""/>
92 <pin id="63" name=""/>
93 <pin id="64" name=""/>
94 </package>
95 </packages>
96 <memory>
97 <flash size="32768"/>
98 <iospace start="$20" stop="$FF"/>
99 <sram size="2048"/>
100 <eram size="0"/>
101 </memory>
102 <ioregisters>
103 <ioreg name="PINA" address="$00"/>
104 <ioreg name="DDRA" address="$01"/>
105 <ioreg name="PORTA" address="$02"/>
106 <ioreg name="PINB" address="$03"/>
107 <ioreg name="DDRB" address="$04"/>
108 <ioreg name="PORTB" address="$05"/>
109 <ioreg name="PINC" address="$06"/>
110 <ioreg name="DDRC" address="$07"/>
111 <ioreg name="PORTC" address="$08"/>
112 <ioreg name="PIND" address="$09"/>
113 <ioreg name="DDRD" address="$0A"/>
114 <ioreg name="PORTD" address="$0B"/>
115 <ioreg name="PINE" address="$0C"/>
116 <ioreg name="DDRE" address="$0D"/>
117 <ioreg name="PORTE" address="$0E"/>
118 <ioreg name="PINF" address="$0F"/>
119 <ioreg name="DDRF" address="$10"/>
120 <ioreg name="PORTF" address="$11"/>
121 <ioreg name="PING" address="$12"/>
122 <ioreg name="DDRG" address="$13"/>
123 <ioreg name="PORTG" address="$14"/>
124 <ioreg name="TIFR0" address="$15"/>
125 <ioreg name="TIFR1" address="$16"/>
126 <ioreg name="TIFR2" address="$17"/>
127 <ioreg name="EIFR" address="$1C"/>
128 <ioreg name="EIMSK" address="$1D"/>
129 <ioreg name="GPIOR0" address="$1E"/>
130 <ioreg name="EECR" address="$1F"/>
131 <ioreg name="EEDR" address="$20"/>
132 <ioreg name="EEARL" address="$21"/>
133 <ioreg name="EEARH" address="$22"/>
134 <ioreg name="GTCCR" address="$23"/>
135 <ioreg name="TCCR0A" address="$24"/>
136 <ioreg name="TCNT0" address="$26"/>
137 <ioreg name="OCR0A" address="$27"/>
138 <ioreg name="GPIOR1" address="$2A"/>
139 <ioreg name="GPIOR2" address="$2B"/>
140 <ioreg name="SPCR" address="$2C"/>
141 <ioreg name="SPSR" address="$2D"/>
142 <ioreg name="SPDR" address="$2E"/>
143 <ioreg name="ACSR" address="$30"/>
144 <ioreg name="OCDR" address="$31"/>
145 <ioreg name="SMCR" address="$33"/>
146 <ioreg name="MCUSR" address="$34"/>
147 <ioreg name="MCUCR" address="$35"/>
148 <ioreg name="SPMCSR" address="$37"/>
149 <ioreg name="SPL" address="$3D"/>
150 <ioreg name="SPH" address="$3E"/>
151 <ioreg name="SREG" address="$3F"/>
152 <ioreg name="WDTCR" address="$60"/>
153 <ioreg name="CLKPR" address="$61"/>
154 <ioreg name="PRR" address="$64"/>
155 <ioreg name="OSCCAL" address="$66"/>
156 <ioreg name="EICRA" address="$69"/>
157 <ioreg name="PCMSK0" address="$6B"/>
158 <ioreg name="PCMSK1" address="$6C"/>
159 <ioreg name="TIMSK0" address="$6E"/>
160 <ioreg name="TIMSK1" address="$6F"/>
161 <ioreg name="TIMSK2" address="$70"/>
162 <ioreg name="ADCL" address="$78"/>
163 <ioreg name="ADCH" address="$79"/>
164 <ioreg name="ADCSRA" address="$7A"/>
165 <ioreg name="ADCSRB" address="$7B"/>
166 <ioreg name="ADMUX" address="$7C"/>
167 <ioreg name="DIDR0" address="$7E"/>
168 <ioreg name="DIDR1" address="$7F"/>
169 <ioreg name="TCCR1A" address="$80"/>
170 <ioreg name="TCCR1B" address="$81"/>
171 <ioreg name="TCCR1C" address="$82"/>
172 <ioreg name="TCNT1L" address="$84"/>
173 <ioreg name="TCNT1H" address="$85"/>
174 <ioreg name="ICR1L" address="$86"/>
175 <ioreg name="ICR1H" address="$87"/>
176 <ioreg name="OCR1AL" address="$88"/>
177 <ioreg name="OCR1AH" address="$89"/>
178 <ioreg name="OCR1BL" address="$8A"/>
179 <ioreg name="OCR1BH" address="$8B"/>
180 <ioreg name="TCCR2A" address="$B0"/>
181 <ioreg name="TCNT2" address="$B2"/>
182 <ioreg name="OCR2A" address="$B3"/>
183 <ioreg name="ASSR" address="$B6"/>
184 <ioreg name="USICR" address="$B8"/>
185 <ioreg name="USISR" address="$B9"/>
186 <ioreg name="USIDR" address="$BA"/>
187 <ioreg name="UCSR0A" address="$C0"/>
188 <ioreg name="UCSR0B" address="$C1"/>
189 <ioreg name="UCSR0C" address="$C2"/>
190 <ioreg name="UBRR0L" address="$C4"/>
191 <ioreg name="UBRR0H" address="$C5"/>
192 <ioreg name="UDR0" address="$C6"/>
193 <ioreg name="PINH" address="$D8"/>
194 <ioreg name="DDRH" address="$D9"/>
195 <ioreg name="PORTH" address="$DA"/>
196 <ioreg name="PINJ" address="$DB"/>
197 <ioreg name="DDRJ" address="$DC"/>
198 <ioreg name="PORTJ" address="$DD"/>
199 </ioregisters>
200 <hardware>
201 <!--Everything after this needs editing!!!-->
202 <module class="FUSE">
203 <registers name="FUSE" memspace="FUSE">
204 <reg size="1" name="EXTENDED" offset="0x02">
205 <bitfield name="BODLEVEL" mask="0x06" text="Brown-out Detector trigger level" icon="" enum="ENUM_BODLEVEL"/>
206 <bitfield name="RSTDISBL" mask="0x01" text="External Reset Disable" icon=""/>
207 </reg>
208 <reg size="1" name="HIGH" offset="0x01">
209 <bitfield name="OCDEN" mask="0x80" text="On-Chip Debug Enabled" icon=""/>
210 <bitfield name="JTAGEN" mask="0x40" text="JTAG Interface Enabled" icon=""/>
211 <bitfield name="SPIEN" mask="0x20" text="Serial program downloading (SPI) enabled" icon=""/>
212 <bitfield name="WDTON" mask="0x10" text="Watchdog timer always on" icon=""/>
213 <bitfield name="EESAVE" mask="0x08" text="Preserve EEPROM memory through the Chip Erase cycle" icon=""/>
214 <bitfield name="BOOTSZ" mask="0x06" text="Select Boot Size" icon="" enum="ENUM_BOOTSZ"/>
215 <bitfield name="BOOTRST" mask="0x01" text="Boot Reset vector Enabled" icon=""/>
216 </reg>
217 <reg size="1" name="LOW" offset="0x00">
218 <bitfield name="CKDIV8" mask="0x80" text="Divide clock by 8 internally" icon=""/>
219 <bitfield name="CKOUT" mask="0x40" text="Clock output on PORTE7" icon=""/>
220 <bitfield name="SUT_CKSEL" mask="0x3F" text="Select Clock Source" icon="" enum="ENUM_SUT_CKSEL"/>
221 </reg>
222 </registers>
223 </module>
224 <module class="LOCKBIT">
225 <registers name="LOCKBIT" memspace="LOCKBIT">
226 <reg size="1" name="LOCKBIT" offset="0x00">
227 <bitfield name="LB" mask="0x03" text="Memory Lock" icon="" enum="ENUM_LB"/>
228 <bitfield name="BLB0" mask="0x0C" text="Boot Loader Protection Mode" icon="" enum="ENUM_BLB"/>
229 <bitfield name="BLB1" mask="0x30" text="Boot Loader Protection Mode" icon="" enum="ENUM_BLB2"/>
230 </reg>
231 </registers>
232 </module>
233 <module class="AD_CONVERTER">
234 <registers name="AD_CONVERTER" memspace="DATAMEM" text="" icon="io_analo.bmp">
235 <reg size="1" name="ADMUX" offset="0x7C" text="The ADC multiplexer Selection Register" icon="io_analo.bmp">
236 <bitfield name="REFS" mask="0xC0" text="Reference Selection Bits" icon="" enum="ANALOG_ADC_V_REF3"/>
237 <bitfield name="ADLAR" mask="0x20" text="Left Adjust Result" icon=""/>
238 <bitfield name="MUX" mask="0x1F" text="Analog Channel and Gain Selection Bits" icon=""/>
239 </reg>
240 <reg size="1" name="ADCSRA" offset="0x7A" text="The ADC Control and Status register" icon="io_flag.bmp">
241 <bitfield name="ADEN" mask="0x80" text="ADC Enable" icon=""/>
242 <bitfield name="ADSC" mask="0x40" text="ADC Start Conversion" icon=""/>
243 <bitfield name="ADATE" mask="0x20" text="ADC Auto Trigger Enable" icon=""/>
244 <bitfield name="ADIF" mask="0x10" text="ADC Interrupt Flag" icon=""/>
245 <bitfield name="ADIE" mask="0x08" text="ADC Interrupt Enable" icon=""/>
246 <bitfield name="ADPS" mask="0x07" text="ADC Prescaler Select Bits" icon="" enum="ANALIG_ADC_PRESCALER"/>
247 </reg>
248 <reg size="2" name="ADC" offset="0x78" text="ADC Data Register Bytes" icon="io_analo.bmp" mask="0xFFFF"/>
249 <reg size="1" name="ADCSRB" offset="0x7B" text="ADC Control and Status Register B" icon="io_analo.bmp">
250 <bitfield name="ADTS" mask="0x07" text="ADC Auto Trigger Sources" icon=""/>
251 </reg>
252 <reg size="1" name="DIDR0" offset="0x7E" text="Digital Input Disable Register 0" icon="io_analo.bmp">
253 <bitfield name="ADC7D" mask="0x80" text="ADC7 Digital input Disable" icon=""/>
254 <bitfield name="ADC6D" mask="0x40" text="ADC6 Digital input Disable" icon=""/>
255 <bitfield name="ADC5D" mask="0x20" text="ADC5 Digital input Disable" icon=""/>
256 <bitfield name="ADC4D" mask="0x10" text="ADC4 Digital input Disable" icon=""/>
257 <bitfield name="ADC3D" mask="0x08" text="ADC3 Digital input Disable" icon=""/>
258 <bitfield name="ADC2D" mask="0x04" text="ADC2 Digital input Disable" icon=""/>
259 <bitfield name="ADC1D" mask="0x02" text="ADC1 Digital input Disable" icon=""/>
260 <bitfield name="ADC0D" mask="0x01" text="ADC0 Digital input Disable" icon=""/>
261 </reg>
262 </registers>
263 </module>
264 <module class="ANALOG_COMPARATOR">
265 <registers name="ANALOG_COMPARATOR" memspace="DATAMEM" text="" icon="io_analo.bmp">
266 <reg size="1" name="ADCSRB" offset="0x7B" text="ADC Control and Status Register B" icon="io_flag.bmp">
267 <bitfield name="ACME" mask="0x40" text="Analog Comparator Multiplexer Enable" icon=""/>
268 </reg>
269 <reg size="1" name="ACSR" offset="0x50" text="Analog Comparator Control And Status Register" icon="io_analo.bmp">
270 <bitfield name="ACD" mask="0x80" text="Analog Comparator Disable" icon=""/>
271 <bitfield name="ACBG" mask="0x40" text="Analog Comparator Bandgap Select" icon=""/>
272 <bitfield name="ACO" mask="0x20" text="Analog Compare Output" icon=""/>
273 <bitfield name="ACI" mask="0x10" text="Analog Comparator Interrupt Flag" icon=""/>
274 <bitfield name="ACIE" mask="0x08" text="Analog Comparator Interrupt Enable" icon=""/>
275 <bitfield name="ACIC" mask="0x04" text="Analog Comparator Input Capture Enable" icon=""/>
276 <bitfield name="ACIS" mask="0x03" text="Analog Comparator Interrupt Mode Select bits" icon="" enum="ANALOG_COMP_INTERRUPT"/>
277 </reg>
278 <reg size="1" name="DIDR1" offset="0x7F" text="Digital Input Disable Register 1" icon="io_analo.bmp">
279 <bitfield name="AIN1D" mask="0x02" text="AIN1 Digital Input Disable" icon=""/>
280 <bitfield name="AIN0D" mask="0x01" text="AIN0 Digital Input Disable" icon=""/>
281 </reg>
282 </registers>
283 </module>
284 <module class="USART0">
285 <registers name="USART0" memspace="DATAMEM" text="" icon="io_com.bmp">
286 <reg size="1" name="UDR0" offset="0xC6" text="USART I/O Data Register" icon="io_com.bmp" mask="0xFF"/>
287 <reg size="1" name="UCSR0A" offset="0xC0" text="USART Control and Status Register A" icon="io_flag.bmp">
288 <bitfield name="RXC0" mask="0x80" text="USART Receive Complete" icon=""/>
289 <bitfield name="TXC0" mask="0x40" text="USART Transmit Complete" icon=""/>
290 <bitfield name="UDRE0" mask="0x20" text="USART Data Register Empty" icon=""/>
291 <bitfield name="FE0" mask="0x10" text="Framing Error" icon=""/>
292 <bitfield name="DOR0" mask="0x08" text="Data OverRun" icon=""/>
293 <bitfield name="UPE0" mask="0x04" text="USART Parity Error" icon=""/>
294 <bitfield name="U2X0" mask="0x02" text="Double the USART Transmission Speed" icon=""/>
295 <bitfield name="MPCM0" mask="0x01" text="Multi-processor Communication Mode" icon=""/>
296 </reg>
297 <reg size="1" name="UCSR0B" offset="0xC1" text="USART Control and Status Register B" icon="io_flag.bmp">
298 <bitfield name="RXCIE0" mask="0x80" text="RX Complete Interrupt Enable" icon=""/>
299 <bitfield name="TXCIE0" mask="0x40" text="TX Complete Interrupt Enable" icon=""/>
300 <bitfield name="UDRIE0" mask="0x20" text="USART Data Register Empty Interrupt Enable" icon=""/>
301 <bitfield name="RXEN0" mask="0x10" text="Receiver Enable" icon=""/>
302 <bitfield name="TXEN0" mask="0x08" text="Transmitter Enable" icon=""/>
303 <bitfield name="UCSZ02" mask="0x04" text="Character Size" icon=""/>
304 <bitfield name="RXB80" mask="0x02" text="Receive Data Bit 8" icon=""/>
305 <bitfield name="TXB80" mask="0x01" text="Transmit Data Bit 8" icon=""/>
306 </reg>
307 <reg size="1" name="UCSR0C" offset="0xC2" text="USART Control and Status Register C" icon="io_flag.bmp">
308 <bitfield name="UMSEL0" mask="0x40" text="USART Mode Select" icon="" enum="COMM_USART_MODE"/>
309 <bitfield name="UPM0" mask="0x30" text="Parity Mode Bits" icon="" enum="COMM_UPM_PARITY_MODE"/>
310 <bitfield name="USBS0" mask="0x08" text="Stop Bit Select" icon="" enum="COMM_STOP_BIT_SEL"/>
311 <bitfield name="UCSZ0" mask="0x06" text="Character Size" icon=""/>
312 <bitfield name="UCPOL0" mask="0x01" text="Clock Polarity" icon=""/>
313 </reg>
314 <reg size="2" name="UBRR0" offset="0xC4" text="USART Baud Rate Register Bytes" icon="io_com.bmp" mask="0x0FFF"/>
315 </registers>
316 </module>
317 <module class="USI">
318 <registers name="USI" memspace="DATAMEM" text="" icon="io_com.bmp">
319 <reg size="1" name="USIDR" offset="0xBA" text="USI Data Register" icon="io_com.bmp" mask="0xFF"/>
320 <reg size="1" name="USISR" offset="0xB9" text="USI Status Register" icon="io_flag.bmp">
321 <bitfield name="USISIF" mask="0x80" text="Start Condition Interrupt Flag" icon=""/>
322 <bitfield name="USIOIF" mask="0x40" text="Counter Overflow Interrupt Flag" icon=""/>
323 <bitfield name="USIPF" mask="0x20" text="Stop Condition Flag" icon=""/>
324 <bitfield name="USIDC" mask="0x10" text="Data Output Collision" icon=""/>
325 <bitfield name="USICNT" mask="0x0F" text="USI Counter Value Bits" icon=""/>
326 </reg>
327 <reg size="1" name="USICR" offset="0xB8" text="USI Control Register" icon="io_flag.bmp">
328 <bitfield name="USISIE" mask="0x80" text="Start Condition Interrupt Enable" icon=""/>
329 <bitfield name="USIOIE" mask="0x40" text="Counter Overflow Interrupt Enable" icon=""/>
330 <bitfield name="USIWM" mask="0x30" text="USI Wire Mode Bits" icon="" enum="COMM_USI_OP"/>
331 <bitfield name="USICS" mask="0x0C" text="USI Clock Source Select Bits" icon=""/>
332 <bitfield name="USICLK" mask="0x02" text="Clock Strobe" icon=""/>
333 <bitfield name="USITC" mask="0x01" text="Toggle Clock Port Pin" icon=""/>
334 </reg>
335 </registers>
336 </module>
337 <module class="SPI">
338 <registers name="SPI" memspace="DATAMEM" text="" icon="io_com.bmp">
339 <reg size="1" name="SPCR" offset="0x4C" text="SPI Control Register" icon="io_flag.bmp">
340 <bitfield name="SPIE" mask="0x80" text="SPI Interrupt Enable" icon=""/>
341 <bitfield name="SPE" mask="0x40" text="SPI Enable" icon=""/>
342 <bitfield name="DORD" mask="0x20" text="Data Order" icon=""/>
343 <bitfield name="MSTR" mask="0x10" text="Master/Slave Select" icon=""/>
344 <bitfield name="CPOL" mask="0x08" text="Clock polarity" icon=""/>
345 <bitfield name="CPHA" mask="0x04" text="Clock Phase" icon=""/>
346 <bitfield name="SPR" mask="0x03" text="SPI Clock Rate Selects" icon="" enum="COMM_SCK_RATE_3BIT"/>
347 </reg>
348 <reg size="1" name="SPSR" offset="0x4D" text="SPI Status Register" icon="io_flag.bmp">
349 <bitfield name="SPIF" mask="0x80" text="SPI Interrupt Flag" icon=""/>
350 <bitfield name="WCOL" mask="0x40" text="Write Collision Flag" icon=""/>
351 <bitfield name="SPI2X" mask="0x01" text="Double SPI Speed Bit" icon=""/>
352 </reg>
353 <reg size="1" name="SPDR" offset="0x4E" text="SPI Data Register" icon="io_com.bmp" mask="0xFF"/>
354 </registers>
355 </module>
356 <module class="BOOT_LOAD">
357 <registers name="BOOT_LOAD" memspace="DATAMEM" text="" icon="io_cpu.bmp">
358 <reg size="1" name="SPMCSR" offset="0x57" text="Store Program Memory Control Register" icon="io_flag.bmp">
359 <bitfield name="SPMIE" mask="0x80" text="SPM Interrupt Enable" icon=""/>
360 <bitfield name="RWWSB" mask="0x40" text="Read While Write Section Busy" icon=""/>
361 <bitfield name="RWWSRE" mask="0x10" text="Read While Write section read enable" icon=""/>
362 <bitfield name="BLBSET" mask="0x08" text="Boot Lock Bit Set" icon=""/>
363 <bitfield name="PGWRT" mask="0x04" text="Page Write" icon=""/>
364 <bitfield name="PGERS" mask="0x02" text="Page Erase" icon=""/>
365 <bitfield name="SPMEN" mask="0x01" text="Store Program Memory Enable" icon=""/>
366 </reg>
367 </registers>
368 </module>
369 <module class="JTAG">
370 <registers name="JTAG" memspace="DATAMEM" text="" icon="io_com.bmp">
371 <reg size="1" name="OCDR" offset="0x51" text="On-Chip Debug Related Register in I/O Memory" icon="io_com.bmp" mask="0xFF"/>
372 <reg size="1" name="MCUCR" offset="0x55" text="MCU Control Register" icon="io_flag.bmp">
373 <bitfield name="JTD" mask="0x80" text="JTAG Interface Disable" icon=""/>
374 </reg>
375 <reg size="1" name="MCUSR" offset="0x54" text="MCU Status Register" icon="io_flag.bmp">
376 <bitfield name="JTRF" mask="0x10" text="JTAG Reset Flag" icon=""/>
377 </reg>
378 </registers>
379 </module>
380 <module class="EXTERNAL_INTERRUPT">
381 <registers name="EXTERNAL_INTERRUPT" memspace="DATAMEM" text="" icon="io_ext.bmp">
382 <reg size="1" name="EICRA" offset="0x69" text="External Interrupt Control Register A" icon="io_flag.bmp">
383 <bitfield name="ISC01" mask="0x02" text="External Interrupt Sense Control 0 Bit 1" icon=""/>
384 <bitfield name="ISC00" mask="0x01" text="External Interrupt Sense Control 0 Bit 0" icon="" enum="INTERRUPT_SENSE_CONTROL"/>
385 </reg>
386 <reg size="1" name="EIMSK" offset="0x3D" text="External Interrupt Mask Register" icon="io_flag.bmp">
387 <bitfield name="PCIE" mask="0xF0" text="Pin Change Interrupt Enables" icon=""/>
388 <bitfield name="INT0" mask="0x01" text="External Interrupt Request 0 Enable" icon=""/>
389 </reg>
390 <reg size="1" name="EIFR" offset="0x3C" text="External Interrupt Flag Register" icon="io_flag.bmp">
391 <bitfield name="PCIF" mask="0xF0" text="Pin Change Interrupt Flags" icon=""/>
392 <bitfield name="INTF0" mask="0x01" text="External Interrupt Flag 0" icon=""/>
393 </reg>
394 <reg size="1" name="PCMSK1" offset="0x6C" text="Pin Change Mask Register 1" icon="io_flag.bmp" mask="0xFF"/>
395 <reg size="1" name="PCMSK0" offset="0x6B" text="Pin Change Mask Register 0" icon="io_flag.bmp" mask="0xFF"/>
396 </registers>
397 </module>
398 <module class="EEPROM">
399 <registers name="EEPROM" memspace="DATAMEM" text="" icon="io_cpu.bmp">
400 <reg size="2" name="EEAR" offset="0x41" text="EEPROM Read/Write Access Bytes" icon="io_cpu.bmp" mask="0x03FF"/>
401 <reg size="1" name="EEDR" offset="0x40" text="EEPROM Data Register" icon="io_cpu.bmp" mask="0xFF"/>
402 <reg size="1" name="EECR" offset="0x3F" text="EEPROM Control Register" icon="io_flag.bmp">
403 <bitfield name="EERIE" mask="0x08" text="EEPROM Ready Interrupt Enable" icon=""/>
404 <bitfield name="EEMWE" mask="0x04" text="EEPROM Master Write Enable" icon=""/>
405 <bitfield name="EEWE" mask="0x02" text="EEPROM Write Enable" icon=""/>
406 <bitfield name="EERE" mask="0x01" text="EEPROM Read Enable" icon=""/>
407 </reg>
408 </registers>
409 </module>
410 <module class="PORTA">
411 <registers name="PORTA" memspace="DATAMEM" text="" icon="io_port.bmp">
412 <reg size="1" name="PORTA" offset="0x22" text="Port A Data Register" icon="io_port.bmp" mask="0xFF"/>
413 <reg size="1" name="DDRA" offset="0x21" text="Port A Data Direction Register" icon="io_flag.bmp" mask="0xFF"/>
414 <reg size="1" name="PINA" offset="0x20" text="Port A Input Pins" icon="io_port.bmp" mask="0xFF"/>
415 </registers>
416 </module>
417 <module class="PORTB">
418 <registers name="PORTB" memspace="DATAMEM" text="" icon="io_port.bmp">
419 <reg size="1" name="PORTB" offset="0x25" text="Port B Data Register" icon="io_port.bmp" mask="0xFF"/>
420 <reg size="1" name="DDRB" offset="0x24" text="Port B Data Direction Register" icon="io_flag.bmp" mask="0xFF"/>
421 <reg size="1" name="PINB" offset="0x23" text="Port B Input Pins" icon="io_port.bmp" mask="0xFF"/>
422 </registers>
423 </module>
424 <module class="PORTC">
425 <registers name="PORTC" memspace="DATAMEM" text="" icon="io_port.bmp">
426 <reg size="1" name="PORTC" offset="0x28" text="Port C Data Register" icon="io_port.bmp" mask="0xFF"/>
427 <reg size="1" name="DDRC" offset="0x27" text="Port C Data Direction Register" icon="io_flag.bmp" mask="0xFF"/>
428 <reg size="1" name="PINC" offset="0x26" text="Port C Input Pins" icon="io_port.bmp" mask="0xFF"/>
429 </registers>
430 </module>
431 <module class="PORTD">
432 <registers name="PORTD" memspace="DATAMEM" text="" icon="io_port.bmp">
433 <reg size="1" name="PORTD" offset="0x2B" text="Port D Data Register" icon="io_port.bmp" mask="0xFF"/>
434 <reg size="1" name="DDRD" offset="0x2A" text="Port D Data Direction Register" icon="io_flag.bmp" mask="0xFF"/>
435 <reg size="1" name="PIND" offset="0x29" text="Port D Input Pins" icon="io_port.bmp" mask="0xFF"/>
436 </registers>
437 </module>
438 <module class="PORTE">
439 <registers name="PORTE" memspace="DATAMEM" text="" icon="io_port.bmp">
440 <reg size="1" name="PORTE" offset="0x2E" text="Data Register, Port E" icon="io_port.bmp" mask="0xFF"/>
441 <reg size="1" name="DDRE" offset="0x2D" text="Data Direction Register, Port E" icon="io_flag.bmp" mask="0xFF"/>
442 <reg size="1" name="PINE" offset="0x2C" text="Input Pins, Port E" icon="io_port.bmp" mask="0xFF"/>
443 </registers>
444 </module>
445 <module class="PORTF">
446 <registers name="PORTF" memspace="DATAMEM" text="" icon="io_port.bmp">
447 <reg size="1" name="PORTF" offset="0x31" text="Data Register, Port F" icon="io_port.bmp" mask="0xFF"/>
448 <reg size="1" name="DDRF" offset="0x30" text="Data Direction Register, Port F" icon="io_flag.bmp" mask="0xFF"/>
449 <reg size="1" name="PINF" offset="0x2F" text="Input Pins, Port F" icon="io_port.bmp" mask="0xFF"/>
450 </registers>
451 </module>
452 <module class="PORTG">
453 <registers name="PORTG" memspace="DATAMEM" text="" icon="io_port.bmp">
454 <reg size="1" name="PORTG" offset="0x34" text="Port G Data Register" icon="io_port.bmp" mask="0x1F"/>
455 <reg size="1" name="DDRG" offset="0x33" text="Port G Data Direction Register" icon="io_flag.bmp" mask="0x1F"/>
456 <reg size="1" name="PING" offset="0x32" text="Port G Input Pins" icon="io_port.bmp" mask="0x3F"/>
457 </registers>
458 </module>
459 <module class="TIMER_COUNTER_0">
460 <registers name="TIMER_COUNTER_0" memspace="DATAMEM" text="" icon="io_timer.bmp">
461 <reg size="1" name="TCCR0A" offset="0x44" text="Timer/Counter0 Control Register" icon="io_flag.bmp">
462 <bitfield name="FOC0A" mask="0x80" text="Force Output Compare" icon=""/>
463 <bitfield name="WGM00" mask="0x40" text="Waveform Generation Mode 0" icon="" enum="WAVEFORM_GEN_MODE"/>
464 <bitfield name="COM0A" mask="0x30" text="Compare Match Output Modes" icon=""/>
465 <bitfield name="WGM01" mask="0x08" text="Waveform Generation Mode 1" icon=""/>
466 <bitfield name="CS0" mask="0x07" text="Clock Selects" icon="" enum="CLK_SEL_3BIT_EXT"/>
467 </reg>
468 <reg size="1" name="TCNT0" offset="0x46" text="Timer/Counter0" icon="io_timer.bmp" mask="0xFF"/>
469 <reg size="1" name="OCR0A" offset="0x47" text="Timer/Counter0 Output Compare Register" icon="io_timer.bmp" mask="0xFF"/>
470 <reg size="1" name="TIMSK0" offset="0x6E" text="Timer/Counter0 Interrupt Mask Register" icon="io_flag.bmp">
471 <bitfield name="OCIE0A" mask="0x02" text="Timer/Counter0 Output Compare Match Interrupt Enable" icon=""/>
472 <bitfield name="TOIE0" mask="0x01" text="Timer/Counter0 Overflow Interrupt Enable" icon=""/>
473 </reg>
474 <reg size="1" name="TIFR0" offset="0x35" text="Timer/Counter0 Interrupt Flag register" icon="io_flag.bmp">
475 <bitfield name="OCF0A" mask="0x02" text="Timer/Counter0 Output Compare Flag 0" icon=""/>
476 <bitfield name="TOV0" mask="0x01" text="Timer/Counter0 Overflow Flag" icon=""/>
477 </reg>
478 <reg size="1" name="GTCCR" offset="0x43" text="General Timer/Control Register" icon="io_cpu.bmp">
479 <bitfield name="TSM" mask="0x80" text="Timer/Counter Synchronization Mode" icon=""/>
480 <bitfield name="PSR310" mask="0x01" text="Prescaler Reset Timer/Counter1 and Timer/Counter0" icon=""/>
481 </reg>
482 </registers>
483 </module>
484 <module class="TIMER_COUNTER_1">
485 <registers name="TIMER_COUNTER_1" memspace="DATAMEM" text="" icon="io_timer.bmp">
486 <reg size="1" name="TCCR1A" offset="0x80" text="Timer/Counter1 Control Register A" icon="io_flag.bmp">
487 <bitfield name="COM1A" mask="0xC0" text="Compare Output Mode 1A, bits" icon=""/>
488 <bitfield name="COM1B" mask="0x30" text="Compare Output Mode 1B, bits" icon=""/>
489 <bitfield name="WGM1" mask="0x03" text="Waveform Generation Mode" icon=""/>
490 </reg>
491 <reg size="1" name="TCCR1B" offset="0x81" text="Timer/Counter1 Control Register B" icon="io_flag.bmp">
492 <bitfield name="ICNC1" mask="0x80" text="Input Capture 1 Noise Canceler" icon=""/>
493 <bitfield name="ICES1" mask="0x40" text="Input Capture 1 Edge Select" icon=""/>
494 <bitfield name="WGM1" mask="0x18" text="Waveform Generation Mode" icon="" lsb="2"/>
495 <bitfield name="CS1" mask="0x07" text="Prescaler source of Timer/Counter 1" icon="" enum="CLK_SEL_3BIT_EXT"/>
496 </reg>
497 <reg size="1" name="TCCR1C" offset="0x82" text="Timer/Counter 1 Control Register C" icon="io_flag.bmp">
498 <bitfield name="FOC1A" mask="0x80" text="Force Output Compare 1A" icon=""/>
499 <bitfield name="FOC1B" mask="0x40" text="Force Output Compare 1B" icon=""/>
500 </reg>
501 <reg size="2" name="TCNT1" offset="0x84" text="Timer/Counter1 Bytes" icon="io_timer.bmp" mask="0xFFFF"/>
502 <reg size="2" name="OCR1A" offset="0x88" text="Timer/Counter1 Outbut Compare Register A Bytes" icon="io_timer.bmp" mask="0xFFFF"/>
503 <reg size="2" name="OCR1B" offset="0x8A" text="Timer/Counter1 Output Compare Register B Bytes" icon="io_timer.bmp" mask="0xFFFF"/>
504 <reg size="2" name="ICR1" offset="0x86" text="Timer/Counter1 Input Capture Register Bytes" icon="io_timer.bmp" mask="0xFFFF"/>
505 <reg size="1" name="TIMSK1" offset="0x6F" text="Timer/Counter1 Interrupt Mask Register" icon="io_flag.bmp">
506 <bitfield name="ICIE1" mask="0x20" text="Timer/Counter1 Input Capture Interrupt Enable" icon=""/>
507 <bitfield name="OCIE1B" mask="0x04" text="Timer/Counter1 Output Compare B Match Interrupt Enable" icon=""/>
508 <bitfield name="OCIE1A" mask="0x02" text="Timer/Counter1 Output Compare A Match Interrupt Enable" icon=""/>
509 <bitfield name="TOIE1" mask="0x01" text="Timer/Counter1 Overflow Interrupt Enable" icon=""/>
510 </reg>
511 <reg size="1" name="TIFR1" offset="0x36" text="Timer/Counter1 Interrupt Flag register" icon="io_flag.bmp">
512 <bitfield name="ICF1" mask="0x20" text="Input Capture Flag 1" icon=""/>
513 <bitfield name="OCF1B" mask="0x04" text="Output Compare Flag 1B" icon=""/>
514 <bitfield name="OCF1A" mask="0x02" text="Output Compare Flag 1A" icon=""/>
515 <bitfield name="TOV1" mask="0x01" text="Timer/Counter1 Overflow Flag" icon=""/>
516 </reg>
517 </registers>
518 </module>
519 <module class="TIMER_COUNTER_2">
520 <registers name="TIMER_COUNTER_2" memspace="DATAMEM" text="" icon="io_timer.bmp">
521 <reg size="1" name="TCCR2A" offset="0xB0" text="Timer/Counter2 Control Register" icon="io_flag.bmp">
522 <bitfield name="FOC2A" mask="0x80" text="Force Output Compare A" icon=""/>
523 <bitfield name="WGM20" mask="0x40" text="Waveform Generation Mode" icon="" enum="WAVEFORM_GEN_MODE"/>
524 <bitfield name="COM2A" mask="0x30" text="Compare Output Mode bits" icon=""/>
525 <bitfield name="WGM21" mask="0x08" text="Waveform Generation Mode" icon=""/>
526 <bitfield name="CS2" mask="0x07" text="Clock Select bits" icon="" enum="CLK_SEL_3BIT"/>
527 </reg>
528 <reg size="1" name="TCNT2" offset="0xB2" text="Timer/Counter2" icon="io_timer.bmp" mask="0xFF"/>
529 <reg size="1" name="OCR2A" offset="0xB3" text="Timer/Counter2 Output Compare Register" icon="io_timer.bmp" mask="0xFF"/>
530 <reg size="1" name="TIMSK2" offset="0x70" text="Timer/Counter2 Interrupt Mask register" icon="io_flag.bmp">
531 <bitfield name="OCIE2A" mask="0x02" text="Timer/Counter2 Output Compare Match Interrupt Enable" icon=""/>
532 <bitfield name="TOIE2" mask="0x01" text="Timer/Counter2 Overflow Interrupt Enable" icon=""/>
533 </reg>
534 <reg size="1" name="TIFR2" offset="0x37" text="Timer/Counter2 Interrupt Flag Register" icon="io_flag.bmp">
535 <bitfield name="OCF2A" mask="0x02" text="Timer/Counter2 Output Compare Flag 2" icon=""/>
536 <bitfield name="TOV2" mask="0x01" text="Timer/Counter2 Overflow Flag" icon=""/>
537 </reg>
538 <reg size="1" name="GTCCR" offset="0x43" text="General Timer/Counter Control Register" icon="io_cpu.bmp">
539 <bitfield name="PSR2" mask="0x02" text="Prescaler Reset Timer/Counter2" icon=""/>
540 </reg>
541 <reg size="1" name="ASSR" offset="0xB6" text="Asynchronous Status Register" icon="io_flag.bmp">
542 <bitfield name="EXCLK" mask="0x10" text="Enable External Clock Interrupt" icon=""/>
543 <bitfield name="AS2" mask="0x08" text="AS2: Asynchronous Timer/Counter2" icon=""/>
544 <bitfield name="TCN2UB" mask="0x04" text="TCN2UB: Timer/Counter2 Update Busy" icon=""/>
545 <bitfield name="OCR2UB" mask="0x02" text="Output Compare Register2 Update Busy" icon=""/>
546 <bitfield name="TCR2UB" mask="0x01" text="TCR2UB: Timer/Counter Control Register2 Update Busy" icon=""/>
547 </reg>
548 </registers>
549 </module>
550 <module class="WATCHDOG">
551 <registers name="WATCHDOG" memspace="DATAMEM" text="" icon="io_watch.bmp">
552 <reg size="1" name="WDTCR" offset="0x60" text="Watchdog Timer Control Register" icon="io_flag.bmp">
553 <bitfield name="WDCE" mask="0x10" text="Watchdog Change Enable" icon=""/>
554 <bitfield name="WDE" mask="0x08" text="Watch Dog Enable" icon=""/>
555 <bitfield name="WDP" mask="0x07" text="Watch Dog Timer Prescaler bits" icon="" enum="WDOG_TIMER_PRESCALE_3BITS"/>
556 </reg>
557 </registers>
558 </module>
559 <module class="CPU">
560 <registers name="CPU" memspace="DATAMEM" text="" icon="io_cpu.bmp">
561 <reg size="1" name="SREG" offset="0x5F" text="Status Register" icon="io_sreg.bmp">
562 <bitfield name="I" mask="0x80" text="Global Interrupt Enable" icon=""/>
563 <bitfield name="T" mask="0x40" text="Bit Copy Storage" icon=""/>
564 <bitfield name="H" mask="0x20" text="Half Carry Flag" icon=""/>
565 <bitfield name="S" mask="0x10" text="Sign Bit" icon=""/>
566 <bitfield name="V" mask="0x08" text="Two's Complement Overflow Flag" icon=""/>
567 <bitfield name="N" mask="0x04" text="Negative Flag" icon=""/>
568 <bitfield name="Z" mask="0x02" text="Zero Flag" icon=""/>
569 <bitfield name="C" mask="0x01" text="Carry Flag" icon=""/>
570 </reg>
571 <reg size="2" name="SP" offset="0x5D" text="Stack Pointer " icon="io_sph.bmp" mask="0xFFFF"/>
572 <reg size="1" name="MCUCR" offset="0x55" text="MCU Control Register" icon="io_flag.bmp">
573 <bitfield name="PUD" mask="0x10" text="Pull-up disable" icon=""/>
574 <bitfield name="IVSEL" mask="0x02" text="Interrupt Vector Select" icon=""/>
575 <bitfield name="IVCE" mask="0x01" text="Interrupt Vector Change Enable" icon=""/>
576 </reg>
577 <reg size="1" name="MCUSR" offset="0x54" text="MCU Status Register" icon="io_flag.bmp">
578 <bitfield name="JTRF" mask="0x10" text="JTAG Reset Flag" icon=""/>
579 <bitfield name="WDRF" mask="0x08" text="Watchdog Reset Flag" icon=""/>
580 <bitfield name="BORF" mask="0x04" text="Brown-out Reset Flag" icon=""/>
581 <bitfield name="EXTRF" mask="0x02" text="External Reset Flag" icon=""/>
582 <bitfield name="PORF" mask="0x01" text="Power-on reset flag" icon=""/>
583 </reg>
584 <reg size="1" name="OSCCAL" offset="0x66" text="Oscillator Calibration Value" icon="io_cpu.bmp" mask="0xFF"/>
585 <reg size="1" name="CLKPR" offset="0x61" text="Clock Prescale Register" icon="io_cpu.bmp">
586 <bitfield name="CLKPCE" mask="0x80" text="Clock Prescaler Change Enable" icon=""/>
587 <bitfield name="CLKPS" mask="0x0F" text="Clock Prescaler Select Bits" icon="" enum="CPU_CLK_PRESCALE_4_BITS_SMALL"/>
588 </reg>
589 <reg size="1" name="PRR" offset="0x64" text="Power Reduction Register" icon="io_cpu.bmp">
590 <bitfield name="PRTIM1" mask="0x08" text="Power Reduction Timer/Counter1" icon=""/>
591 <bitfield name="PRSPI" mask="0x04" text="Power Reduction Serial Peripheral Interface" icon=""/>
592 <bitfield name="PRUSART0" mask="0x02" text="Power Reduction USART" icon=""/>
593 <bitfield name="PRADC" mask="0x01" text="Power Reduction ADC" icon=""/>
594 </reg>
595 <reg size="1" name="SMCR" offset="0x53" text="Sleep Mode Control Register" icon="io_cpu.bmp">
596 <bitfield name="SM" mask="0x0E" text="Sleep Mode Select bits" icon="" enum="CPU_SLEEP_MODE_3BITS2"/>
597 <bitfield name="SE" mask="0x01" text="Sleep Enable" icon=""/>
598 </reg>
599 <reg size="1" name="GPIOR2" offset="0x4B" text="General Purpose IO Register 2" icon="io_cpu.bmp" mask="0xFF"/>
600 <reg size="1" name="GPIOR1" offset="0x4A" text="General Purpose IO Register 1" icon="io_cpu.bmp" mask="0xFF"/>
601 <reg size="1" name="GPIOR0" offset="0x3E" text="General Purpose IO Register 0" icon="io_cpu.bmp" mask="0xFF"/>
602 </registers>
603 </module>
604 </hardware>
605 </device>