Forum: Mikrocontroller und Digitale Elektronik Atmel AVR Toolchain for Linux


von Dennis S. (eltio)


Lesenswert?

Hallo zusammen,
ich möchte beginnen einen Atmega mit Linux zu programmieren. Dafür habe 
ich die offizielle Toolchain [1] runtergeladen und wollte das erste 
Tutorial-Beispiel ausprobieren.
1
.include "m8def.inc"
2
   ldi r16, 0xFF
3
   out DDRB, r16
4
5
   ldi r16, 0b11111100
6
   out PORTB, r16
7
8
ende: rjmp ende

Problem ist: was ist jetzt der genaue Befehl zum assemblieren? Ein 
einfaches avr-as test.asm führt zu der Meldung
1
test.asm: Assembler messages:
2
test.asm:4: Error: Konstanter Wert erforderlich
3
test.asm:7: Error: Konstanter Wert erforderlich

Kann mir jemand weiterhelfen?

Gruß
Dennis

[1] http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORLINUX.aspx

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dennis S. schrieb:
> test.asm: Assembler messages:
> test.asm:4: Error: Konstanter Wert erforderlich
> test.asm:7: Error: Konstanter Wert erforderlich
Zähle ich das richtig und diese beiden Zeilen sind die zwei Leerzeilen?

von Dennis S. (eltio)


Lesenswert?

Mhh... anscheinend habe ich bei meinen Versuchen den Code und die 
Fehlermeldung vermischt. Also nochmal:
- Code wie oben
- Aktuelles Verzeichnis ist das mit dem asm-File
- Aufruf: avr8-gnu-toolchain-linux_x86_64/bin/avr-as test.asm

Ausgabe
1
test.asm:1: Error: can't open m8def.inc for reading: Datei oder Verzeichnis nicht gefunden

Klare Sache, aber wo befinden sich die Assembler-Header Dateien? Oder 
werden die nur beim AtmelStudio beigelegt?

Gruß
Dennis

von Dennis S. (eltio)


Lesenswert?

push

Hat jemand Erfahrung mit der Original-Toolchain von Atmel unter Linux. 
"AVRA" ist über fünf Jahre alt und das weckt in mir immer ein ungutes 
Gefühl.

Gruß
Dennis

von Uwe (de0508)


Lesenswert?

Hallo Dennis,

ich verwende direkt avr-gcc und ein Makefile (make) unter Linux.
Einige Projekte werden auch mit LunaAVR und dessen Assembler erstellt.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dennis S. schrieb:
> Klare Sache, aber wo befinden sich die Assembler-Header Dateien?

Die sind beim AVR-GCC und seinen Begleitwerkzeugen die gleichen wie
die für C.  Normalerweise ist der Weg dort so, dass du deine Datei
auf .S (großes S) enden lässt und dann dem Compiler (avr-gcc) zum
Fraß vorwirfst.  Anhand dieser Endung weiß er, dass er zuerst den
C-Präprozessor und danach den Assembler anwerfen muss.

http://www.nongnu.org/avr-libc/user-manual/assembler.html

Zusätzlich noch:

http://www.nongnu.org/avr-libc/user-manual/group__avr__sfr__notes.html

Edit: Seh gerade, der Code ist da schei***e formatiert, den hat das
Doxygen zerwurschtelt.  Eigentlich sollte er so aussehen:
1
#include <avr/io.h>             ; Note [1]
2
3
work    =       16              ; Note [2]
4
tmp     =       17
5
6
inttmp  =       19
7
8
intsav  =       0
9
10
SQUARE  =       PD6             ; Note [3]
11
12
                                ; Note [4]:
13
tmconst= 10700000 / 200000      ; 100 kHz => 200000 edges/s
14
fuzz=   8                       ; # clocks in ISR until TCNT0 is set
15
16
        .section .text
17
18
        .global main                            ; Note [5]
19
main:
20
        rcall   ioinit
21
1:
22
        rjmp    1b                              ; Note [6]
23
24
        .global TIMER0_OVF_vect                 ; Note [7]
25
TIMER0_OVF_vect:
26
        ldi     inttmp, 256 - tmconst + fuzz
27
        out     _SFR_IO_ADDR(TCNT0), inttmp     ; Note [8]
28
29
        in      intsav, _SFR_IO_ADDR(SREG)      ; Note [9]
30
31
        sbic    _SFR_IO_ADDR(PORTD), SQUARE
32
        rjmp    1f
33
        sbi     _SFR_IO_ADDR(PORTD), SQUARE
34
        rjmp    2f
35
1:      cbi     _SFR_IO_ADDR(PORTD), SQUARE
36
2:
37
38
        out     _SFR_IO_ADDR(SREG), intsav
39
        reti
40
41
ioinit:
42
        sbi     _SFR_IO_ADDR(DDRD), SQUARE
43
44
        ldi     work, _BV(TOIE0)
45
        out     _SFR_IO_ADDR(TIMSK), work
46
47
        ldi     work, _BV(CS00)         ; tmr0:  CK/1
48
        out     _SFR_IO_ADDR(TCCR0), work
49
50
        ldi     work, 256 - tmconst
51
        out     _SFR_IO_ADDR(TCNT0), work
52
53
        sei
54
55
        ret
56
57
        .global __vector_default                ; Note [10]
58
__vector_default:
59
        reti
60
61
        .end

von Dennis S. (eltio)


Lesenswert?

Uwe S. schrieb:
> Hallo Dennis,
>
> ich verwende direkt avr-gcc und ein Makefile (make) unter Linux.
> Einige Projekte werden auch mit LunaAVR und dessen Assembler erstellt.

Hi Uwe,
aber auch da brauchst du doch die "*.inc". Ich weiß, dass die hier im 
Forum rumschwirrt, hätte aber erwartet, dass es sowas auch "offiziell" 
gibt. Meine Vermutung ist mittlerweile, dass die nur im Studio bei ist. 
Was natürlich ungünstig ist, weil das wiederum nicht nativ unter Linux 
läuft. facepalm

Gruß
Dennis

Edit:
@Jörg: Das schaue ich mir mal an! Das heißt (ich kann es gerade nicht 
testen) ich bennene meine test.asm in test.S um und ersetze, dass 
.include durch #include <avr/io.>. Beim Compiler-Aufruf würde ich den 
richtigen Pfad zum .h-Datei mit -I angeben!?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dennis S. schrieb:
> Das heißt (ich kann es gerade nicht testen) ich bennene meine test.asm
> in test.S um und ersetze, dass .include durch #include <avr/io.>.

Ja, wobei du normalerweise noch die Wrapper brauchst mit _SFR_IO_ADDR,
oder den _SFR_OFFSET auf 0 setzen musst.  Siehe zweite Doku-Referenz,
die ich noch hinzugefügt habe.

> Beim
> Compiler-Aufruf würde ich den richtigen Pfad zum .h-Datei mit -I
> angeben!?

Wenn die Toolchain in sich stimmig ist, musst du nur (wie auch bei
C üblich) das -mmcu=xxx passend angeben, den Reset sollte der Compiler
von selbst finden.

von Dennis S. (eltio)


Lesenswert?

Okay, vielen Dank schonmal für die Infos. :-)

von Kaj (Gast)


Lesenswert?

Dennis S. schrieb:
> aber auch da brauchst du doch die "*.inc". Ich weiß, dass die hier im
> Forum rumschwirrt, hätte aber erwartet, dass es sowas auch "offiziell"
> gibt. Meine Vermutung ist mittlerweile, dass die nur im Studio bei ist.
> Was natürlich ungünstig ist, weil das wiederum nicht nativ unter Linux
> läuft. facepalm
Nein, das ist bloedsinn.
Bei der Toolchain liegen alle benoetigten Dateien bei, egal ob du die 
toolchain von Atmel nimmst, oder die toolchain aus der paketverwaltung.

von Dennis S. (eltio)


Lesenswert?

Kaj schrieb:
> Nein, das ist bloedsinn.
> Bei der Toolchain liegen alle benoetigten Dateien bei, egal ob du die
> toolchain von Atmel nimmst, oder die toolchain aus der paketverwaltung.

Dann verrat mir bitte den Pfad.

Edit: Beziehungsweise stell klar auf was du dich beziehst. .h oder .inc.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dennis S. schrieb:
> Edit: Beziehungsweise stell klar auf was du dich beziehst. .h oder .inc.

Die .inc-Dateien passen nur zum Atmel-Compiler (bzw. zu AVRA,
der sie aber natürlich nicht selbst mitliefert – dort muss man sie
sich irgendwie vom Studio beschaffen).

Die .h-Dateien passen sowohl bezüglich C als auch Assembler zur
GCC-Toolchain, die ja einen eigenen Assembler enthält.  Dieser
Assembler benutzt natürlich die gleichen AVR-Befehle wie der von
Atmel, aber andere Pseudo-Befehle und hat auch sonst eine leicht
andere Syntax (die wiederum in einer Reihe mit den anderen von den
GNU-Tools unterstützten Architekturen liegt und zu großen Teilen auf
den alten UNIX-Assembler von AT&T zurückgeht).  Insbesondere kann
dieser Assembler im Gegensatz zu dem von Atmel (oder zu AVRA)
verschiebliche Objektmodule generieren, die dann der Linker
verarbeitet.  Dies ist eine Voraussetzung, um Objektmodule sowohl
aus C als auch Assembler heraus gemeinsam verarbeiten zu können.

Ach, natürlich wird der Assembler auch durch den Compiler selbst
benutzt – der Compiler generiert ja ebenfalls Assemblercode, den
man nur normalerweise am Ende wieder wegwirft.

von Kaj (Gast)


Lesenswert?

1
[user@linux avr8-gnu-toolchain-linux_x86_64]$ find ./ -name *.h
2
./x86_64-pc-linux-gnu/avr/include/plugin-api.h
3
./x86_64-pc-linux-gnu/avr/include/ansidecl.h
4
./x86_64-pc-linux-gnu/avr/include/dis-asm.h
5
./x86_64-pc-linux-gnu/avr/include/bfd.h
6
./x86_64-pc-linux-gnu/avr/include/symcat.h
7
./x86_64-pc-linux-gnu/avr/include/bfdlink.h
8
./include/gdb/jit-reader.h
9
./include/libiberty/objalloc.h
10
./include/libiberty/safe-ctype.h
11
./include/libiberty/ansidecl.h
12
./include/libiberty/sort.h
13
./include/libiberty/demangle.h
14
./include/libiberty/partition.h
15
./include/libiberty/hashtab.h
16
./include/libiberty/fibheap.h
17
./include/libiberty/dyn-string.h
18
./include/libiberty/libiberty.h
19
./include/libiberty/floatformat.h
20
./include/libiberty/timeval-utils.h
21
./include/libiberty/splay-tree.h
22
./avr/include/stdio.h
23
./avr/include/compat/ina90.h
24
./avr/include/compat/twi.h
25
./avr/include/compat/deprecated.h
26
./avr/include/assert.h
27
./avr/include/stdint.h
28
./avr/include/math.h
29
./avr/include/avr/iox64a1.h
30
./avr/include/avr/iom88.h
31
./avr/include/avr/iom644rfr2.h
32
./avr/include/avr/sfr_defs.h
33
./avr/include/avr/iom644p.h
34
./avr/include/avr/iox64a1u.h
35
./avr/include/avr/io86r401.h
36
./avr/include/avr/iom88p.h
37
./avr/include/avr/iotnx61.h
38
./avr/include/avr/iox16c4.h
39
./avr/include/avr/iom6490a.h
40
./avr/include/avr/iotn9.h
41
./avr/include/avr/iousb646.h
42
./avr/include/avr/common.h
43
./avr/include/avr/iom128.h
44
./avr/include/avr/ioa664251.h
45
./avr/include/avr/iox64d3.h
46
./avr/include/avr/iom16.h
47
./avr/include/avr/iom328.h
48
./avr/include/avr/parity.h
49
./avr/include/avr/io8535.h
50
./avr/include/avr/iotn4313.h
51
./avr/include/avr/iox16d4.h
52
./avr/include/avr/ioa5831.h
53
./avr/include/avr/iox128a3.h
54
./avr/include/avr/iom2561.h
55
./avr/include/avr/iox64b1.h
56
./avr/include/avr/iom164a.h
57
./avr/include/avr/io90pwm316.h
58
./avr/include/avr/iotn24a.h
59
./avr/include/avr/iom6450p.h
60
./avr/include/avr/iox384d3.h
61
./avr/include/avr/signal.h
62
./avr/include/avr/iom256rfr2.h
63
./avr/include/avr/iotnx5.h
64
./avr/include/avr/iom48pb.h
65
./avr/include/avr/iom64c1.h
66
./avr/include/avr/delay.h
67
./avr/include/avr/ioat94k.h
68
./avr/include/avr/iom3290pa.h
69
./avr/include/avr/iotn20.h
70
./avr/include/avr/iousbxx2.h
71
./avr/include/avr/iox128a1.h
72
./avr/include/avr/io43u35x.h
73
./avr/include/avr/iox128b1.h
74
./avr/include/avr/iousbxx6_7.h
75
./avr/include/avr/iotn45.h
76
./avr/include/avr/iotn461.h
77
./avr/include/avr/io90pwm216.h
78
./avr/include/avr/ioa6613c.h
79
./avr/include/avr/iom645.h
80
./avr/include/avr/iox256a3bu.h
81
./avr/include/avr/iom88pa.h
82
./avr/include/avr/iom6490.h
83
./avr/include/avr/iom649a.h
84
./avr/include/avr/iox64d4.h
85
./avr/include/avr/io4433.h
86
./avr/include/avr/io4434.h
87
./avr/include/avr/iox128d4.h
88
./avr/include/avr/iom8.h
89
./avr/include/avr/iom6490p.h
90
./avr/include/avr/iom48p.h
91
./avr/include/avr/iom3290a.h
92
./avr/include/avr/iotn44a.h
93
./avr/include/avr/iox64b3.h
94
./avr/include/avr/iotn48.h
95
./avr/include/avr/crc16.h
96
./avr/include/avr/iom16u4.h
97
./avr/include/avr/iom16hvbrevb.h
98
./avr/include/avr/iotn861a.h
99
./avr/include/avr/io4414.h
100
./avr/include/avr/iom2564rfr2.h
101
./avr/include/avr/iox256a3b.h
102
./avr/include/avr/iom88pb.h
103
./avr/include/avr/iousb1287.h
104
./avr/include/avr/iotn26.h
105
./avr/include/avr/iox192d3.h
106
./avr/include/avr/iom329.h
107
./avr/include/avr/iotn12.h
108
./avr/include/avr/iotn828.h
109
./avr/include/avr/iom32.h
110
./avr/include/avr/iom48pa.h
111
./avr/include/avr/iom16hvb.h
112
./avr/include/avr/iox32a4u.h
113
./avr/include/avr/iotn22.h
114
./avr/include/avr/iox32d3.h
115
./avr/include/avr/iom324a.h
116
./avr/include/avr/iom1284.h
117
./avr/include/avr/ioa5272.h
118
./avr/include/avr/iom325pa.h
119
./avr/include/avr/iox16a4u.h
120
./avr/include/avr/iom1281.h
121
./avr/include/avr/iox64a3.h
122
./avr/include/avr/iox32d4.h
123
./avr/include/avr/iom324p.h
124
./avr/include/avr/iom16m1.h
125
./avr/include/avr/iom323.h
126
./avr/include/avr/iotn10.h
127
./avr/include/avr/iom3290.h
128
./avr/include/avr/ioa6286.h
129
./avr/include/avr/iom32hvb.h
130
./avr/include/avr/io8515.h
131
./avr/include/avr/io2323.h
132
./avr/include/avr/iox256d3.h
133
./avr/include/avr/iom8a.h
134
./avr/include/avr/io.h
135
./avr/include/avr/iotn15.h
136
./avr/include/avr/iom168pb.h
137
./avr/include/avr/iomxx4.h
138
./avr/include/avr/iom325a.h
139
./avr/include/avr/xmega.h
140
./avr/include/avr/io1200.h
141
./avr/include/avr/iom8515.h
142
./avr/include/avr/iotn841.h
143
./avr/include/avr/iom644pa.h
144
./avr/include/avr/io2333.h
145
./avr/include/avr/iom164p.h
146
./avr/include/avr/iom6450.h
147
./avr/include/avr/fuse.h
148
./avr/include/avr/iom48a.h
149
./avr/include/avr/io90pwm3b.h
150
./avr/include/avr/iom3250a.h
151
./avr/include/avr/wdt.h
152
./avr/include/avr/iom128rfr2.h
153
./avr/include/avr/ioa5702m322.h
154
./avr/include/avr/ioa6614q.h
155
./avr/include/avr/iom168pa.h
156
./avr/include/avr/iotn2313.h
157
./avr/include/avr/iom8535.h
158
./avr/include/avr/iotn13.h
159
./avr/include/avr/iom6450a.h
160
./avr/include/avr/iotn861.h
161
./avr/include/avr/signature.h
162
./avr/include/avr/io2313.h
163
./avr/include/avr/iom169p.h
164
./avr/include/avr/iom64.h
165
./avr/include/avr/io8534.h
166
./avr/include/avr/iom32hvbrevb.h
167
./avr/include/avr/io2343.h
168
./avr/include/avr/ioa5505.h
169
./avr/include/avr/iomx8.h
170
./avr/include/avr/iotn87.h
171
./avr/include/avr/iox16e5.h
172
./avr/include/avr/iom649p.h
173
./avr/include/avr/iom162.h
174
./avr/include/avr/version.h
175
./avr/include/avr/iom325.h
176
./avr/include/avr/interrupt.h
177
./avr/include/avr/ioa8510.h
178
./avr/include/avr/io90pwm2b.h
179
./avr/include/avr/iom324pa.h
180
./avr/include/avr/iotn441.h
181
./avr/include/avr/iox8e5.h
182
./avr/include/avr/iom64rfr2.h
183
./avr/include/avr/iox32e5.h
184
./avr/include/avr/iom3250pa.h
185
./avr/include/avr/iotn261.h
186
./avr/include/avr/iom649.h
187
./avr/include/avr/iom644.h
188
./avr/include/avr/ioa5791.h
189
./avr/include/avr/iotn24.h
190
./avr/include/avr/ioa6616c.h
191
./avr/include/avr/iom32u4.h
192
./avr/include/avr/iom165a.h
193
./avr/include/avr/iom325p.h
194
./avr/include/avr/iom406.h
195
./avr/include/avr/iousb1286.h
196
./avr/include/avr/iox128c3.h
197
./avr/include/avr/iox192a3u.h
198
./avr/include/avr/iom64hve2.h
199
./avr/include/avr/ioa5782.h
200
./avr/include/avr/iom1284rfr2.h
201
./avr/include/avr/iotn44.h
202
./avr/include/avr/iom645p.h
203
./avr/include/avr/iom163.h
204
./avr/include/avr/iox256a3.h
205
./avr/include/avr/iom64m1.h
206
./avr/include/avr/ioa6285.h
207
./avr/include/avr/iom3250p.h
208
./avr/include/avr/iom328p.h
209
./avr/include/avr/iox32c4.h
210
./avr/include/avr/ioa5790n.h
211
./avr/include/avr/io76c711.h
212
./avr/include/avr/iox128b3.h
213
./avr/include/avr/iom169a.h
214
./avr/include/avr/iom3250.h
215
./avr/include/avr/iom32u2.h
216
./avr/include/avr/io90scr100.h
217
./avr/include/avr/iom32m1.h
218
./avr/include/avr/iox128a4u.h
219
./avr/include/avr/iom64a.h
220
./avr/include/avr/iom169pa.h
221
./avr/include/avr/iotn25.h
222
./avr/include/avr/ioa8210.h
223
./avr/include/avr/iom1280.h
224
./avr/include/avr/iom329a.h
225
./avr/include/avr/iotn88.h
226
./avr/include/avr/iom16hva2.h
227
./avr/include/avr/iom165.h
228
./avr/include/avr/cpufunc.h
229
./avr/include/avr/iotn5.h
230
./avr/include/avr/iotn13a.h
231
./avr/include/avr/iom8hva.h
232
./avr/include/avr/iox128a1u.h
233
./avr/include/avr/iom16a.h
234
./avr/include/avr/iotn84a.h
235
./avr/include/avr/iom16hva.h
236
./avr/include/avr/iom329pa.h
237
./avr/include/avr/iox192c3.h
238
./avr/include/avr/ioa6612c.h
239
./avr/include/avr/iom164pa.h
240
./avr/include/avr/pgmspace.h
241
./avr/include/avr/iox384c3.h
242
./avr/include/avr/iomxx0_1.h
243
./avr/include/avr/iocan64.h
244
./avr/include/avr/iotn84.h
245
./avr/include/avr/sleep.h
246
./avr/include/avr/io43u32x.h
247
./avr/include/avr/iousb647.h
248
./avr/include/avr/iotn43u.h
249
./avr/include/avr/iom64hve.h
250
./avr/include/avr/iox256a3u.h
251
./avr/include/avr/iom165pa.h
252
./avr/include/avr/iotn40.h
253
./avr/include/avr/iom48.h
254
./avr/include/avr/iox128d3.h
255
./avr/include/avr/iotn167.h
256
./avr/include/avr/iocan32.h
257
./avr/include/avr/iomxxhva.h
258
./avr/include/avr/iotn28.h
259
./avr/include/avr/iocanxx.h
260
./avr/include/avr/iom165p.h
261
./avr/include/avr/iotn2313a.h
262
./avr/include/avr/ioa6617c.h
263
./avr/include/avr/lock.h
264
./avr/include/avr/iom128a.h
265
./avr/include/avr/iom1284p.h
266
./avr/include/avr/iousb162.h
267
./avr/include/avr/iox64a4u.h
268
./avr/include/avr/iom128rfa1.h
269
./avr/include/avr/iotn11.h
270
./avr/include/avr/ioa5795.h
271
./avr/include/avr/iotnx4.h
272
./avr/include/avr/iox16a4.h
273
./avr/include/avr/iom644a.h
274
./avr/include/avr/iom329p.h
275
./avr/include/avr/iotn4.h
276
./avr/include/avr/iox32a4.h
277
./avr/include/avr/iotn1634.h
278
./avr/include/avr/portpins.h
279
./avr/include/avr/iom161.h
280
./avr/include/avr/iom640.h
281
./avr/include/avr/eeprom.h
282
./avr/include/avr/iox192a3.h
283
./avr/include/avr/io90pwmx.h
284
./avr/include/avr/iom3000.h
285
./avr/include/avr/io90pwm1.h
286
./avr/include/avr/iom168a.h
287
./avr/include/avr/iom32a.h
288
./avr/include/avr/iom168.h
289
./avr/include/avr/iom32c1.h
290
./avr/include/avr/ioa6289.h
291
./avr/include/avr/iom168p.h
292
./avr/include/avr/power.h
293
./avr/include/avr/io90pwm161.h
294
./avr/include/avr/iom645a.h
295
./avr/include/avr/iom8u2.h
296
./avr/include/avr/iox32c3.h
297
./avr/include/avr/io90pwm81.h
298
./avr/include/avr/iox128a3u.h
299
./avr/include/avr/builtins.h
300
./avr/include/avr/iox64c3.h
301
./avr/include/avr/iom88a.h
302
./avr/include/avr/iom32u6.h
303
./avr/include/avr/iom2560.h
304
./avr/include/avr/boot.h
305
./avr/include/avr/iotn461a.h
306
./avr/include/avr/ioa5790.h
307
./avr/include/avr/iousb82.h
308
./avr/include/avr/iox64a3u.h
309
./avr/include/avr/iox256c3.h
310
./avr/include/avr/iocan128.h
311
./avr/include/avr/iom164.h
312
./avr/include/avr/iom16u2.h
313
./avr/include/avr/iotn85.h
314
./avr/include/avr/iotn261a.h
315
./avr/include/avr/iom169.h
316
./avr/include/avr/iom103.h
317
./avr/include/hostio.h
318
./avr/include/alloca.h
319
./avr/include/errno.h
320
./avr/include/stdfix-avrlibc.h
321
./avr/include/string.h
322
./avr/include/inttypes.h
323
./avr/include/ctype.h
324
./avr/include/setjmp.h
325
./avr/include/stdlib.h
326
./avr/include/util/setbaud.h
327
./avr/include/util/parity.h
328
./avr/include/util/delay.h
329
./avr/include/util/crc16.h
330
./avr/include/util/atomic.h
331
./avr/include/util/twi.h
332
./avr/include/util/delay_basic.h
333
./lib/gcc/avr/4.9.2/install-tools/include/limits.h
334
./lib/gcc/avr/4.9.2/install-tools/gsyslimits.h
335
./lib/gcc/avr/4.9.2/include-fixed/limits.h
336
./lib/gcc/avr/4.9.2/include-fixed/syslimits.h
337
./lib/gcc/avr/4.9.2/include/float.h
338
./lib/gcc/avr/4.9.2/include/stdfix.h
339
./lib/gcc/avr/4.9.2/include/stdbool.h
340
./lib/gcc/avr/4.9.2/include/stdnoreturn.h
341
./lib/gcc/avr/4.9.2/include/stdfix-gcc.h
342
./lib/gcc/avr/4.9.2/include/unwind.h
343
./lib/gcc/avr/4.9.2/include/stdalign.h
344
./lib/gcc/avr/4.9.2/include/stdint.h
345
./lib/gcc/avr/4.9.2/include/stdarg.h
346
./lib/gcc/avr/4.9.2/include/varargs.h
347
./lib/gcc/avr/4.9.2/include/stdatomic.h
348
./lib/gcc/avr/4.9.2/include/iso646.h
349
./lib/gcc/avr/4.9.2/include/stdint-gcc.h
350
./lib/gcc/avr/4.9.2/include/stddef.h
351
./lib/gcc/avr/4.9.2/plugin/include/tree-parloops.h
352
./lib/gcc/avr/4.9.2/plugin/include/plugin-api.h
353
./lib/gcc/avr/4.9.2/plugin/include/cppdefault.h
354
./lib/gcc/avr/4.9.2/plugin/include/fold-const.h
355
./lib/gcc/avr/4.9.2/plugin/include/insn-constants.h
356
./lib/gcc/avr/4.9.2/plugin/include/gimple-ssa.h
357
./lib/gcc/avr/4.9.2/plugin/include/ipa-ref.h
358
./lib/gcc/avr/4.9.2/plugin/include/tree-hasher.h
359
./lib/gcc/avr/4.9.2/plugin/include/gimple-low.h
360
./lib/gcc/avr/4.9.2/plugin/include/gimple-builder.h
361
./lib/gcc/avr/4.9.2/plugin/include/df.h
362
./lib/gcc/avr/4.9.2/plugin/include/gcc-symtab.h
363
./lib/gcc/avr/4.9.2/plugin/include/gimple-fold.h
364
./lib/gcc/avr/4.9.2/plugin/include/tree-ssa-address.h
365
./lib/gcc/avr/4.9.2/plugin/include/diagnostic-core.h
366
./lib/gcc/avr/4.9.2/plugin/include/configargs.h
367
./lib/gcc/avr/4.9.2/plugin/include/filenames.h
368
./lib/gcc/avr/4.9.2/plugin/include/obstack.h
369
./lib/gcc/avr/4.9.2/plugin/include/safe-ctype.h
370
./lib/gcc/avr/4.9.2/plugin/include/tree-outof-ssa.h
371
./lib/gcc/avr/4.9.2/plugin/include/hash-table.h
372
./lib/gcc/avr/4.9.2/plugin/include/resource.h
373
./lib/gcc/avr/4.9.2/plugin/include/pretty-print.h
374
./lib/gcc/avr/4.9.2/plugin/include/insn-modes.h
375
./lib/gcc/avr/4.9.2/plugin/include/flags.h
376
./lib/gcc/avr/4.9.2/plugin/include/context.h
377
./lib/gcc/avr/4.9.2/plugin/include/input.h
378
./lib/gcc/avr/4.9.2/plugin/include/gimple-iterator.h
379
./lib/gcc/avr/4.9.2/plugin/include/machmode.h
380
./lib/gcc/avr/4.9.2/plugin/include/tree-ssanames.h
381
./lib/gcc/avr/4.9.2/plugin/include/statistics.h
382
./lib/gcc/avr/4.9.2/plugin/include/ansidecl.h
383
./lib/gcc/avr/4.9.2/plugin/include/tree-inline.h
384
./lib/gcc/avr/4.9.2/plugin/include/plugin.h
385
./lib/gcc/avr/4.9.2/plugin/include/pointer-set.h
386
./lib/gcc/avr/4.9.2/plugin/include/print-rtl.h
387
./lib/gcc/avr/4.9.2/plugin/include/calls.h
388
./lib/gcc/avr/4.9.2/plugin/include/config/elfos.h
389
./lib/gcc/avr/4.9.2/plugin/include/config/tm-dwarf2.h
390
./lib/gcc/avr/4.9.2/plugin/include/config/avr/avr-stdint.h
391
./lib/gcc/avr/4.9.2/plugin/include/config/avr/avrlibc.h
392
./lib/gcc/avr/4.9.2/plugin/include/config/avr/specs.h
393
./lib/gcc/avr/4.9.2/plugin/include/config/avr/avr-arch.h
394
./lib/gcc/avr/4.9.2/plugin/include/config/avr/avr.h
395
./lib/gcc/avr/4.9.2/plugin/include/config/avr/elf.h
396
./lib/gcc/avr/4.9.2/plugin/include/config/avr/avr-protos.h
397
./lib/gcc/avr/4.9.2/plugin/include/config/dbxelf.h
398
./lib/gcc/avr/4.9.2/plugin/include/config/initfini-array.h
399
./lib/gcc/avr/4.9.2/plugin/include/gimplify-me.h
400
./lib/gcc/avr/4.9.2/plugin/include/tree-dfa.h
401
./lib/gcc/avr/4.9.2/plugin/include/cfgloop.h
402
./lib/gcc/avr/4.9.2/plugin/include/dumpfile.h
403
./lib/gcc/avr/4.9.2/plugin/include/tree.h
404
./lib/gcc/avr/4.9.2/plugin/include/tm_p.h
405
./lib/gcc/avr/4.9.2/plugin/include/flag-types.h
406
./lib/gcc/avr/4.9.2/plugin/include/gcc-plugin.h
407
./lib/gcc/avr/4.9.2/plugin/include/tree-cfgcleanup.h
408
./lib/gcc/avr/4.9.2/plugin/include/tm-preds.h
409
./lib/gcc/avr/4.9.2/plugin/include/tree-ssa-alias.h
410
./lib/gcc/avr/4.9.2/plugin/include/stor-layout.h
411
./lib/gcc/avr/4.9.2/plugin/include/function.h
412
./lib/gcc/avr/4.9.2/plugin/include/tree-ssa-loop-ivopts.h
413
./lib/gcc/avr/4.9.2/plugin/include/bversion.h
414
./lib/gcc/avr/4.9.2/plugin/include/basic-block.h
415
./lib/gcc/avr/4.9.2/plugin/include/highlev-plugin-common.h
416
./lib/gcc/avr/4.9.2/plugin/include/real.h
417
./lib/gcc/avr/4.9.2/plugin/include/tree-ssa-operands.h
418
./lib/gcc/avr/4.9.2/plugin/include/target-hooks-macros.h
419
./lib/gcc/avr/4.9.2/plugin/include/defaults.h
420
./lib/gcc/avr/4.9.2/plugin/include/is-a.h
421
./lib/gcc/avr/4.9.2/plugin/include/system.h
422
./lib/gcc/avr/4.9.2/plugin/include/tree-ssa-ter.h
423
./lib/gcc/avr/4.9.2/plugin/include/genrtl.h
424
./lib/gcc/avr/4.9.2/plugin/include/stmt.h
425
./lib/gcc/avr/4.9.2/plugin/include/gimple-expr.h
426
./lib/gcc/avr/4.9.2/plugin/include/line-map.h
427
./lib/gcc/avr/4.9.2/plugin/include/tree-ssa-dom.h
428
./lib/gcc/avr/4.9.2/plugin/include/ipa-ref-inline.h
429
./lib/gcc/avr/4.9.2/plugin/include/tree-ssa-loop.h
430
./lib/gcc/avr/4.9.2/plugin/include/symtab.h
431
./lib/gcc/avr/4.9.2/plugin/include/regset.h
432
./lib/gcc/avr/4.9.2/plugin/include/hwint.h
433
./lib/gcc/avr/4.9.2/plugin/include/insn-codes.h
434
./lib/gcc/avr/4.9.2/plugin/include/toplev.h
435
./lib/gcc/avr/4.9.2/plugin/include/except.h
436
./lib/gcc/avr/4.9.2/plugin/include/tree-ssa-loop-manip.h
437
./lib/gcc/avr/4.9.2/plugin/include/internal-fn.h
438
./lib/gcc/avr/4.9.2/plugin/include/tree-core.h
439
./lib/gcc/avr/4.9.2/plugin/include/plugin-version.h
440
./lib/gcc/avr/4.9.2/plugin/include/tree-into-ssa.h
441
./lib/gcc/avr/4.9.2/plugin/include/tree-iterator.h
442
./lib/gcc/avr/4.9.2/plugin/include/coretypes.h
443
./lib/gcc/avr/4.9.2/plugin/include/realmpfr.h
444
./lib/gcc/avr/4.9.2/plugin/include/gimple.h
445
./lib/gcc/avr/4.9.2/plugin/include/tree-cfg.h
446
./lib/gcc/avr/4.9.2/plugin/include/bitmap.h
447
./lib/gcc/avr/4.9.2/plugin/include/gimple-pretty-print.h
448
./lib/gcc/avr/4.9.2/plugin/include/double-int.h
449
./lib/gcc/avr/4.9.2/plugin/include/version.h
450
./lib/gcc/avr/4.9.2/plugin/include/md5.h
451
./lib/gcc/avr/4.9.2/plugin/include/gimplify.h
452
./lib/gcc/avr/4.9.2/plugin/include/gtype-desc.h
453
./lib/gcc/avr/4.9.2/plugin/include/auto-host.h
454
./lib/gcc/avr/4.9.2/plugin/include/tree-check.h
455
./lib/gcc/avr/4.9.2/plugin/include/tree-object-size.h
456
./lib/gcc/avr/4.9.2/plugin/include/alloc-pool.h
457
./lib/gcc/avr/4.9.2/plugin/include/c-tree.h
458
./lib/gcc/avr/4.9.2/plugin/include/rtl.h
459
./lib/gcc/avr/4.9.2/plugin/include/tree-ssa-sccvn.h
460
./lib/gcc/avr/4.9.2/plugin/include/hashtab.h
461
./lib/gcc/avr/4.9.2/plugin/include/langhooks.h
462
./lib/gcc/avr/4.9.2/plugin/include/intl.h
463
./lib/gcc/avr/4.9.2/plugin/include/pass_manager.h
464
./lib/gcc/avr/4.9.2/plugin/include/emit-rtl.h
465
./lib/gcc/avr/4.9.2/plugin/include/tree-eh.h
466
./lib/gcc/avr/4.9.2/plugin/include/params.h
467
./lib/gcc/avr/4.9.2/plugin/include/ipa-utils.h
468
./lib/gcc/avr/4.9.2/plugin/include/tree-ssa-loop-niter.h
469
./lib/gcc/avr/4.9.2/plugin/include/ggc.h
470
./lib/gcc/avr/4.9.2/plugin/include/cfghooks.h
471
./lib/gcc/avr/4.9.2/plugin/include/incpath.h
472
./lib/gcc/avr/4.9.2/plugin/include/tree-ssa-coalesce.h
473
./lib/gcc/avr/4.9.2/plugin/include/cpplib.h
474
./lib/gcc/avr/4.9.2/plugin/include/c-family/c-pretty-print.h
475
./lib/gcc/avr/4.9.2/plugin/include/c-family/c-common.h
476
./lib/gcc/avr/4.9.2/plugin/include/c-family/c-pragma.h
477
./lib/gcc/avr/4.9.2/plugin/include/c-family/c-objc.h
478
./lib/gcc/avr/4.9.2/plugin/include/vec.h
479
./lib/gcc/avr/4.9.2/plugin/include/tree-ssa-threadupdate.h
480
./lib/gcc/avr/4.9.2/plugin/include/tree-dump.h
481
./lib/gcc/avr/4.9.2/plugin/include/tree-ssa-threadedge.h
482
./lib/gcc/avr/4.9.2/plugin/include/diagnostic.h
483
./lib/gcc/avr/4.9.2/plugin/include/tree-phinodes.h
484
./lib/gcc/avr/4.9.2/plugin/include/insn-flags.h
485
./lib/gcc/avr/4.9.2/plugin/include/output.h
486
./lib/gcc/avr/4.9.2/plugin/include/gimple-walk.h
487
./lib/gcc/avr/4.9.2/plugin/include/target.h
488
./lib/gcc/avr/4.9.2/plugin/include/ssa-iterators.h
489
./lib/gcc/avr/4.9.2/plugin/include/predict.h
490
./lib/gcc/avr/4.9.2/plugin/include/varasm.h
491
./lib/gcc/avr/4.9.2/plugin/include/tm.h
492
./lib/gcc/avr/4.9.2/plugin/include/opts.h
493
./lib/gcc/avr/4.9.2/plugin/include/libiberty.h
494
./lib/gcc/avr/4.9.2/plugin/include/tree-nested.h
495
./lib/gcc/avr/4.9.2/plugin/include/stringpool.h
496
./lib/gcc/avr/4.9.2/plugin/include/prefix.h
497
./lib/gcc/avr/4.9.2/plugin/include/options.h
498
./lib/gcc/avr/4.9.2/plugin/include/print-tree.h
499
./lib/gcc/avr/4.9.2/plugin/include/alias.h
500
./lib/gcc/avr/4.9.2/plugin/include/fixed-value.h
501
./lib/gcc/avr/4.9.2/plugin/include/splay-tree.h
502
./lib/gcc/avr/4.9.2/plugin/include/hard-reg-set.h
503
./lib/gcc/avr/4.9.2/plugin/include/diagnostic-color.h
504
./lib/gcc/avr/4.9.2/plugin/include/tree-ssa.h
505
./lib/gcc/avr/4.9.2/plugin/include/ipa-reference.h
506
./lib/gcc/avr/4.9.2/plugin/include/config.h
507
./lib/gcc/avr/4.9.2/plugin/include/cgraph.h
508
./lib/gcc/avr/4.9.2/plugin/include/sbitmap.h
509
./lib/gcc/avr/4.9.2/plugin/include/debug.h
510
./lib/gcc/avr/4.9.2/plugin/include/timevar.h
511
./lib/gcc/avr/4.9.2/plugin/include/cfgexpand.h
512
./lib/gcc/avr/4.9.2/plugin/include/tree-pass.h
513
./lib/gcc/avr/4.9.2/plugin/include/attribs.h
514
./lib/gcc/avr/4.9.2/plugin/include/tree-pretty-print.h
515
./lib/gcc/avr/4.9.2/plugin/include/ipa-prop.h
516
./doc/avr-libc/examples/stdiodemo/lcd.h
517
./doc/avr-libc/examples/stdiodemo/uart.h
518
./doc/avr-libc/examples/stdiodemo/hd44780.h
519
./doc/avr-libc/examples/stdiodemo/defines.h
520
./doc/avr-libc/examples/asmdemo/project.h
521
./doc/avr-libc/examples/demo/iocompat.h

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Dennis S. schrieb:
> Dann verrat mir bitte den Pfad.
1
#include <avr/io.h>
und fertig.  Wenn das nicht funktioniert, dann hast du

-- eine vermurkste Installation und / oder
-- eine vermurkste Quelle (z.B. für avrasm.exe) und / oder
-- vermurkste Optionen (z.B. falsches / fehlendes -mmcu=)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Leute, er war einfach immer noch auf der Suche nach diesen .inc-Dateien.

Die gibt's halt wirklich nur beim Atmel Studio, da sie letztlich zu
deren Assembler gehören.

von Andy (Gast)


Lesenswert?

Hallo!

Ich hatte gerade das gleiche Problem, wie der Thread-Eröffner
und konnte es folgendermaßen lösen:

1.) http://members.ziggo.nl/electro1/avr/definitions.htm
    Da gibt es die include files.

2.) Der gcc-as möchte das nicht verarbeiten, spuckt hunderte Errors aus,
    avra meckert jedoch nicht.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Andy schrieb:
> 2.) Der gcc-as möchte das nicht verarbeiten, spuckt hunderte Errors aus,
>     avra meckert jedoch nicht.

Logisch.  Letzterer ist ja explizit so geschrieben worden, dass er
kompatibel zum Atmel-Assembler ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.