So, ich habe erstmal die 7-seg.asm in 7-seg.sx umbenannt. Das hat
erstmal die Anzahl der Fehler reduziert.
m32def.inc scheint eine falsche Fährte gewesen zu sein. Hatte ich aus
einem Tutorial, das ich gerade durcharbeite. Habe wohl eine andere
Entwicklungsumgebung.
Die richtige Einbindung der Definitionsdatei erfolgt durch
-mmcu=atmega32, oder auch #include <avr/iom32.h>.
Das bringt aber leider immer noch eine ganze Reihe von Fehlern. Hier ein
Auszug:
1 | avr-gcc -Wall -g2 -gstabs -O0 -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=4000000UL -MMD -MP -MF"avr-sammlng-2.d" -MT"avr-sammlng-2.d" -c -o "avr-sammlng-2.o" "../avr-sammlng-2.c"
|
2 | In file included from ../avr-sammlng-2.c:7:
|
3 | ../7-seg.sx:9: error: expected identifier or '(' before '.' token
|
4 | ../7-seg.sx:14: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Handler'
|
5 | ../7-seg.sx:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token
|
6 | ../7-seg.sx:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'initialisieren'
|
7 | ../7-seg.sx:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'temp1'
|
8 | ../7-seg.sx:23: error: stray '$' in program
|
9 | ../7-seg.sx:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Anzeige'
|
10 | ../7-seg.sx:23: error: stray '\303' in program
|
11 | ../7-seg.sx:23: error: stray '\244' in program
|
Die entsprechenden Zeilen im Code, beginnend mit Zeile 9:
1 | .def zero = r1
|
2 | .def count = r16
|
3 | .def temp1 = r17
|
4 |
|
5 | .org 0x0000
|
6 | rjmp main ; Reset Handler
|
7 | ;
|
8 | main:
|
9 | ldi temp1, HIGH(RAMEND)
|
10 | out SPH, temp1
|
11 | ldi temp1, LOW(RAMEND) ; Stackpointer initialisieren
|
12 | out SPL, temp1
|
13 |
|
14 | ;
|
15 | ldi temp1, $FF ; die Anzeige hängt am Port D
|
16 | out DDRD, temp1 ; alle Pins auf Ausgang
|
17 | ;
|
18 | ldi count, 0 ; und den Zähler initialisieren
|
Ich weiß nicht, wo hier ein Fehler sein könnte, kann jemand
weiterhelfen?
Gruß
Frank