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
iomxxhva.h
Go to the documentation of this file.
1
9
/*
10
* Copyright (c) 2007 Anatoly Sokolov
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_IOMXXHVA_H_
42
#define _AVR_IOMXXHVA_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_ "iomxxhva.h"
57
#else
58
# error "Attempt to include more than one <avr/ioXXX.h> file."
59
#endif
60
61
/* Registers and associated bit numbers */
62
63
#define PINA _SFR_IO8(0X00)
64
#define PINA1 1
65
#define PINA0 0
66
67
#define DDRA _SFR_IO8(0x01)
68
#define DDA1 1
69
#define DDA0 0
70
71
#define PORTA _SFR_IO8(0x02)
72
#define PA1 1
73
#define PA0 0
74
75
#define PINB _SFR_IO8(0X03)
76
#define PINB3 3
77
#define PINB2 2
78
#define PINB1 1
79
#define PINB0 0
80
81
#define DDRB _SFR_IO8(0x04)
82
#define DDB3 3
83
#define DDB2 2
84
#define DDB1 1
85
#define DDB0 0
86
87
#define PORTB _SFR_IO8(0x05)
88
#define PB3 3
89
#define PB2 2
90
#define PB1 1
91
#define PB0 0
92
93
#define PINC _SFR_IO8(0x06)
94
#define PINC0 0
95
96
/* Reserved [0x7] */
97
98
#define PORTC _SFR_IO8(0x08)
99
#define PC0 0
100
101
/* Reserved [0x9..0x14] */
102
103
#define TIFR0 _SFR_IO8(0x15)
104
#define ICF0 3
105
#define OCF0B 2
106
#define OCF0A 1
107
#define TOV0 0
108
109
#define TIFR1 _SFR_IO8(0x16)
110
#define ICF1 3
111
#define OCF1B 2
112
#define OCF1A 1
113
#define TOV1 0
114
115
#define OSICSR _SFR_IO8(0x17)
116
#define OSISEL0 4
117
#define OSIST 1
118
#define OSIEN 0
119
120
/* Reserved [0x18..0x1B] */
121
122
#define EIFR _SFR_IO8(0x1C)
123
#define INTF2 2
124
#define INTF1 1
125
#define INTF0 0
126
127
#define EIMSK _SFR_IO8(0x1D)
128
#define INT2 2
129
#define INT1 1
130
#define INT0 0
131
132
#define GPIOR0 _SFR_IO8(0x1E)
133
134
#define EECR _SFR_IO8(0x1F)
135
#define EEPM1 5
136
#define EEPM0 4
137
#define EERIE 3
138
#define EEMPE 2
139
#define EEPE 1
140
#define EERE 0
141
142
#define EEDR _SFR_IO8(0x20)
143
144
#define EEAR _SFR_IO8(0x21)
145
#define EEARL _SFR_IO8(0x21)
146
147
/* 6-char sequence denoting where to find the EEPROM registers in memory space.
148
Adresses denoted in hex syntax with uppercase letters. Used by the EEPROM
149
subroutines.
150
First two letters: EECR address.
151
Second two letters: EEDR address.
152
Last two letters: EEAR address. */
153
#define __EEPROM_REG_LOCATIONS__ 1F2021
154
155
/* Reserved [0x22] */
156
157
#define GTCCR _SFR_IO8(0x23)
158
#define TSM 7
159
#define PSRSYNC 0
160
161
#define TCCR0A _SFR_IO8(0x24)
162
#define TCW0 7
163
#define ICEN0 6
164
#define ICNC0 5
165
#define ICES0 4
166
#define ICS0 3
167
#define WGM00 0
168
169
#define TCCR0B _SFR_IO8(0x25)
170
#define CS02 2
171
#define CS01 1
172
#define CS00 0
173
174
#define TCNT0 _SFR_IO16(0X26)
175
#define TCNT0L _SFR_IO8(0X26)
176
#define TCNT0H _SFR_IO8(0X27)
177
178
#define OCR0A _SFR_IO8(0x28)
179
180
#define OCR0B _SFR_IO8(0X29)
181
182
#define GPIOR1 _SFR_IO8(0x2A)
183
184
#define GPIOR2 _SFR_IO8(0x2B)
185
186
#define SPCR _SFR_IO8(0x2C)
187
#define SPIE 7
188
#define SPE 6
189
#define DORD 5
190
#define MSTR 4
191
#define CPOL 3
192
#define CPHA 2
193
#define SPR1 1
194
#define SPR0 0
195
196
#define SPSR _SFR_IO8(0x2D)
197
#define SPIF 7
198
#define WCOL 6
199
#define SPI2X 0
200
201
#define SPDR _SFR_IO8(0x2E)
202
203
/* Reserved [0x2F..0x30] */
204
205
#define DWDR _SFR_IO8(0x31)
206
#define IDRD 7
207
208
/* Reserved [0x32] */
209
210
#define SMCR _SFR_IO8(0x33)
211
#define SM2 3
212
#define SM1 2
213
#define SM0 1
214
#define SE 0
215
216
#define MCUSR _SFR_IO8(0x34)
217
#define OCDRF 4
218
#define WDRF 3
219
#define BORF 2
220
#define EXTRF 1
221
#define PORF 0
222
223
#define MCUCR _SFR_IO8(0x35)
224
#define CKOE 5
225
#define PUD 4
226
227
/* Reserved [0x36] */
228
229
#define SPMCSR _SFR_IO8(0x37)
230
#define SIGRD 5
231
#define CTPB 4
232
#define RFLB 3
233
#define PGWRT 2
234
#define PGERS 1
235
#define SPMEN 0
236
237
/* Reserved [0x38..0x3C] */
238
239
/* SP [0x3D..0x3E] */
240
/* SREG [0x3F] */
241
242
#define WDTCSR _SFR_MEM8(0x60)
243
#define WDIF 7
244
#define WDIE 6
245
#define WDP3 5
246
#define WDCE 4
247
#define WDE 3
248
#define WDP2 2
249
#define WDP1 1
250
#define WDP0 0
251
252
#define CLKPR _SFR_MEM8(0x61)
253
#define CLKPCE 7
254
#define CLKPS1 1
255
#define CLKPS0 0
256
257
/* Reserved [0x62..0x63] */
258
259
#define PRR0 _SFR_MEM8(0x64)
260
#define PRVRM 5
261
#define PRSPI 3
262
#define PRTIM1 2
263
#define PRTIM0 1
264
#define PRVADC 0
265
266
/* Reserved [0x65] */
267
268
#define FOSCCAL _SFR_MEM8(0x66)
269
270
/* Reserved [0x67..0x68] */
271
272
#define EICRA _SFR_MEM8(0x69)
273
#define ISC21 5
274
#define ISC20 4
275
#define ISC11 3
276
#define ISC10 2
277
#define ISC01 1
278
#define ISC00 0
279
280
/* Reserved [0x6A..0x6D] */
281
282
#define TIMSK0 _SFR_MEM8(0x6E)
283
#define ICIE0 3
284
#define OCIE0B 2
285
#define OCIE0A 1
286
#define TOIE0 0
287
288
#define TIMSK1 _SFR_MEM8(0x6F)
289
#define ICIE1 3
290
#define OCIE1B 2
291
#define OCIE1A 1
292
#define TOIE1 0
293
294
/* Reserved [0x70..0x77] */
295
296
#define VADC _SFR_MEM16(0x78)
297
#define VADCL _SFR_MEM8(0x78)
298
#define VADCH _SFR_MEM8(0x79)
299
300
#define VADCSR _SFR_MEM8(0x7A)
301
#define VADEN 3
302
#define VADSC 2
303
#define VADCCIF 1
304
#define VADCCIE 0
305
306
/* Reserved [0x7B] */
307
308
#define VADMUX _SFR_MEM8(0x7C)
309
#define VADMUX3 3
310
#define VADMUX2 2
311
#define VADMUX1 1
312
#define VADMUX0 0
313
314
/* Reserved [0x7D] */
315
316
#define DIDR0 _SFR_MEM8(0x7E)
317
#define PA1DID 1
318
#define PA0DID 0
319
320
/* Reserved [0x7F] */
321
322
#define TCCR1A _SFR_MEM8(0x80)
323
#define TCW1 7
324
#define ICEN1 6
325
#define ICNC1 5
326
#define ICES1 4
327
#define ICS1 3
328
#define WGM10 0
329
330
#define TCCR1B _SFR_MEM8(0x81)
331
#define CS12 2
332
#define CS11 1
333
#define CS10 0
334
335
/* Reserved [0x82..0x83] */
336
337
#define TCNT1 _SFR_MEM16(0x84)
338
#define TCNT1L _SFR_MEM8(0x84)
339
#define TCNT1H _SFR_MEM8(0x85)
340
341
/* Reserved [0x86..0x87] */
342
343
#define OCR1A _SFR_MEM8(0x88)
344
345
#define OCR1B _SFR_MEM8(0x89)
346
347
/* Reserved [0x8A..0xC7] */
348
349
#define ROCR _SFR_MEM8(0xC8)
350
#define ROCS 7
351
#define ROCWIF 1
352
#define ROCWIE 0
353
354
/* Reserved [0xC9..0xCF] */
355
356
#define BGCCR _SFR_MEM8(0xD0)
357
#define BGD 7
358
#define BGCC5 5
359
#define BGCC4 4
360
#define BGCC3 3
361
#define BGCC2 2
362
#define BGCC1 1
363
#define BGCC0 0
364
365
#define BGCRR _SFR_MEM8(0xD1)
366
#define BGCR7 7
367
#define BGCR6 6
368
#define BGCR5 5
369
#define BGCR4 4
370
#define BGCR3 3
371
#define BGCR2 2
372
#define BGCR1 1
373
#define BGCR0 0
374
375
/* Reserved [0xD2..0xDF] */
376
377
/* CC-ADC Accumulate Current */
378
/* TODO: Add _SFR_MEM32 */
379
/* #define CADAC _SFR_MEM32(0xE0) */
380
#define CADAC0 _SFR_MEM8(0xE0)
381
#define CADAC1 _SFR_MEM8(0xE1)
382
#define CADAC2 _SFR_MEM8(0xE2)
383
#define CADAC3 _SFR_MEM8(0xE3)
384
385
#define CADCSRA _SFR_MEM8(0xE4)
386
#define CADEN 7
387
#define CADPOL 6
388
#define CADUB 5
389
#define CADAS1 4
390
#define CADAS0 3
391
#define CADSI1 2
392
#define CADSI0 1
393
#define CADSE 0
394
395
#define CADCSRB _SFR_MEM8(0xE5)
396
#define CADACIE 6
397
#define CADRCIE 5
398
#define CADICIE 4
399
#define CADACIF 2
400
#define CADRCIF 1
401
#define CADICIF 0
402
403
#define CADRC _SFR_MEM8(0xE6)
404
405
/* Reserved [0xE7] */
406
407
#define CADIC _SFR_MEM16(0xE8)
408
#define CADICL _SFR_MEM8(0xE8)
409
#define CADICH _SFR_MEM8(0xE9)
410
411
/* Reserved [0xEA..0xEF] */
412
413
#define FCSR _SFR_MEM8(0xF0)
414
#define DUVRD 3
415
#define CPS 2
416
#define DFE 1
417
#define CFE 0
418
419
/* Reserved [0xF1] */
420
421
#define BPIMSK _SFR_MEM8(0xF2)
422
#define SCIE 4
423
#define DOCIE 3
424
#define COCIE 2
425
#define DHCIE 1
426
#define CHCIE 0
427
428
#define BPIFR _SFR_MEM8(0xF3)
429
#define SCIF 4
430
#define DOCIF 3
431
#define COCIF 2
432
#define DHCIF 1
433
#define CHCIF 0
434
435
/* Reserved [0xF4] */
436
437
#define BPSCD _SFR_MEM8(0xF5)
438
439
#define BPDOCD _SFR_MEM8(0xF6)
440
441
#define BPCOCD _SFR_MEM8(0xF7)
442
443
#define BPDHCD _SFR_MEM8(0xF8)
444
445
#define BPCHCD _SFR_MEM8(0xF9)
446
447
#define BPSCTR _SFR_MEM8(0xFA)
448
449
#define BPOCTR _SFR_MEM8(0xFB)
450
451
#define BPHCTR _SFR_MEM8(0xFC)
452
453
#define BPCR _SFR_MEM8(0xFD)
454
#define SCD 4
455
#define DOCD 3
456
#define COCD 2
457
#define DHCD 1
458
#define CHCD 0
459
460
#define BPPLR _SFR_MEM8(0xFE)
461
#define BPPLE 1
462
#define BPPL 0
463
464
/* Reserved [0xFF] */
465
466
/* Interrupt vectors */
467
/* Battery Protection Interrupt */
468
#define BPINT_vect _VECTOR(1)
469
470
/* Voltage Regulator Monitor Interrupt */
471
#define VREGMON_vect _VECTOR(2)
472
473
/* External Interrupt Request 0 */
474
#define INT0_vect _VECTOR(3)
475
476
/* External Interrupt Request 1 */
477
#define INT1_vect _VECTOR(4)
478
479
/* External Interrupt Request 2 */
480
#define INT2_vect _VECTOR(5)
481
482
/* Watchdog Timeout Interrupt */
483
#define WDT_vect _VECTOR(6)
484
485
/* Timer/Counter 1 Input Capture */
486
#define TIMER1_IC_vect _VECTOR(7)
487
488
/* Timer/Counter 1 Compare A Match */
489
#define TIMER1_COMPA_vect _VECTOR(8)
490
491
/* Timer/Counter 1 Compare B Match */
492
#define TIMER1_COMPB_vect _VECTOR(9)
493
494
/* Timer/Counter 1 Overflow */
495
#define TIMER1_OVF_vect _VECTOR(10)
496
497
/* Timer/Counter 0 Input Capture */
498
#define TIMER0_IC_vect _VECTOR(11)
499
500
/* Timer/Counter0 Compare A Match */
501
#define TIMER0_COMPA_vect _VECTOR(12)
502
503
/* Timer/Counter0 Compare B Match */
504
#define TIMER0_COMPB_vect _VECTOR(13)
505
506
/* Timer/Counter0 Overflow */
507
#define TIMER0_OVF_vect _VECTOR(14)
508
509
/* SPI Serial Transfer Complete */
510
#define SPI_STC_vect _VECTOR(15)
511
512
/* Voltage ADC Conversion Complete */
513
#define VADC_vect _VECTOR(16)
514
515
/* Coulomb Counter ADC Conversion Complete */
516
#define CCADC_CONV_vect _VECTOR(17)
517
518
/* Coloumb Counter ADC Regular Current */
519
#define CCADC_REG_CUR_vect _VECTOR(18)
520
521
/* Coloumb Counter ADC Accumulator */
522
#define CCADC_ACC_vect _VECTOR(19)
523
524
/* EEPROM Ready */
525
#define EE_READY_vect _VECTOR(20)
526
527
#if defined (__AVR_ATmega16HVA__)
528
# define _VECTORS_SIZE 84
529
#else
530
# define _VECTORS_SIZE 42
531
#endif
532
534
#endif
/* _AVR_IOMXXHVA_H_ */
Generated by
1.8.13