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
io4434.h
Go to the documentation of this file.
1
9
/*
10
* Copyright (c) 2002 Marek Michalkiewicz
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_IO4434_H_
42
#define _AVR_IO4434_H_ 1
43
51
#ifndef _AVR_IO_H_
52
# error "Include <avr/io.h> instead of this file."
53
#endif
54
55
#ifndef _AVR_IOXXX_H_
56
# define _AVR_IOXXX_H_ "io4434.h"
57
#else
58
# error "Attempt to include more than one <avr/ioXXX.h> file."
59
#endif
60
61
/* I/O registers */
62
63
/* ADC Data register */
64
#ifndef __ASSEMBLER__
65
#define ADC _SFR_IO16(0x04)
66
#endif
67
#define ADCW _SFR_IO16(0x04)
68
#define ADCL _SFR_IO8(0x04)
69
#define ADCH _SFR_IO8(0x05)
70
71
/* ADC Control and Status Register */
72
#define ADCSR _SFR_IO8(0x06)
73
74
/* ADC MUX */
75
#define ADMUX _SFR_IO8(0x07)
76
77
/* Analog Comparator Control and Status Register */
78
#define ACSR _SFR_IO8(0x08)
79
80
/* UART Baud Rate Register */
81
#define UBRR _SFR_IO8(0x09)
82
83
/* UART Control Register */
84
#define UCR _SFR_IO8(0x0A)
85
86
/* UART Status Register */
87
#define USR _SFR_IO8(0x0B)
88
89
/* UART I/O Data Register */
90
#define UDR _SFR_IO8(0x0C)
91
92
/* SPI Control Register */
93
#define SPCR _SFR_IO8(0x0D)
94
95
/* SPI Status Register */
96
#define SPSR _SFR_IO8(0x0E)
97
98
/* SPI I/O Data Register */
99
#define SPDR _SFR_IO8(0x0F)
100
101
/* Input Pins, Port D */
102
#define PIND _SFR_IO8(0x10)
103
104
/* Data Direction Register, Port D */
105
#define DDRD _SFR_IO8(0x11)
106
107
/* Data Register, Port D */
108
#define PORTD _SFR_IO8(0x12)
109
110
/* Input Pins, Port C */
111
#define PINC _SFR_IO8(0x13)
112
113
/* Data Direction Register, Port C */
114
#define DDRC _SFR_IO8(0x14)
115
116
/* Data Register, Port C */
117
#define PORTC _SFR_IO8(0x15)
118
119
/* Input Pins, Port B */
120
#define PINB _SFR_IO8(0x16)
121
122
/* Data Direction Register, Port B */
123
#define DDRB _SFR_IO8(0x17)
124
125
/* Data Register, Port B */
126
#define PORTB _SFR_IO8(0x18)
127
128
/* Input Pins, Port A */
129
#define PINA _SFR_IO8(0x19)
130
131
/* Data Direction Register, Port A */
132
#define DDRA _SFR_IO8(0x1A)
133
134
/* Data Register, Port A */
135
#define PORTA _SFR_IO8(0x1B)
136
137
/* EEPROM Control Register */
138
#define EECR _SFR_IO8(0x1C)
139
140
/* EEPROM Data Register */
141
#define EEDR _SFR_IO8(0x1D)
142
143
/* EEPROM Address Register */
144
#define EEAR _SFR_IO8(0x1E)
145
#define EEARL _SFR_IO8(0x1E)
146
147
/* Watchdog Timer Control Register */
148
#define WDTCR _SFR_IO8(0x21)
149
150
/* Asynchronous mode Status Register */
151
#define ASSR _SFR_IO8(0x22)
152
153
/* Timer/Counter2 Output Compare Register */
154
#define OCR2 _SFR_IO8(0x23)
155
156
/* Timer/Counter 2 */
157
#define TCNT2 _SFR_IO8(0x24)
158
159
/* Timer/Counter 2 Control Register */
160
#define TCCR2 _SFR_IO8(0x25)
161
162
/* T/C 1 Input Capture Register */
163
#define ICR1 _SFR_IO16(0x26)
164
#define ICR1L _SFR_IO8(0x26)
165
#define ICR1H _SFR_IO8(0x27)
166
167
/* Timer/Counter1 Output Compare Register B */
168
#define OCR1B _SFR_IO16(0x28)
169
#define OCR1BL _SFR_IO8(0x28)
170
#define OCR1BH _SFR_IO8(0x29)
171
172
/* Timer/Counter1 Output Compare Register A */
173
#define OCR1A _SFR_IO16(0x2A)
174
#define OCR1AL _SFR_IO8(0x2A)
175
#define OCR1AH _SFR_IO8(0x2B)
176
177
/* Timer/Counter 1 */
178
#define TCNT1 _SFR_IO16(0x2C)
179
#define TCNT1L _SFR_IO8(0x2C)
180
#define TCNT1H _SFR_IO8(0x2D)
181
182
/* Timer/Counter 1 Control and Status Register */
183
#define TCCR1B _SFR_IO8(0x2E)
184
185
/* Timer/Counter 1 Control Register */
186
#define TCCR1A _SFR_IO8(0x2F)
187
188
/* Timer/Counter 0 */
189
#define TCNT0 _SFR_IO8(0x32)
190
191
/* Timer/Counter 0 Control Register */
192
#define TCCR0 _SFR_IO8(0x33)
193
194
/* MCU general Status Register */
195
#define MCUSR _SFR_IO8(0x34)
196
197
/* MCU general Control Register */
198
#define MCUCR _SFR_IO8(0x35)
199
200
/* Timer/Counter Interrupt Flag register */
201
#define TIFR _SFR_IO8(0x38)
202
203
/* Timer/Counter Interrupt MaSK register */
204
#define TIMSK _SFR_IO8(0x39)
205
206
/* General Interrupt Flag Register */
207
#define GIFR _SFR_IO8(0x3A)
208
209
/* General Interrupt MaSK register */
210
#define GIMSK _SFR_IO8(0x3B)
211
212
/* 0x3D..0x3E SP */
213
214
/* 0x3F SREG */
215
216
/* Interrupt vectors */
217
218
/* External Interrupt 0 */
219
#define INT0_vect _VECTOR(1)
220
#define SIG_INTERRUPT0 _VECTOR(1)
221
222
/* External Interrupt 1 */
223
#define INT1_vect _VECTOR(2)
224
#define SIG_INTERRUPT1 _VECTOR(2)
225
226
/* Timer/Counter2 Compare Match */
227
#define TIMER2_COMP_vect _VECTOR(3)
228
#define SIG_OUTPUT_COMPARE2 _VECTOR(3)
229
230
/* Timer/Counter2 Overflow */
231
#define TIMER2_OVF_vect _VECTOR(4)
232
#define SIG_OVERFLOW2 _VECTOR(4)
233
234
/* Timer/Counter1 Capture Event */
235
#define TIMER1_CAPT_vect _VECTOR(5)
236
#define SIG_INPUT_CAPTURE1 _VECTOR(5)
237
238
/* Timer/Counter1 Compare Match A */
239
#define TIMER1_COMPA_vect _VECTOR(6)
240
#define SIG_OUTPUT_COMPARE1A _VECTOR(6)
241
242
/* Timer/Counter1 Compare Match B */
243
#define TIMER1_COMPB_vect _VECTOR(7)
244
#define SIG_OUTPUT_COMPARE1B _VECTOR(7)
245
246
/* Timer/Counter1 Overflow */
247
#define TIMER1_OVF_vect _VECTOR(8)
248
#define SIG_OVERFLOW1 _VECTOR(8)
249
250
/* Timer/Counter0 Overflow */
251
#define TIMER0_OVF_vect _VECTOR(9)
252
#define SIG_OVERFLOW0 _VECTOR(9)
253
254
/* SPI Serial Transfer Complete */
255
#define SPI_STC_vect _VECTOR(10)
256
#define SIG_SPI _VECTOR(10)
257
258
/* UART, RX Complete */
259
#define UART_RX_vect _VECTOR(11)
260
#define SIG_UART_RECV _VECTOR(11)
261
262
/* UART Data Register Empty */
263
#define UART_UDRE_vect _VECTOR(12)
264
#define SIG_UART_DATA _VECTOR(12)
265
266
/* UART, TX Complete */
267
#define UART_TX_vect _VECTOR(13)
268
#define SIG_UART_TRANS _VECTOR(13)
269
270
/* ADC Conversion Complete */
271
#define ADC_vect _VECTOR(14)
272
#define SIG_ADC _VECTOR(14)
273
274
/* EEPROM Ready */
275
#define EE_RDY_vect _VECTOR(15)
276
#define SIG_EEPROM_READY _VECTOR(15)
277
278
/* Analog Comparator */
279
#define ANA_COMP_vect _VECTOR(16)
280
#define SIG_COMPARATOR _VECTOR(16)
281
282
#define _VECTORS_SIZE 34
283
284
/*
285
The Register Bit names are represented by their bit number (0-7).
286
*/
287
288
/* MCU general Status Register */
289
#define EXTRF 1
290
#define PORF 0
291
292
/* General Interrupt MaSK register */
293
#define INT1 7
294
#define INT0 6
295
296
/* General Interrupt Flag Register */
297
#define INTF1 7
298
#define INTF0 6
299
300
/* Timer/Counter Interrupt MaSK register */
301
#define OCIE2 7
302
#define TOIE2 6
303
#define TICIE1 5
304
#define OCIE1A 4
305
#define OCIE1B 3
306
#define TOIE1 2
307
#define TOIE0 0
308
309
/* Timer/Counter Interrupt Flag register */
310
#define OCF2 7
311
#define TOV2 6
312
#define ICF1 5
313
#define OCF1A 4
314
#define OCF1B 3
315
#define TOV1 2
316
#define TOV0 0
317
318
/* MCU general Control Register */
319
#define SE 6
320
#define SM1 5
321
#define SM0 4
322
#define ISC11 3
323
#define ISC10 2
324
#define ISC01 1
325
#define ISC00 0
326
327
/* Timer/Counter 0 Control Register */
328
#define CS02 2
329
#define CS01 1
330
#define CS00 0
331
332
/* Timer/Counter 1 Control Register */
333
#define COM1A1 7
334
#define COM1A0 6
335
#define COM1B1 5
336
#define COM1B0 4
337
#define PWM11 1
338
#define PWM10 0
339
340
/* Timer/Counter 1 Control and Status Register */
341
#define ICNC1 7
342
#define ICES1 6
343
#define CTC1 3
344
#define CS12 2
345
#define CS11 1
346
#define CS10 0
347
348
/* Timer/Counter 2 Control Register */
349
#define PWM2 6
350
#define COM21 5
351
#define COM20 4
352
#define CTC2 3
353
#define CS22 2
354
#define CS21 1
355
#define CS20 0
356
357
/* Asynchronous mode Status Register */
358
#define AS2 3
359
#define TCN2UB 2
360
#define OCR2UB 1
361
#define TCR2UB 0
362
363
/* Watchdog Timer Control Register */
364
#define WDTOE 4
365
#define WDE 3
366
#define WDP2 2
367
#define WDP1 1
368
#define WDP0 0
369
370
/* Data Register, Port A */
371
#define PA7 7
372
#define PA6 6
373
#define PA5 5
374
#define PA4 4
375
#define PA3 3
376
#define PA2 2
377
#define PA1 1
378
#define PA0 0
379
380
/* Data Direction Register, Port A */
381
#define DDA7 7
382
#define DDA6 6
383
#define DDA5 5
384
#define DDA4 4
385
#define DDA3 3
386
#define DDA2 2
387
#define DDA1 1
388
#define DDA0 0
389
390
/* Input Pins, Port A */
391
#define PINA7 7
392
#define PINA6 6
393
#define PINA5 5
394
#define PINA4 4
395
#define PINA3 3
396
#define PINA2 2
397
#define PINA1 1
398
#define PINA0 0
399
400
/* Data Register, Port B */
401
#define PB7 7
402
#define PB6 6
403
#define PB5 5
404
#define PB4 4
405
#define PB3 3
406
#define PB2 2
407
#define PB1 1
408
#define PB0 0
409
410
/* Data Direction Register, Port B */
411
#define DDB7 7
412
#define DDB6 6
413
#define DDB5 5
414
#define DDB4 4
415
#define DDB3 3
416
#define DDB2 2
417
#define DDB1 1
418
#define DDB0 0
419
420
/* Input Pins, Port B */
421
#define PINB7 7
422
#define PINB6 6
423
#define PINB5 5
424
#define PINB4 4
425
#define PINB3 3
426
#define PINB2 2
427
#define PINB1 1
428
#define PINB0 0
429
430
/* Data Register, Port C */
431
#define PC7 7
432
#define PC6 6
433
#define PC5 5
434
#define PC4 4
435
#define PC3 3
436
#define PC2 2
437
#define PC1 1
438
#define PC0 0
439
440
/* Data Direction Register, Port C */
441
#define DDC7 7
442
#define DDC6 6
443
#define DDC5 5
444
#define DDC4 4
445
#define DDC3 3
446
#define DDC2 2
447
#define DDC1 1
448
#define DDC0 0
449
450
/* Input Pins, Port C */
451
#define PINC7 7
452
#define PINC6 6
453
#define PINC5 5
454
#define PINC4 4
455
#define PINC3 3
456
#define PINC2 2
457
#define PINC1 1
458
#define PINC0 0
459
460
/* Data Register, Port D */
461
#define PD7 7
462
#define PD6 6
463
#define PD5 5
464
#define PD4 4
465
#define PD3 3
466
#define PD2 2
467
#define PD1 1
468
#define PD0 0
469
470
/* Data Direction Register, Port D */
471
#define DDD7 7
472
#define DDD6 6
473
#define DDD5 5
474
#define DDD4 4
475
#define DDD3 3
476
#define DDD2 2
477
#define DDD1 1
478
#define DDD0 0
479
480
/* Input Pins, Port D */
481
#define PIND7 7
482
#define PIND6 6
483
#define PIND5 5
484
#define PIND4 4
485
#define PIND3 3
486
#define PIND2 2
487
#define PIND1 1
488
#define PIND0 0
489
490
/* SPI Control Register */
491
#define SPIE 7
492
#define SPE 6
493
#define DORD 5
494
#define MSTR 4
495
#define CPOL 3
496
#define CPHA 2
497
#define SPR1 1
498
#define SPR0 0
499
500
/* SPI Status Register */
501
#define SPIF 7
502
#define WCOL 6
503
504
/* UART Status Register */
505
#define RXC 7
506
#define TXC 6
507
#define UDRE 5
508
#define FE 4
509
#define DOR 3
510
511
/* UART Control Register */
512
#define RXCIE 7
513
#define TXCIE 6
514
#define UDRIE 5
515
#define RXEN 4
516
#define TXEN 3
517
#define CHR9 2
518
#define RXB8 1
519
#define TXB8 0
520
521
/* Analog Comparator Control and Status Register */
522
#define ACD 7
523
#define ACO 5
524
#define ACI 4
525
#define ACIE 3
526
#define ACIC 2
527
#define ACIS1 1
528
#define ACIS0 0
529
530
/* ADC MUX */
531
#define MUX2 2
532
#define MUX1 1
533
#define MUX0 0
534
535
/* ADC Control and Status Register */
536
#define ADEN 7
537
#define ADSC 6
538
#define ADFR 5
539
#define ADIF 4
540
#define ADIE 3
541
#define ADPS2 2
542
#define ADPS1 1
543
#define ADPS0 0
544
545
/* EEPROM Control Register */
546
#define EERIE 3
547
#define EEMWE 2
548
#define EEWE 1
549
#define EERE 0
550
551
/* Constants */
552
#define RAMEND 0x15F
/*Last On-Chip SRAM location*/
553
#define XRAMEND RAMEND
554
#define E2END 0xFF
555
#define E2PAGESIZE 0
556
#define FLASHEND 0xFFF
557
558
559
/* Fuses */
560
#define FUSE_MEMORY_SIZE 1
561
562
/* Low Fuse Byte */
563
#define FUSE_SPIEN ~_BV(1)
/* Serial Program Downloading Enabled */
564
#define FUSE_FSTRT ~_BV(2)
/* Short Start-up time selected */
565
#define LFUSE_DEFAULT (0xFF)
566
567
568
/* Lock Bits */
569
#define __LOCK_BITS_EXIST
570
571
572
/* Signature */
573
#define SIGNATURE_0 0x1E
574
#define SIGNATURE_1 0x93
575
#define SIGNATURE_2 0x03
576
578
#endif
/* _AVR_IO4434_H_ */
Generated by
1.8.13