Forum: Mikrocontroller und Digitale Elektronik Assembler Programm auf ATmega16 brennen


von Damien (Gast)


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

von Egal (Gast)


Lesenswert?

> Kann mir da jemand helfen bitte?
Google, die Forensuche und die Tutorials hier. GCC ist für C gemacht.

von Hc Z. (mizch)


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.

von Damien (Gast)


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

von Hc Z. (mizch)


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.

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.