ATtiny11.atdf 17 KB
Newer Older
Petter Breedveld's avatar
Petter Breedveld committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
<?xml version="1.0" encoding="UTF-8"?>
<avr-tools-device-file xmlns:xalan="http://xml.apache.org/xalan" xmlns:NumHelper="NumHelper" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schema-version="0.3" xsi:noNamespaceSchemaLocation="../../schema/avr_tools_device_file.xsd">
  <variants>
    <variant tempmin="0" tempmax="0" speedmax="0" package="" ordercode="standard" vccmin="2.7" vccmax="5.5"/>
  </variants>
  <devices>
    <device name="ATtiny11" architecture="AVR8" family="tinyAVR">
      <address-spaces>
        <address-space endianness="little" name="prog" id="prog" start="0x0000" size="0x0400">
          <memory-segment start="0x0000" size="0x0400" type="flash" rw="RW" exec="1" name="FLASH" pagesize="0x00"/>
        </address-space>
        <address-space endianness="little" name="signatures" id="signatures" start="0" size="3">
          <memory-segment start="0" size="3" type="signatures" rw="R" exec="0" name="SIGNATURES"/>
        </address-space>
        <address-space endianness="little" name="fuses" id="fuses" start="0" size="0x0001">
          <memory-segment start="0" size="0x0001" type="fuses" rw="RW" exec="0" name="FUSES"/>
        </address-space>
        <address-space endianness="little" name="lockbits" id="lockbits" start="0" size="0x0001">
          <memory-segment start="0" size="0x0001" type="lockbits" rw="RW" exec="0" name="LOCKBITS"/>
        </address-space>
        <address-space endianness="little" name="data" id="data" start="0x0000" size="0x0060">
          <memory-segment external="false" type="regs" size="0x0020" start="0x0000" name="REGISTERS"/>
          <memory-segment name="MAPPED_IO" start="0x0020" size="0x0040" type="io" external="false"/>
        </address-space>
        <address-space size="0x40" start="0x00" endianness="little" name="io" id="io"/>
      </address-spaces>
      <peripherals>
        <module name="AC">
          <instance name="AC" caption="Analog Comparator">
            <register-group name="AC" name-in-module="AC" offset="0x00" address-space="data" caption="Analog Comparator"/>
          </instance>
        </module>
        <module name="EXINT">
          <instance name="EXINT" caption="External Interrupts">
            <register-group name="EXINT" name-in-module="EXINT" offset="0x00" address-space="data" caption="External Interrupts"/>
          </instance>
        </module>
        <module name="PORT">
          <instance name="PORTB" caption="I/O Port">
            <register-group name="PORTB" name-in-module="PORTB" offset="0x00" address-space="data" caption="I/O Port"/>
          </instance>
        </module>
        <module name="TC8">
          <instance name="TC0" caption="Timer/Counter, 8-bit">
            <register-group name="TC0" name-in-module="TC0" offset="0x00" address-space="data" caption="Timer/Counter, 8-bit"/>
          </instance>
        </module>
        <module name="WDT">
          <instance name="WDT" caption="Watchdog Timer">
            <register-group name="WDT" name-in-module="WDT" offset="0x00" address-space="data" caption="Watchdog Timer"/>
          </instance>
        </module>
        <module name="CPU">
          <instance name="CPU" caption="CPU Registers">
            <register-group name="CPU" name-in-module="CPU" offset="0x00" address-space="data" caption="CPU Registers"/>
          </instance>
        </module>
        <module name="FUSE">
          <instance name="FUSE" caption="Fuses">
            <register-group name="FUSE" name-in-module="FUSE" offset="0" address-space="fuses" caption="Fuses"/>
          </instance>
        </module>
        <module name="LOCKBIT">
          <instance name="LOCKBIT" caption="Lockbits">
            <register-group name="LOCKBIT" name-in-module="LOCKBIT" offset="0" address-space="lockbits" caption="Lockbits"/>
          </instance>
        </module>
      </peripherals>


      <interrupts>
        <interrupt index="0" name="RESET" caption="External Reset, Power-on Reset and Watchdog Reset"/>
        <interrupt index="1" name="INT0" caption="External Interrupt 0"/>
        <interrupt index="2" name="IO_PINS" caption="External Interrupt Request 0"/>
        <interrupt index="3" name="TIMER0_OVF" caption="Timer/Counter0 Overflow"/>
        <interrupt index="4" name="ANA_COMP" caption="Analog Comparator"/>
      </interrupts>
      <interfaces>
        <interface name="HVSP" type="hvsp"/>
      </interfaces>
      <property-groups>
        <property-group name="SIGNATURES">
          <property name="SIGNATURE0" value="0x1e"/>
          <property name="SIGNATURE1" value="0x90"/>
          <property name="SIGNATURE2" value="0x04"/>
        </property-group>
        <property-group name="HVSP_INTERFACE">
          <property name="HvspControlStack" value="0x4C 0x0C 0x1C 0x2C 0x3C 0x64 0x74 0x00 0x68 0x78 0x68 0x68 0x00 0x00 0x68 0x78 0x78 0x00 0x6D 0x0C 0x80 0x40 0x20 0x10 0x11 0x08 0x04 0x02 0x03 0x08 0x04 0x00"/>
          <property name="HvspEnterProgMode_stabDelay" value="100"/>
          <property name="HvspEnterProgMode_cmdexeDelay" value="0"/>
          <property name="HvspEnterProgMode_synchCycles" value="6"/>
          <property name="HvspEnterProgMode_latchCycles" value="1"/>
          <property name="HvspEnterProgMode_toggleVtg" value="1"/>
          <property name="HvspEnterProgMode_powoffDelay" value="25"/>
          <property name="HvspEnterProgMode_resetDelay1" value="1"/>
          <property name="HvspEnterProgMode_resetDelay2" value="0"/>
          <property name="HvspLeaveProgMode_stabDelay" value="100"/>
          <property name="HvspLeaveProgMode_resetDelay" value="25"/>
          <property name="HvspChipErase_pollTimeout" value="40"/>
          <property name="HvspChipErase_eraseTime" value="0"/>
          <property name="HvspProgramFlash_mode" value="0"/>
          <property name="HvspProgramFlash_blockSize" value="256"/>
          <property name="HvspProgramFlash_pollTimeout" value="3"/>
          <property name="HvspReadFlash_blockSize" value="256"/>
          <property name="HvspProgramEeprom_mode" value="0"/>
          <property name="HvspProgramEeprom_blockSize" value="256"/>
          <property name="HvspProgramEeprom_pollTimeout" value="5"/>
          <property name="HvspReadEeprom_blockSize" value="256"/>
          <property name="HvspProgramFuse_pollTimeout" value="25"/>
          <property name="HvspProgramLock_pollTimeout" value="25"/>
        </property-group>
        <property-group name="HVSP_INTERFACE_STK600">
          <property name="HvspControlStack" value="0x4C 0x0C 0x1C 0x2C 0x3C 0x64 0x74 0x00 0x68 0x78 0x68 0x68 0x00 0x00 0x68 0x78 0x78 0x00 0x6D 0x0C 0x80 0x40 0x20 0x10 0x11 0x08 0x04 0x02 0x03 0x08 0x04 0x00"/>
          <property name="HvspEnterProgMode_stabDelay" value="100"/>
          <property name="HvspEnterProgMode_cmdexeDelay" value="0"/>
          <property name="HvspEnterProgMode_synchCycles" value="6"/>
          <property name="HvspEnterProgMode_latchCycles" value="1"/>
          <property name="HvspEnterProgMode_toggleVtg" value="1"/>
          <property name="HvspEnterProgMode_powoffDelay" value="20"/>
          <property name="HvspEnterProgMode_resetDelay1" value="0"/>
          <property name="HvspEnterProgMode_resetDelay2" value="50"/>
          <property name="HvspLeaveProgMode_stabDelay" value="100"/>
          <property name="HvspLeaveProgMode_resetDelay" value="25"/>
          <property name="HvspChipErase_pollTimeout" value="40"/>
          <property name="HvspChipErase_eraseTime" value="0"/>
          <property name="HvspProgramFlash_mode" value="0"/>
          <property name="HvspProgramFlash_blockSize" value="32"/>
          <property name="HvspProgramFlash_pollTimeout" value="3"/>
          <property name="HvspReadFlash_blockSize" value="256"/>
          <property name="HvspProgramEeprom_mode" value="0"/>
          <property name="HvspProgramEeprom_blockSize" value="256"/>
          <property name="HvspProgramEeprom_pollTimeout" value="5"/>
          <property name="HvspReadEeprom_blockSize" value="256"/>
          <property name="HvspProgramFuse_pollTimeout" value="25"/>
          <property name="HvspProgramLock_pollTimeout" value="25"/>
        </property-group>
      </property-groups>
    </device>
  </devices>
  <modules>
    <module caption="Fuses" name="FUSE">
      <register-group caption="Fuses" name="FUSE">
        <register caption="" name="LOW" offset="0x00" size="1" initval="0xF4">
          <bitfield caption="Short start-up time selected" mask="0x10" name="FSTRT"/>
          <bitfield caption="External reset function of PB5 disabled" mask="0x08" name="RSTDISBL"/>
          <bitfield caption="Clock Select" mask="0x07" name="CKSEL" values="ENUM_SUT_CKSEL"/>
        </register>
      </register-group>
      <value-group caption="" name="ENUM_SUT_CKSEL">
        <value caption="External Crystal / Ceramic Resonator" name="EXTXTALCRES" value="0x07"/>
        <value caption="External Low-frequency Crystal" name="EXTLOFXTAL" value="0x06"/>
        <value caption="External RC Oscillator" name="EXTRCOSC" value="0x05"/>
        <value caption="Internal RC Oscillator" name="INTRCOSC" value="0x04"/>
        <value caption="External Clock" name="EXTCLK" value="0x00"/>
      </value-group>
    </module>
    <module caption="Lockbits" name="LOCKBIT">
      <register-group caption="Lockbits" name="LOCKBIT">
        <register caption="" name="LOCKBIT" offset="0x00" size="1">
          <bitfield caption="Memory Lock" mask="0x06" name="LB" values="ENUM_LB"/>
        </register>
      </register-group>
      <value-group caption="" name="ENUM_LB">
        <value caption="Further programming and verification disabled" name="PROG_VER_DISABLED" value="0x00"/>
        <value caption="Further programming disabled" name="PROG_DISABLED" value="0x01"/>
        <value caption="No memory lock features enabled" name="NO_LOCK" value="0x03"/>
      </value-group>
    </module>
    <module caption="Analog Comparator" name="AC">
      <register-group caption="Analog Comparator" name="AC">
        <register caption="Analog Comparator Control And Status Register" name="ACSR" offset="0x08" size="1">
          <bitfield caption="Analog Comparator Disable" mask="0x80" name="ACD"/>
          <bitfield caption="Analog Comparator Output" mask="0x20" name="ACO"/>
          <bitfield caption="Analog Comparator Interrupt Flag" mask="0x10" name="ACI"/>
          <bitfield caption="Analog Comparator Interrupt Enable" mask="0x08" name="ACIE"/>
          <bitfield caption="Analog Comparator Interrupt Mode Select bits" mask="0x03" name="ACIS" values="ANALOG_COMP_INTERRUPT"/>
        </register>
      </register-group>
      <value-group caption="" name="ANALOG_COMP_INTERRUPT">
        <value caption="Interrupt on Toggle" name="VAL_0x00" value="0x00"/>
        <value caption="Reserved" name="VAL_0x01" value="0x01"/>
        <value caption="Interrupt on Falling Edge" name="VAL_0x02" value="0x02"/>
        <value caption="Interrupt on Rising Edge" name="VAL_0x03" value="0x03"/>
      </value-group>
    </module>
    <module caption="External Interrupts" name="EXINT">
      <register-group caption="External Interrupts" name="EXINT">
        <register caption="General Interrupt Mask Register" name="GIMSK" offset="0x3B" size="1">
          <bitfield caption="External Interrupt Request 0 Enable" mask="0x40" name="INT0"/>
          <bitfield caption="Pin Change Interrupt Enable" mask="0x20" name="PCIE"/>
        </register>
        <register caption="General Interrupt Flag register" name="GIFR" offset="0x3A" size="1">
          <bitfield caption="External Interrupt Flag 0" mask="0x40" name="INTF0"/>
          <bitfield caption="Pin Change Interrupt Flag" mask="0x20" name="PCIF"/>
        </register>
      </register-group>
    </module>
    <module caption="I/O Port" name="PORT">
      <register-group caption="I/O Port" name="PORTB">
        <register caption="Data Register, Port B" name="PORTB" offset="0x18" size="1" mask="0x1F"/>
        <register caption="Data Direction Register, Port B" name="DDRB" offset="0x17" size="1" mask="0x1F"/>
        <register caption="Input Pins, Port B" name="PINB" offset="0x16" size="1" mask="0x3F"/>
      </register-group>
    </module>
    <module caption="Timer/Counter, 8-bit" name="TC8">
      <register-group caption="Timer/Counter, 8-bit" name="TC0">
        <register caption="Timer/Counter Interrupt Mask Register" name="TIMSK" offset="0x39" size="1">
          <bitfield caption="Timer/Counter0 Overflow Interrupt Enable" mask="0x02" name="TOIE0"/>
        </register>
        <register caption="Timer/Counter Interrupt Flag register" name="TIFR" offset="0x38" size="1">
          <bitfield caption="Timer/Counter0 Overflow Flag" mask="0x02" name="TOV0"/>
        </register>
        <register caption="Timer/Counter0 Control Register" name="TCCR0" offset="0x33" size="1">
          <bitfield caption="Clock Select0 bit 2" mask="0x04" name="CS02" values="CLK_SEL_3BIT_EXT"/>
          <bitfield caption="Clock Select0 bit 1" mask="0x02" name="CS01"/>
          <bitfield caption="Clock Select0 bit 0" mask="0x01" name="CS00"/>
        </register>
        <register caption="Timer Counter 0" name="TCNT0" offset="0x32" size="1" mask="0xFF"/>
      </register-group>
      <value-group caption="" name="CLK_SEL_3BIT_EXT">
        <value caption="No Clock Source (Stopped)" name="VAL_0x00" value="0x00"/>
        <value caption="Running, No Prescaling" name="VAL_0x01" value="0x01"/>
        <value caption="Running, CLK/8" name="VAL_0x02" value="0x02"/>
        <value caption="Running, CLK/64" name="VAL_0x03" value="0x03"/>
        <value caption="Running, CLK/256" name="VAL_0x04" value="0x04"/>
        <value caption="Running, CLK/1024" name="VAL_0x05" value="0x05"/>
        <value caption="Running, ExtClk Tx Falling Edge" name="VAL_0x06" value="0x06"/>
        <value caption="Running, ExtClk Tx Rising Edge" name="VAL_0x07" value="0x07"/>
      </value-group>
    </module>
    <module caption="Watchdog Timer" name="WDT">
      <register-group caption="Watchdog Timer" name="WDT">
        <register caption="Watchdog Timer Control Register" name="WDTCR" offset="0x21" size="1">
          <bitfield caption="RW" mask="0x10" name="WDTOE"/>
          <bitfield caption="Watch Dog Enable" mask="0x08" name="WDE"/>
          <bitfield caption="Watch Dog Timer Prescaler bits" mask="0x07" name="WDP" values="WDOG_TIMER_PRESCALE_3BITS"/>
        </register>
      </register-group>
      <value-group caption="" name="WDOG_TIMER_PRESCALE_3BITS">
        <value caption="Oscillator Cycles 16K" name="VAL_0x00" value="0x00"/>
        <value caption="Oscillator Cycles 32K" name="VAL_0x01" value="0x01"/>
        <value caption="Oscillator Cycles 64K" name="VAL_0x02" value="0x02"/>
        <value caption="Oscillator Cycles 128K" name="VAL_0x03" value="0x03"/>
        <value caption="Oscillator Cycles 256K" name="VAL_0x04" value="0x04"/>
        <value caption="Oscillator Cycles 512K" name="VAL_0x05" value="0x05"/>
        <value caption="Oscillator Cycles 1024K" name="VAL_0x06" value="0x06"/>
        <value caption="Oscillator Cycles 2048K" name="VAL_0x07" value="0x07"/>
      </value-group>
    </module>
    <module caption="CPU Registers" name="CPU">
      <register-group caption="CPU Registers" name="CPU">
        <register caption="Status Register" name="SREG" offset="0x3F" size="1">
          <bitfield caption="Global Interrupt Enable" mask="0x80" name="I"/>
          <bitfield caption="Bit Copy Storage" mask="0x40" name="T"/>
          <bitfield caption="Half Carry Flag" mask="0x20" name="H"/>
          <bitfield caption="Sign Bit" mask="0x10" name="S"/>
          <bitfield caption="Two's Complement Overflow Flag" mask="0x08" name="V"/>
          <bitfield caption="Negative Flag" mask="0x04" name="N"/>
          <bitfield caption="Zero Flag" mask="0x02" name="Z"/>
          <bitfield caption="Carry Flag" mask="0x01" name="C"/>
        </register>
        <register caption="MCU Status register" name="MCUSR" offset="0x34" size="1">
          <bitfield caption="External Reset Flag" mask="0x02" name="EXTRF"/>
          <bitfield caption="Power-On Reset Flag" mask="0x01" name="PORF"/>
        </register>
        <register caption="MCU Control Register" name="MCUCR" offset="0x35" size="1">
          <bitfield caption="Sleep Enable" mask="0x20" name="SE"/>
          <bitfield caption="Sleep Mode" mask="0x10" name="SM" values="CPU_SLEEP_MODE_1BIT"/>
          <bitfield caption="Interrupt Sense Control 0 bits" mask="0x03" name="ISC0" values="INTERRUPT_SENSE_CONTROL2"/>
        </register>
      </register-group>
      <value-group caption="" name="INTERRUPT_SENSE_CONTROL2">
        <value caption="Low Level of INTX" name="VAL_0x00" value="0x00"/>
        <value caption="Any Logical Change in INTX" name="VAL_0x01" value="0x01"/>
        <value caption="Falling Edge of INTX" name="VAL_0x02" value="0x02"/>
        <value caption="Rising Edge of INTX" name="VAL_0x03" value="0x03"/>
      </value-group>
      <value-group caption="" name="CPU_SLEEP_MODE_1BIT">
        <value caption="Idle" name="IDLE" value="0x0"/>
        <value caption="Power Down" name="PDOWN" value="0x1"/>
      </value-group>
      <parameters>
        <param name="CORE_VERSION" value="V0E"/>
      </parameters>
    </module>
  </modules>
</avr-tools-device-file>