AVR und Assembler

Gast #3260363
Lesenswert?

Hallo Forum,

ich weis, alles schon mal da gewesen aber trotzdem komme ich nicht 
weiter, einfach zu viele Infos, ich weis gar nicht wo ich anfangen soll.
Zum Problem: Bisher habe ich mit dem AVR-Studio rein in Assembler 
programmiert. Jetzt würde ich gerne komplett auf Linux umsteigen. Welche 
Programme würdet Ihr mir für das Übersetzten einer Textdatei in 
Assembler empfehlen und was muß ich event. beachten wenn ich die Dateien 
die schon mit dem Studio geschrieben habe weiterverwenden möchte?
Gast #3260406
Lesenswert?

Gerade mal versucht, bringt mich aber auch nicht sio richtig weiter. Als 
Editor würde ich geany nehmen, zum übertrgaen PonnyProg jetzt fehl mir 
halt noch ein Assembler. Welchen sollte ich nehmen?
Gast #3260413
Lesenswert?

Da ich noch nie in C, C++ usw. programmiert habe, entschuldige wenn ich 
was falsches sage. Ich dachte mit dem avr-gcc hann ich nur eine 
a.out-Datei erzeugen die dann nichmnal durch den Assembler muß.
#3260421
Lesenswert?

genervt schrieb:
> Welche
> Programme würdet Ihr mir für das Übersetzten einer Textdatei in
> Assembler empfehlen

AVR-GCC, make und passendes Makefile, im Makefile hast du dann diverse 
Optionen zum kompilieren und flashen.

Aufruf ist dann ein make/make clean/make program etc auf der Konsole.

> und was muß ich event. beachten wenn ich die Dateien
> die schon mit dem Studio geschrieben habe weiterverwenden möchte?

Sofern die Libraries kompatibel sind reicht es, ein passendes Makefile 
herzunehmen.
#3260426
Lesenswert?

genervt schrieb:
> Da ich noch nie in C, C++ usw. programmiert habe, entschuldige wenn ich
> was falsches sage. Ich dachte mit dem avr-gcc hann ich nur eine
> a.out-Datei erzeugen die dann nichmnal durch den Assembler muß.

Nana da wird aber einiges verwechselt.

avr-gcc ist ja ne komplette Toolchain. Der Assembler (avr-as) bzw. 
Compiler (avr-gcc) erzeugt aus jeder deiner Source Dateien (Assembler 
oder C) eine Objekt-Datei (.o).
Der Linker (auch avr-gcc aber mit anderem Aufruf) linkt die ganzen 
Objekt-Dateien in eine .elf Datei. Die kann mittels avr-objcopy in eine 
.hex gewandelt werden, die man dann auf den Controller brennt. Das macht 
man natürlich alles nicht von Hand, sondern mit einer IDE, oder 
klassisch per Makefile. Ich empfehle Eclipse als IDE.

Allerdings muss ich sagen, deine Probleme sind hausgemacht. Komplettes 
Umsteigen auf Linux verursacht solche Probleme nunmal. Man stößt recht 
häufig auf Tools die man unter Win kannte und nun für Linux keinen 100% 
Ersatz findet.

> dieser Assembler ist aber nicht zu dem ASM-Studio Kompatibel. Das ist
> ein andere Syntax.
Ja das stimmt leider.
#3267866
Lesenswert?

Ich habe endlich gerade die Hürden geschafft um AVRA auf Mountain Lion 
zu übersetzen.  Ich stand fast vor der gleichen Aufgabe nur wollte ich 
nicht nach Linux sondern nach Mac OS X und bin überhaupt erst wegen 
diesem Thread auf AVRA gestossen. Danke. Habe auch ein altes Assembler 
File mit .eseg assembliert und es produziert wie erwartet ein .eep.hex 
file. Bei mir erkennt er die .eseg Direktive.
#3269623
Lesenswert?

Ja du hast recht, der OP wollte schon von Windows -> Linux wechseln. Und 
er wollte einen Assembler mit der (fast) gleichen Syntax wie avrasm2 im 
AVR Studio um seine Assembler Sourcen weiterverwenden zu können. Und ich 
wollte von Windows -> Mac OS X und auch meine Assembler Files 
beibehalten.

Der entscheidende Tip war der AVRA Assembler (Dank an Ziggy/Axel) der 
als Source-Code verfügbar ist. Der  läuft sowohl unter Linux und Mac OS 
X. Weil die Problemstellung also ähnlich war, habe ich mich da 
eingeklinkt. Vor allem auch um dem OP zu sagen, dass die .eseg Directive 
mindestens bei mir funktioniert (ach ich vergass zu sagen ich verwendete 
dazu Version 1.3 des AVRA Assembler). Die entmutigende Erfahrung von 
Walter mit AVR Studio unter AVR bestätigt mir, dass AVRA wohl der 
einfachste Weg ist. Da ich mit Assembler und Command Line aufgewachsen 
bin stört mich auch nicht, dass ich im Moment alles im CLI machen muss. 
Und wenn ich mal Zeit habe bastle ich mir ein xcode project template, 
besser gesagt ein makefile, denn für avr-gcc habe ich schon ein xcode 
template, das AVRA unterstützt. Dann kann ich dort auch gleich noch 
avr-gcc als Präprozessor aufrufen bevor ich das File dem AVRA zum 
assemblieren gebe.

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