Hallo ich bin gerade dabei mich mit Mikrocontrollern anzufreunden. Ich habe mir dazu dauzu das Kontrollerlab installiert, da ich unter Linux arbeite. Über USB habe ich einen Atmel AVR ISP mkII angeschlossen. Mein Übungskontroller ist ein Atmel AtMega32. Bei C-Programmen geht auch alles reibungslos nur mit Assembler seh ich keinen Stich mehr. Habe schon etliche Treats gelesen und einiges versucht, aber es kommen immer wieder neue Fehler, und ich weiß echt nicht weiter. Ich habe meine Versuchsdateien mal angehängt. Ich denke, dass vielleicht das Makefile falsch ist, aber davon habe ich (noch) keine Ahnung. Ich habe mal die ersten Zeilen der Fehlermeldung abgelichtet (Mit c&p gehts leider nicht) Wäre schön, wenn mir jemand weiterhelfen könnte. Vielleicht sind ja auch nur Einstellungen falsch oder so... Gruß Alex
Ja, habe ich geändert. In der Makefile habe ich auch aus "avr-gcc" "avra" gemacht. Die Fehlermeldung ist jetzt schon kürzer, aber funktionieren tuts immer noch nicht...
>In der Makefile habe ich auch aus "avr-gcc" "avra" gemacht. Na klasse, du rufst AVRA mit AVR-GCC Style Parametern auf. Warum sollte das klappen?
Wenn ich wüsste, was ich da täte... es war nur ein Versuch
So geht es...
in Geany und dann mit der Konsole:
########################################################################
############
1.Schritt - Assembler-Datei assemblieren mit avra
*.hex -> für den Flash
*.eep.hex -> für den EEPROM
------------------------------------------------------------------------
------------
nutzer@PC:~$ avra *.s
AVRA: advanced AVR macro assembler Version 1.2.3 Build 1 (15. November
2007)
Copyright (C) 1998-2007. Check out README file for more info
AVRA is an open source assembler for Atmel AVR microcontroller family
It can be used as a replacement of 'AVRASM32.EXE' the original
assembler
shipped with AVR Studio. We do not guarantee full compatibility for
avra.
AVRA comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of avra under the terms
of the GNU General Public License.
For more information about these matters, see the files named
COPYING.
Pass 1...
Pass 2...
done
Used memory blocks:
Code : Start = 0x0000, End = 0x0004, Length = 0x0005
Assembly complete with no errors.
Segment usage:
Code : 5 words (10 bytes)
Data : 0 bytes
EEPROM : 0 bytes
########################################################################
############
2.Schritt - Speicher löschen mit AVRDUDE
Parameter:
-c Programmer ID (avrdude -c?)
-p Kontrollerkürzel (avrdude -p?)
-P Portkenzeichnung
-e Speicher löschen
------------------------------------------------------------------------
------------
nutzer@PC:~$ avrdude -c avrispmkII -p m32 -P usb -e
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100%
0.01s
avrdude: Device signature = 0x1e9502
avrdude: erasing chip
avrdude: safemode: Fuses OK
avrdude done. Thank you.
########################################################################
############
3.Schritt - Speicher schreiben mit AVRDUDE
Parameter:
-c Programmer ID (avrdude -c?)
-p Kontrollerkürzel (avrdude -p?)
-P Portkenzeichnung
-U Speichertyp:Operation:Datei
Speichertyp - welcher Speicher soll bearbeitet
werden
Operation - lesen(r) / schreiben(w) /
vergleichen(v)
Datei - Ziel- oder Quelldatei der Daten, bzw
Bytes
------------------------------------------------------------------------
------------
nutzer@PC:~$ avrdude -c avrispmkII -p m32 -P usb -U flash:w:main.s.hex
-U eeprom:w:main.s.eep.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100%
0.01s
avrdude: Device signature = 0x1e9502
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be
performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "main.s.hex"
avrdude: input file main.s.hex auto detected as Intel Hex
avrdude: writing flash (10 bytes):
Writing | ################################################## | 100%
0.02s
avrdude: 10 bytes of flash written
avrdude: verifying flash memory against main.s.hex:
avrdude: load data flash data from input file main.s.hex:
avrdude: input file main.s.hex auto detected as Intel Hex
avrdude: input file main.s.hex contains 10 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100%
0.01s
avrdude: verifying ...
avrdude: 10 bytes of flash verified
avrdude: reading input file "main.s.eep.hex"
avrdude: input file main.s.eep.hex auto detected as Intel Hex
avrdude: writing eeprom (0 bytes):
Writing | ################################################## | 100%
0.00s
avrdude: 0 bytes of eeprom written
avrdude: verifying eeprom memory against main.s.eep.hex:
avrdude: load data eeprom data from input file main.s.eep.hex:
avrdude: input file main.s.eep.hex auto detected as Intel Hex
avrdude: input file main.s.eep.hex contains 0 bytes
avrdude: reading on-chip eeprom data:
Reading | ################################################## | 100%
0.53s
avrdude: verifying ...
avrdude: 0 bytes of eeprom verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
########################################################################
############
FERTIG
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.

