Forum: Mikrocontroller und Digitale Elektronik AVR und Assembler


von genervt (Gast)


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?

von Düsendieb (Gast)


Lesenswert?

haste da oben bei Suchen schon mal : AVR-Studio Linux
eingetippt?

von genervt (Gast)


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?

von Cyblord -. (cyblord)


Lesenswert?

avr-gcc gibts doch auch für linux oder täusche ich mich da jetzt? Da 
hast du auch nen Assembler dabei.

von genervt (Gast)


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ß.

von Peter II (Gast)


Lesenswert?

cyblord ---- schrieb:
> vr-gcc gibts doch auch für linux oder täusche ich mich da jetzt? Da
> hast du auch nen Assembler dabei.

dieser Assembler ist aber nicht zu dem ASM-Studio Kompatibel. Das ist 
ein andere Syntax.

von Moritz A. (moritz_a)


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.

von Cyblord -. (cyblord)


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.

von Ziggy (Gast)


Lesenswert?

Avra zum assemblieren und Avrdude zum programmieren.

von Axel S. (a-za-z0-9)


Lesenswert?

genervt schrieb:
> 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?

Weitgehend kompatibel zum AVR-Assembler von Atmel ist AVRA:

http://avra.sourceforge.net/README.html


XL

von genervt (Gast)


Lesenswert?

Probiere ich einmal, danke für den Tipp

von genervt (Gast)


Lesenswert?

Kann es sein, daß der AVRA die Direktive .eseg nicht kennt?

von Peter S. (cbscpe)


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.

von Walter S. (avatar)


Lesenswert?

genervt schrieb:
> jetzt fehl mir
> halt noch ein Assembler

wine und avrasm geht auch

von Peter S. (cbscpe)


Lesenswert?

Nicht das ich das jetzt machen würde (Wine unter MacOSX ist doch eher 
ein Overkill um nur avrasm2 laufen zu lassen, ganz abgesehen davon, der 
Aufwand bis man Wine unter MacOSX installiert hat ist enorm) aber kann 
man nicht einfach AVR Studio 4 unter Wine laufen lassen?

von Walter S. (avatar)


Lesenswert?

Peter Schranz schrieb:
> der
> Aufwand bis man Wine unter MacOSX installiert hat ist enorm)
ach so, MACOS, im ersten Beitrag  stand aber was von Linux

> aber kann
> man nicht einfach AVR Studio 4 unter Wine laufen lassen?
ich bin damit nicht glücklich geworden, immer wieder Abstürze usw.

von Peter S. (cbscpe)


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.

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.