Forum: Compiler & IDEs avr-gcc und assembler?


von hicham (Gast)


Lesenswert?

Hi ihr lieben,

also nach dem ich nun mein Evaluationboard und ISP-PRogrammer 
erfolgreich gebaut habe wollte ich nun auch den controller 
programmieren. Unter windows war das alles sehr einfach nun wollte ich 
auf linux umsteigen.

ich bin gerade dabei den avr-gcc guide durchzustudieren. Was ich bisher 
verstanden habe programmiert man hier mit C. Kann ich auch in Assembler 
programmieren und den Code dann mit avr-gcc in .hex umwandeln?

Falls das nicht funktionieren sollte kann mir jemand eine methode geben 
wie ich mein Assembler-Code in den Controller kriege ??

DAnke im vorraus

von Stefan B. (stefan) Benutzerseite


Lesenswert?

> Kann ich auch in Assembler
> programmieren und den Code dann mit avr-gcc in .hex umwandeln?

Ja kannst du. Die Syntax des GNU Assemblers ist allerdings etwas anders 
als die des Atmel Assemblers und 1:1 kannst du Atmel Beispielcode nicht 
übernehmen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nachtrag: die übliche Dateinamensendung für Assemblerquelltexte, die
vorher noch den Präprozessor durchlaufen sollen (damit #defines wie
bspw. für die IO-Register aufgelöst werden), ist .S, nicht .asm.  Wenn
man einen Dateinamen mit .S auf der Compiler-Kommandozeile angibt, dann
ruft der Compiler den Präprozessor und den Assembler auf.

von hicham (Gast)


Lesenswert?

hi

danke euch auch wenn ich das nicht so wirklich verstehe...
Also ich kann in Assembler programmieren aber nicht atmel assembler 
sondern avr-gcc assembler??

Auf gut deutsch die Beispiel-Codes umschreiben in gcc assembler und dann 
in .S abspeichern und in .hex umwandeln. Hab ich das so richtig 
verstanden?

Da es in Hex umgewandelt wird ist das dann wieder egal welche 
assemblersyntax man benutzt hat?

danke im vorraus

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Kann man so sagen.

von Rolf M. (rmagnus)


Lesenswert?

hicham schrieb:
> danke euch auch wenn ich das nicht so wirklich verstehe...
> Also ich kann in Assembler programmieren aber nicht atmel assembler
> sondern avr-gcc assembler??

Wenn du den avr-gcc dafür einsetzten willst, ja.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

hicham schrieb:
> dann
> in .S abspeichern und in .hex umwandeln.

Wobei das zwei Schritte sind.  Der Assembler und Linker produzieren
dir ein ELF-File, das du dann in ein Hexfile umwandeln kannst.

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.