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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.