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
io4433.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_IO4433_H_
42
#define _AVR_IO4433_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_ "io4433.h"
57
#else
58
# error "Attempt to include more than one <avr/ioXXX.h> file."
59
#endif
60
61
/* I/O registers */
62
63
/* UART Baud Rate Register high */
64
#define UBRRH _SFR_IO8(0x03)
65
66
/* ADC Data register */
67
#ifndef __ASSEMBLER__
68
#define ADC _SFR_IO16(0x04)
69
#endif
70
#define ADCW _SFR_IO16(0x04)
71
#define ADCL _SFR_IO8(0x04)
72
#define ADCH _SFR_IO8(0x05)
73
74
/* ADC Control and Status Register */
75
#define ADCSR _SFR_IO8(0x06)
76
77
/* ADC MUX */
78
#define ADMUX _SFR_IO8(0x07)
79
80
/* Analog Comparator Control and Status Register */
81
#define ACSR _SFR_IO8(0x08)
82
83
/* UART Baud Rate Register */
84
#define UBRR _SFR_IO8(0x09)
85
86
/* UART Control/Status Registers */
87
#define UCSRB _SFR_IO8(0x0A)
88
#define UCSRA _SFR_IO8(0x0B)
89
90
/* UART I/O Data Register */
91
#define UDR _SFR_IO8(0x0C)
92
93
/* SPI Control Register */
94
#define SPCR _SFR_IO8(0x0D)
95
96
/* SPI Status Register */
97
#define SPSR _SFR_IO8(0x0E)
98
99
/* SPI I/O Data Register */
100
#define SPDR _SFR_IO8(0x0F)
101
102
/* Input Pins, Port D */
103
#define PIND _SFR_IO8(0x10)
104
105
/* Data Direction Register, Port D */
106
#define DDRD _SFR_IO8(0x11)
107
108
/* Data Register, Port D */
109
#define PORTD _SFR_IO8(0x12)
110
111
/* Input Pins, Port C */
112
#define PINC _SFR_IO8(0x13)
113
114
/* Data Direction Register, Port C */
115
#define DDRC _SFR_IO8(0x14)
116
117
/* Data Register, Port C */
118
#define PORTC _SFR_IO8(0x15)
119
120
/* Input Pins, Port B */
121
#define PINB _SFR_IO8(0x16)
122
123
/* Data Direction Register, Port B */
124
#define DDRB _SFR_IO8(0x17)
125
126
/* Data Register, Port B */
127
#define PORTB _SFR_IO8(0x18)
128
129
/* EEPROM Control Register */
130
#define EECR _SFR_IO8(0x1C)
131
132
/* EEPROM Data Register */
133
#define EEDR _SFR_IO8(0x1D)
134
135
/* EEPROM Address Register */
136
#define EEAR _SFR_IO8(0x1E)
137
#define EEARL _SFR_IO8(0x1E)
138
139
/* Watchdog Timer Control Register */
140
#define WDTCR _SFR_IO8(0x21)
141
142
/* T/C 1 Input Capture Register */
143
#define ICR1 _SFR_IO16(0x26)
144
#define ICR1L _SFR_IO8(0x26)
145
#define ICR1H _SFR_IO8(0x27)
146
147
/* Timer/Counter1 Output Compare Register A */
148
#define OCR1 _SFR_IO16(0x2A)
149
#define OCR1L _SFR_IO8(0x2A)
150
#define OCR1H _SFR_IO8(0x2B)
151
152
/* Timer/Counter 1 */
153
#define TCNT1 _SFR_IO16(0x2C)
154
#define TCNT1L _SFR_IO8(0x2C)
155
#define TCNT1H _SFR_IO8(0x2D)
156
157
/* Timer/Counter 1 Control and Status Register */
158
#define TCCR1B _SFR_IO8(0x2E)
159
160
/* Timer/Counter 1 Control Register */
161
#define TCCR1A _SFR_IO8(0x2F)
162
163
/* Timer/Counter 0 */
164
#define TCNT0 _SFR_IO8(0x32)
165
166
/* Timer/Counter 0 Control Register */
167
#define TCCR0 _SFR_IO8(0x33)
168
169
/* MCU general Status Register */
170
#define MCUSR _SFR_IO8(0x34)
171
172
/* MCU general Control Register */
173
#define MCUCR _SFR_IO8(0x35)
174
175
/* Timer/Counter Interrupt Flag register */
176
#define TIFR _SFR_IO8(0x38)
177
178
/* Timer/Counter Interrupt MaSK register */
179
#define TIMSK _SFR_IO8(0x39)
180
181
/* General Interrupt Flag Register */
182
#define GIFR _SFR_IO8(0x3A)
183
184
/* General Interrupt MaSK register */
185
#define GIMSK _SFR_IO8(0x3B)
186
187
/* 0x3D..0x3E SP */
188
189
/* 0x3F SREG */
190
191
/* Interrupt vectors */
192
193
/* External Interrupt 0 */
194
#define INT0_vect _VECTOR(1)
195
#define SIG_INTERRUPT0 _VECTOR(1)
196
197
/* External Interrupt 1 */
198
#define INT1_vect _VECTOR(2)
199
#define SIG_INTERRUPT1 _VECTOR(2)
200
201
/* Timer/Counter Capture Event */
202
#define TIMER1_CAPT_vect _VECTOR(3)
203
#define SIG_INPUT_CAPTURE1 _VECTOR(3)
204
205
/* Timer/Counter1 Compare Match */
206
#define TIMER1_COMP_vect _VECTOR(4)
207
#define SIG_OUTPUT_COMPARE1A _VECTOR(4)
208
209
/* Timer/Counter1 Overflow */
210
#define TIMER1_OVF_vect _VECTOR(5)
211
#define SIG_OVERFLOW1 _VECTOR(5)
212
213
/* Timer/Counter0 Overflow */
214
#define TIMER0_OVF_vect _VECTOR(6)
215
#define SIG_OVERFLOW0 _VECTOR(6)
216
217
/* Serial Transfer Complete */
218
#define SPI_STC_vect _VECTOR(7)
219
#define SIG_SPI _VECTOR(7)
220
221
/* UART, Rx Complete */
222
#define UART_RX_vect _VECTOR(8)
223
#define SIG_UART_RECV _VECTOR(8)
224
225
/* UART Data Register Empty */
226
#define UART_UDRE_vect _VECTOR(9)
227
#define SIG_UART_DATA _VECTOR(9)
228
229
/* UART, Tx Complete */
230
#define UART_TX_vect _VECTOR(10)
231
#define SIG_UART_TRANS _VECTOR(10)
232
233
/* ADC Conversion Complete */
234
#define ADC_vect _VECTOR(11)
235
#define SIG_ADC _VECTOR(11)
236
237
/* EEPROM Ready */
238
#define EE_RDY_vect _VECTOR(12)
239
#define SIG_EEPROM_READY _VECTOR(12)
240
241
/* Analog Comparator */
242
#define ANA_COMP_vect _VECTOR(13)
243
#define SIG_COMPARATOR _VECTOR(13)
244
245
#define _VECTORS_SIZE 28
246
247
/*
248
The Register Bit names are represented by their bit number (0-7).
249
*/
250
251
/* MCU general Status Register */
252
#define WDRF 3
253
#define BORF 2
254
#define EXTRF 1
255
#define PORF 0
256
257
/* General Interrupt MaSK register */
258
#define INT1 7
259
#define INT0 6
260
261
/* General Interrupt Flag Register */
262
#define INTF1 7
263
#define INTF0 6
264
265
/* Timer/Counter Interrupt MaSK register */
266
#define TOIE1 7
267
#define OCIE1 6
268
#define TICIE1 3
269
#define TOIE0 1
270
271
/* Timer/Counter Interrupt Flag register */
272
#define TOV1 7
273
#define OCF1 6
274
#define ICF1 3
275
#define TOV0 1
276
277
/* MCU general Control Register */
278
#define SE 5
279
#define SM 4
280
#define ISC11 3
281
#define ISC10 2
282
#define ISC01 1
283
#define ISC00 0
284
285
/* Timer/Counter 0 Control Register */
286
#define CS02 2
287
#define CS01 1
288
#define CS00 0
289
290
/* Timer/Counter 1 Control Register */
291
#define COM11 7
292
#define COM10 6
293
#define PWM11 1
294
#define PWM10 0
295
296
/* Timer/Counter 1 Control and Status Register */
297
#define ICNC1 7
298
#define ICES1 6
299
#define CTC1 3
300
#define CS12 2
301
#define CS11 1
302
#define CS10 0
303
304
/* Watchdog Timer Control Register */
305
#define WDTOE 4
306
#define WDE 3
307
#define WDP2 2
308
#define WDP1 1
309
#define WDP0 0
310
311
/* SPI Control Register */
312
#define SPIE 7
313
#define SPE 6
314
#define DORD 5
315
#define MSTR 4
316
#define CPOL 3
317
#define CPHA 2
318
#define SPR1 1
319
#define SPR0 0
320
321
/* SPI Status Register */
322
#define SPIF 7
323
#define WCOL 6
324
325
/* UART Status Register */
326
#define RXC 7
327
#define TXC 6
328
#define UDRE 5
329
#define FE 4
330
#define DOR 3
331
#define MPCM 0
332
333
/* UART Control Register */
334
#define RXCIE 7
335
#define TXCIE 6
336
#define UDRIE 5
337
#define RXEN 4
338
#define TXEN 3
339
#define CHR9 2
340
#define RXB8 1
341
#define TXB8 0
342
343
/* Analog Comparator Control and Status Register */
344
#define ACD 7
345
#define AINBG 6
346
#define ACO 5
347
#define ACI 4
348
#define ACIE 3
349
#define ACIC 2
350
#define ACIS1 1
351
#define ACIS0 0
352
353
/* ADC MUX */
354
#define ACDBG 6
355
#define MUX2 2
356
#define MUX1 1
357
#define MUX0 0
358
359
/* ADC Control and Status Register */
360
#define ADEN 7
361
#define ADSC 6
362
#define ADFR 5
363
#define ADIF 4
364
#define ADIE 3
365
#define ADPS2 2
366
#define ADPS1 1
367
#define ADPS0 0
368
369
/* Data Register, Port B */
370
#define PB5 5
371
#define PB4 4
372
#define PB3 3
373
#define PB2 2
374
#define PB1 1
375
#define PB0 0
376
377
/* Data Direction Register, Port B */
378
#define DDB5 5
379
#define DDB4 4
380
#define DDB3 3
381
#define DDB2 2
382
#define DDB1 1
383
#define DDB0 0
384
385
/* Input Pins, Port B */
386
#define PINB5 5
387
#define PINB4 4
388
#define PINB3 3
389
#define PINB2 2
390
#define PINB1 1
391
#define PINB0 0
392
393
/* Data Register, Port C */
394
#define PC5 5
395
#define PC4 4
396
#define PC3 3
397
#define PC2 2
398
#define PC1 1
399
#define PC0 0
400
401
/* Data Direction Register, Port C */
402
#define DDC5 5
403
#define DDC4 4
404
#define DDC3 3
405
#define DDC2 2
406
#define DDC1 1
407
#define DDC0 0
408
409
/* Input Pins, Port C */
410
#define PINC5 5
411
#define PINC4 4
412
#define PINC3 3
413
#define PINC2 2
414
#define PINC1 1
415
#define PINC0 0
416
417
/* Data Register, Port D */
418
#define PD7 7
419
#define PD6 6
420
#define PD5 5
421
#define PD4 4
422
#define PD3 3
423
#define PD2 2
424
#define PD1 1
425
#define PD0 0
426
427
/* Data Direction Register, Port D */
428
#define DDD7 7
429
#define DDD6 6
430
#define DDD5 5
431
#define DDD4 4
432
#define DDD3 3
433
#define DDD2 2
434
#define DDD1 1
435
#define DDD0 0
436
437
/* Input Pins, Port D */
438
#define PIND7 7
439
#define PIND6 6
440
#define PIND5 5
441
#define PIND4 4
442
#define PIND3 3
443
#define PIND2 2
444
#define PIND1 1
445
#define PIND0 0
446
447
/* EEPROM Control Register */
448
#define EERIE 3
449
#define EEMWE 2
450
#define EEWE 1
451
#define EERE 0
452
453
/* Constants */
454
#define RAMEND 0xDF
/*Last On-Chip SRAM location*/
455
#define XRAMEND RAMEND
456
#define E2END 0xFF
457
#define E2PAGESIZE 0
458
#define FLASHEND 0xFFF
459
460
461
/* Fuses */
462
#define FUSE_MEMORY_SIZE 1
463
464
/* Low Fuse Byte */
465
#define FUSE_CKSEL0 (unsigned char)~_BV(0)
466
#define FUSE_CKSEL1 (unsigned char)~_BV(1)
467
#define FUSE_CKSEL2 (unsigned char)~_BV(2)
468
#define FUSE_BODEN (unsigned char)~_BV(3)
469
#define FUSE_BODLEVEL (unsigned char)~_BV(4)
470
#define FUSE_SPIEN (unsigned char)~_BV(5)
471
#define LFUSE_DEFAULT (0xFF)
472
473
474
/* Lock Bits */
475
#define __LOCK_BITS_EXIST
476
477
478
/* Signature */
479
#define SIGNATURE_0 0x1E
480
#define SIGNATURE_1 0x92
481
#define SIGNATURE_2 0x03
482
484
#endif
/* _AVR_IO4433_H_ */
Generated by
1.8.13