Assembler Programm auf ATmega16 brennen

Gast #1932947
Lesenswert?

Hallo zusammen,
da ihr mir das letzte mal schon so schnell und gut geholfen habt frage 
ich euch mal nach meinem Problem.

Ich will ein Assembler Programm, welches eine LED zum blinken bringt, 
auf meinen ATmega16 brennen. Jetzt bräuchte ich die Befehlszeile vom 
avr-gcc mit dem ich dieses .s file auf den mega16 gebrannt kriege. Kann 
mir da jemand helfen bitte?

Gruß, Damien
#1933030
Lesenswert?

Egal schrieb:
> GCC ist für C gemacht.

Na ja, gcc kann auch Assembler und weiß, was er mit .s anfangen soll.

Die Frage ist zunächst eher, ob das Assembler-Programm für avr-gcc 
(avr-as) geschrieben ist oder für Atmels Tool, den avrasm2.exe.  Da gibt 
es ein paar Unterschiede in der Syntax.

Dann kannst Du natürlich ein .s nicht brennen, das Ergebnis wäre 
nutzlos.  Du musst es übersetzen (avrasm2.exe oder avr-gcc).  Das ergibt 
ein .hex (.elf geht meist auch), das zum Brennen bereit ist.  Gebrannt 
werden kann z.B. mit avrdude oder mit den eingebauten Brennprogrammen im 
AVR Studio oder auch ganz ohne mit Bootloader.  Das kommt darauf an, wie 
Deine Hardware aussieht.
Gast #1933036
Lesenswert?

Mein Programm Code:

.NOLIST
.INCLUDE "m16def.inc"
.LIST

.DEF mp=R16

        rjmp    main

main:

        ldi     mp,0b10000000

        out     DDRD,mp

loop:

        ldi     mp,0x00
        out     PORTD,mp

        ldi     mp,0xFF
        out     PORTD,mp

        rjmp    loop

Dies will ich jetzt gerne auf meinen ATmega16 brennen. Ich arbeite auf 
Linux und habe meine C-Programme früher immer über ein Makefile 
gebrannt.. dort hier die anweisung:
brennen: $(f).hex
        avrdude -u -e -c avrisp2 -P usb -p m16 -U flash:w:$^

Gruß und danke im Voraus
#1933043
Lesenswert?

Dein Quellcode ist für Atmels Tools geschrieben.  Du wirst also zum 
Übersetzen avrasm2.exe mit wine verwenden müssen oder das Quellfile 
umschreiben.  Zum Brennen hast Du schon die richtige Kommandozeile 
gefunden, dabei das „$^“ durch den Namen Deiner .hex ersetzen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren