RTEMS CPU Kit with SuperCore
4.11.3
Main Page
Related Pages
Modules
+
Data Structures
Data Structures
+
Data Fields
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Files
File List
+
Globals
+
All
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
+
Functions
_
a
b
c
d
e
f
g
i
j
l
m
n
o
p
q
r
s
t
u
v
w
+
Variables
_
b
c
d
i
r
+
Typedefs
a
b
c
d
f
h
i
m
o
p
q
r
s
t
u
w
x
+
Enumerations
b
c
d
e
h
i
m
o
p
r
s
t
w
+
Enumerator
c
i
m
p
r
s
t
w
+
Macros
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
w
mnt
data0
chrisj
rtems
releases
rtems-release.git
4.11.3
ws-rtems
rtems-4.11.3
cpukit
score
cpu
avr
avr
iotn43u.h
Go to the documentation of this file.
1
9
/*
10
* Copyright (c) 2007 Atmel Corporation
11
* All rights reserved.
12
*
13
* Redistribution and use in source and binary forms, with or without
14
* modification, are permitted provided that the following conditions are met:
15
*
16
* * Redistributions of source code must retain the above copyright
17
* notice, this list of conditions and the following disclaimer.
18
*
19
* * Redistributions in binary form must reproduce the above copyright
20
* notice, this list of conditions and the following disclaimer in
21
* the documentation and/or other materials provided with the
22
* distribution.
23
*
24
* * Neither the name of the copyright holders nor the names of
25
* contributors may be used to endorse or promote products derived
26
* from this software without specific prior written permission.
27
*
28
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
32
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
33
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
34
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
35
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
36
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38
* POSSIBILITY OF SUCH DAMAGE.
39
*/
40
41
#ifndef _AVR_IO_H_
42
# error "Include <avr/io.h> instead of this file."
43
#endif
44
45
#ifndef _AVR_IOXXX_H_
46
# define _AVR_IOXXX_H_ "iotn43u.h"
47
#else
48
# error "Attempt to include more than one <avr/ioXXX.h> file."
49
#endif
50
51
52
#ifndef _AVR_IOTN43U_H_
53
#define _AVR_IOTN43U_H_ 1
54
62
/* Registers and associated bit numbers */
63
64
#define PRR _SFR_IO8(0x00)
65
#define PRADC 0
66
#define PRUSI 1
67
#define PRTIM0 2
68
#define PRTIM1 3
69
70
#define DIDR0 _SFR_IO8(0x01)
71
#define ADC0D 0
72
#define ADC1D 1
73
#define ADC2D 2
74
#define ADC3D 3
75
#define AIN0D 4
76
#define AIN1D 5
77
78
/* Reserved [0x02] */
79
80
#define ADCSRB _SFR_IO8(0x03)
81
#define ADTS0 0
82
#define ADTS1 1
83
#define ADTS2 2
84
#define ADLAR 4
85
#define ACME 6
86
87
#define ADC _SFR_IO16(0x04)
88
89
#define ADCL _SFR_IO8(0x04)
90
#define ADCL0 0
91
#define ADCL1 1
92
#define ADCL2 2
93
#define ADCL3 3
94
#define ADCL4 4
95
#define ADCL5 5
96
#define ADCL6 6
97
#define ADCL7 7
98
99
#define ADCH _SFR_IO8(0x05)
100
#define ADCH0 0
101
#define ADCH1 1
102
#define ADCH2 2
103
#define ADCH3 3
104
#define ADCH4 4
105
#define ADCH5 5
106
#define ADCH6 6
107
#define ADCH7 7
108
109
#define ADCSRA _SFR_IO8(0x06)
110
#define ADPS0 0
111
#define ADPS1 1
112
#define ADPS2 2
113
#define ADIE 3
114
#define ADIF 4
115
#define ADATE 5
116
#define ADSC 6
117
#define ADEN 7
118
119
#define ADMUX _SFR_IO8(0x07)
120
#define MUX0 0
121
#define MUX1 1
122
#define MUX2 2
123
#define REFS0 6
124
125
#define ACSR _SFR_IO8(0x08)
126
#define ACIS0 0
127
#define ACIS1 1
128
#define ACIE 3
129
#define ACI 4
130
#define ACO 5
131
#define ACBG 6
132
#define ACD 7
133
134
/* Reserved [0x09], [0x0A] */
135
136
#define TIFR1 _SFR_IO8(0x0B)
137
#define TOV1 0
138
#define OCF1A 1
139
#define OCF1B 2
140
141
#define TIMSK1 _SFR_IO8(0x0C)
142
#define TOIE1 0
143
#define OCIE1A 1
144
#define OCIE1B 2
145
146
#define USICR _SFR_IO8(0x0D)
147
#define USITC 0
148
#define USICLK 1
149
#define USICS0 2
150
#define USICS1 3
151
#define USIWM0 4
152
#define USIWM1 5
153
#define USIOIE 6
154
#define USISIE 7
155
156
#define USISR _SFR_IO8(0x0E)
157
#define USICNT0 0
158
#define USICNT1 1
159
#define USICNT2 2
160
#define USICNT3 3
161
#define USIDC 4
162
#define USIPF 5
163
#define USIOIF 6
164
#define USISIF 7
165
166
#define USIDR _SFR_IO8(0x0F)
167
#define USIDR0 0
168
#define USIDR1 1
169
#define USIDR2 2
170
#define USIDR3 3
171
#define USIDR4 4
172
#define USIDR5 5
173
#define USIDR6 6
174
#define USIDR7 7
175
176
#define USIBR _SFR_IO8(0x10)
177
#define USIBR0 0
178
#define USIBR1 1
179
#define USIBR2 2
180
#define USIBR3 3
181
#define USIBR4 4
182
#define USIBR5 5
183
#define USIBR6 6
184
#define USIBR7 7
185
186
/* Reserved [0x11] */
187
188
#define PCMSK0 _SFR_IO8(0x12)
189
#define PCINT0 0
190
#define PCINT1 1
191
#define PCINT2 2
192
#define PCINT3 3
193
#define PCINT4 4
194
#define PCINT5 5
195
#define PCINT6 6
196
#define PCINT7 7
197
198
#define GPIOR0 _SFR_IO8(0x13)
199
#define GPIOR00 0
200
#define GPIOR01 1
201
#define GPIOR02 2
202
#define GPIOR03 3
203
#define GPIOR04 4
204
#define GPIOR05 5
205
#define GPIOR06 6
206
#define GPIOR07 7
207
208
#define GPIOR1 _SFR_IO8(0x14)
209
#define GPIOR10 0
210
#define GPIOR11 1
211
#define GPIOR12 2
212
#define GPIOR13 3
213
#define GPIOR14 4
214
#define GPIOR15 5
215
#define GPIOR16 6
216
#define GPIOR17 7
217
218
#define GPIOR2 _SFR_IO8(0x15)
219
#define GPIOR20 0
220
#define GPIOR21 1
221
#define GPIOR22 2
222
#define GPIOR23 3
223
#define GPIOR24 4
224
#define GPIOR25 5
225
#define GPIOR26 6
226
#define GPIOR27 7
227
228
#define PINB _SFR_IO8(0x16)
229
#define PINB0 0
230
#define PINB1 1
231
#define PINB2 2
232
#define PINB3 3
233
#define PINB4 4
234
#define PINB5 5
235
#define PINB6 6
236
#define PINB7 7
237
238
#define DDRB _SFR_IO8(0x17)
239
#define DDB0 0
240
#define DDB1 1
241
#define DDB2 2
242
#define DDB3 3
243
#define DDB4 4
244
#define DDB5 5
245
#define DDB6 6
246
#define DDB7 7
247
248
#define PORTB _SFR_IO8(0x18)
249
#define PORTB0 0
250
#define PORTB1 1
251
#define PORTB2 2
252
#define PORTB3 3
253
#define PORTB4 4
254
#define PORTB5 5
255
#define PORTB6 6
256
#define PORTB7 7
257
258
#define PINA _SFR_IO8(0x19)
259
#define PINA0 0
260
#define PINA1 1
261
#define PINA2 2
262
#define PINA3 3
263
#define PINA4 4
264
#define PINA5 5
265
#define PINA6 6
266
#define PINA7 7
267
268
#define DDRA _SFR_IO8(0x1A)
269
#define DDA0 0
270
#define DDA1 1
271
#define DDA2 2
272
#define DDA3 3
273
#define DDA4 4
274
#define DDA5 5
275
#define DDA6 6
276
#define DDA7 7
277
278
#define PORTA _SFR_IO8(0x1B)
279
#define PORTA0 0
280
#define PORTA1 1
281
#define PORTA2 2
282
#define PORTA3 3
283
#define PORTA4 4
284
#define PORTA5 5
285
#define PORTA6 6
286
#define PORTA7 7
287
288
/* EEPROM Control Register */
289
#define EECR _SFR_IO8(0x1C)
290
#define EERE 0
291
#define EEPE 1
292
#define EEMPE 2
293
#define EERIE 3
294
#define EEPM0 4
295
#define EEPM1 5
296
297
/* EEPROM Data Register */
298
#define EEDR _SFR_IO8(0x1D)
299
300
/* EEPROM Address Register */
301
#define EEARL _SFR_IO8(0x1E)
302
303
/* Reserved [0x1F] */
304
305
#define PCMSK1 _SFR_IO8(0x20)
306
#define PCINT8 0
307
#define PCINT9 1
308
#define PCINT10 2
309
#define PCINT11 3
310
311
#define WDTCSR _SFR_IO8(0x21)
312
#define WDP0 0
313
#define WDP1 1
314
#define WDP2 2
315
#define WDE 3
316
#define WDCE 4
317
#define WDP3 5
318
#define WDIE 6
319
#define WDIF 7
320
321
/* Reserved [0x22] */
322
323
#define GTCCR _SFR_IO8(0x23)
324
#define PSR10 0
325
#define TSM 7
326
327
/* Reserved [0x24], [0x25] */
328
329
#define CLKPR _SFR_IO8(0x26)
330
#define CLKPS0 0
331
#define CLKPS1 1
332
#define CLKPS2 2
333
#define CLKPS3 3
334
#define CLKPCE 7
335
336
/* Reserved [0x27],[0x28],[0x29],[0x2A] */
337
338
#define OCR1B _SFR_IO8(0x2B)
339
#define OCR1B_0 0
340
#define OCR1B_1 1
341
#define OCR1B_2 2
342
#define OCR1B_3 3
343
#define OCR1B_4 4
344
#define OCR1B_5 5
345
#define OCR1B_6 6
346
#define OCR1B_7 7
347
348
#define OCR1A _SFR_IO8(0x2C)
349
#define OCR1A_0 0
350
#define OCR1A_1 1
351
#define OCRA1_2 2
352
#define OCRA1_3 3
353
#define OCRA1_4 4
354
#define OCRA1_5 5
355
#define OCRA1_6 6
356
#define OCRA1_7 7
357
358
#define TCNT1 _SFR_IO8(0x2D)
359
#define TCNT1_0 0
360
#define TCNT1_1 1
361
#define TCNT1_2 2
362
#define TCNT1_3 3
363
#define TCNT1_4 4
364
#define TCNT1_5 5
365
#define TCNT1_6 6
366
#define TCNT1_7 7
367
368
#define TCCR1B _SFR_IO8(0x2E)
369
#define CS10 0
370
#define CS11 1
371
#define CS12 2
372
#define WGM12 3
373
#define FOC1B 6
374
#define FOC1A 7
375
376
#define TCCR1A _SFR_IO8(0x2F)
377
#define WGM10 0
378
#define WGM11 1
379
#define COM1B0 4
380
#define COM1B1 5
381
#define COM1A0 6
382
#define COM1A1 7
383
384
#define TCCR0A _SFR_IO8(0x30)
385
#define WGM00 0
386
#define WGM01 1
387
#define COM0B0 4
388
#define COM0B1 5
389
#define COM0A0 6
390
#define COM0A1 7
391
392
#define OSCCAL _SFR_IO8(0x31)
393
#define CAL0 0
394
#define CAL1 1
395
#define CAL2 2
396
#define CAL3 3
397
#define CAL4 4
398
#define CAL5 5
399
#define CAL6 6
400
#define CAL7 7
401
402
#define TCNT0 _SFR_IO8(0x32)
403
#define TCNT0_0 0
404
#define TCNT0_1 1
405
#define TCNT0_2 2
406
#define TCNT0_3 3
407
#define TCNT0_4 4
408
#define TCNT0_5 5
409
#define TCNT0_6 6
410
#define TCNT0_7 7
411
412
#define TCCR0B _SFR_IO8(0x33)
413
#define CS00 0
414
#define CS01 1
415
#define CS02 2
416
#define WGM02 3
417
#define FOC0B 6
418
#define FOC0A 7
419
420
#define MCUSR _SFR_IO8(0x34)
421
#define PORF 0
422
#define EXTRF 1
423
#define BORF 2
424
#define WDRF 3
425
426
#define MCUCR _SFR_IO8(0x35)
427
#define ISC00 0
428
#define ISC01 1
429
#define BODSE 2
430
#define SM0 3
431
#define SM1 4
432
#define SE 5
433
#define PUD 6
434
#define BODS 7
435
436
#define OCR0A _SFR_IO8(0x36)
437
#define OCR0A_0 0
438
#define OCR0A_1 1
439
#define OCR0A_2 2
440
#define OCR0A_3 3
441
#define OCR0A_4 4
442
#define OCR0A_5 5
443
#define OCR0A_6 6
444
#define OCR0A_7 7
445
446
#define SPMCSR _SFR_IO8(0x37)
447
#define SPMEN 0
448
#define PGERS 1
449
#define PGWRT 2
450
#define RFLB 3
451
#define CTPB 4
452
453
#define TIFR0 _SFR_IO8(0x38)
454
#define TOV0 0
455
#define OCF0A 1
456
#define OCF0B 2
457
458
#define TIMSK0 _SFR_IO8(0x39)
459
#define TOIE0 0
460
#define OCIE0A 1
461
#define OCIE0B 2
462
463
#define GIFR _SFR_IO8(0x3A)
464
#define PCIF0 4
465
#define PCIF1 5
466
#define INTF0 6
467
468
#define GIMSK _SFR_IO8(0x3B)
469
#define PCIE0 4
470
#define PCIE1 5
471
#define INT0 6
472
473
#define OCR0B _SFR_IO8(0x3C)
474
#define OCR0B_0 0
475
#define OCR0B_1 1
476
#define OCR0B_2 2
477
#define OCR0B_3 3
478
#define OCR0B_4 4
479
#define OCR0B_5 5
480
#define OCR0B_6 6
481
#define OCR0B_7 7
482
483
484
485
/* Interrupt Vectors */
486
/* Interrupt vector 0 is the reset vector. */
487
488
/* External Interrupt Request 0 */
489
#define INT0_vect _VECTOR(1)
490
491
/* Pin Change Interrupt Request 0 */
492
#define PCINT0_vect _VECTOR(2)
493
494
/* Pin Change Interrupt Request 1 */
495
#define PCINT1_vect _VECTOR(3)
496
497
/* Watchdog Time-out */
498
#define WDT_vect _VECTOR(4)
499
500
/* Timer/Counter1 Compare Match A */
501
#define TIM1_COMPA_vect _VECTOR(5)
502
503
/* Timer/Counter1 Compare Match B */
504
#define TIM1_COMPB_vect _VECTOR(6)
505
506
/* Timer/Counter1 Overflow */
507
#define TIM1_OVF_vect _VECTOR(7)
508
509
/* Timer/Counter0 Compare Match A */
510
#define TIM0_COMPA_vect _VECTOR(8)
511
512
/* Timer/Counter0 Compare Match B */
513
#define TIM0_COMPB_vect _VECTOR(9)
514
515
/* Timer/Counter0 Overflow */
516
#define TIM0_OVF_vect _VECTOR(10)
517
518
/* Analog Comparator */
519
#define ANA_COMP_vect _VECTOR(11)
520
521
/* ADC Conversion Complete */
522
#define ADC_vect _VECTOR(12)
523
524
/* EEPROM Ready */
525
#define EE_RDY_vect _VECTOR(13)
526
527
/* USI START */
528
#define USI_START_vect _VECTOR(14)
529
530
/* USI Overflow */
531
#define USI_OVF_vect _VECTOR(15)
532
533
#define _VECTORS_SIZE 32
534
535
536
/* Constants */
537
#define SPM_PAGESIZE 64
538
#define RAMEND 0x15F
539
#define XRAMEND RAMEND
540
#define E2END 0x3F
541
#define E2PAGESIZE 4
542
#define FLASHEND 0xFFF
543
544
545
/* Fuse Information */
546
#define FUSE_MEMORY_SIZE 3
547
548
/* Low Fuse Byte */
549
#define FUSE_CKSEL0 (unsigned char)~_BV(0)
550
#define FUSE_CKSEL1 (unsigned char)~_BV(1)
551
#define FUSE_CKSEL2 (unsigned char)~_BV(2)
552
#define FUSE_CKSEL3 (unsigned char)~_BV(3)
553
#define FUSE_SUT0 (unsigned char)~_BV(4)
554
#define FUSE_SUT1 (unsigned char)~_BV(5)
555
#define FUSE_CKOUT (unsigned char)~_BV(6)
556
#define FUSE_CKDIV8 (unsigned char)~_BV(7)
557
#define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & FUSE_SUT0 & FUSE_CKDIV8)
558
559
/* High Fuse Byte */
560
#define FUSE_BODLEVEL0 (unsigned char)~_BV(0)
561
#define FUSE_BODLEVEL1 (unsigned char)~_BV(1)
562
#define FUSE_BODLEVEL2 (unsigned char)~_BV(2)
563
#define FUSE_EESAVE (unsigned char)~_BV(3)
564
#define FUSE_WDTON (unsigned char)~_BV(4)
565
#define FUSE_SPIEN (unsigned char)~_BV(5)
566
#define FUSE_DWEN (unsigned char)~_BV(6)
567
#define FUSE_RSTDISBL (unsigned char)~_BV(7)
568
#define HFUSE_DEFAULT (FUSE_SPIEN)
569
570
/* Extended Fuse Byte */
571
#define FUSE_SELFPRGEN (unsigned char)~_BV(0)
572
#define EFUSE_DEFAULT (0xFF)
573
574
575
/* Lock Bits */
576
#define __LOCK_BITS_EXIST
577
578
579
/* Signature */
580
#define SIGNATURE_0 0x1E
581
#define SIGNATURE_1 0x92
582
#define SIGNATURE_2 0x0C
583
584
586
#endif
/* _AVR_IOTN43U_H_ */
Generated by
1.8.13