Elektronik Projekt
RSS Feed Selector Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Elektronik Projekt » Mikrocontroller » Atmel AVR RISC » [ASM] AVR Assembler Programmierung unter Linux mit Geany » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen AVR Assembler Programmierung unter Linux mit Geany
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
MarkusB MarkusB ist männlich
Administrator


images/avatars/avatar-214.png

Dabei seit: 22.02.2003
Beiträge: 7.748
Herkunft: Petersberg

AVR Assembler Programmierung unter Linux mit Geany Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Moin,
anlässlich der Weiterentwicklung von avra habe ich mich mal daran gemacht, um dem fehlenden Syntax Highlightning unter Linux wenigstens etwas weiter zu helfen und habe für Geany eine Syntax Datei angepasst

Näheres dazu im Wiki
18.07.2010 15:36 MarkusB ist offline E-Mail an MarkusB senden Homepage von MarkusB Beiträge von MarkusB suchen Nehmen Sie MarkusB in Ihre Freundesliste auf
MarkusB MarkusB ist männlich
Administrator


images/avatars/avatar-214.png

Dabei seit: 22.02.2003
Beiträge: 7.748
Herkunft: Petersberg

Themenstarter Thema begonnen von MarkusB
RE: AVR Assembler Programmierung unter Linux mit Geany Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich habe die Datei filetypes.asm noch um ein Feature erweitert. Es ist jetzt sowohl für gavrasm als auch für avra möglich, dass ein Fehler im Editor markiert wird. Dafür muss in der jeweiligen Zeile am Ende von filetypes.asm der Kommentar entfernt werden bzw die andere Zeile muss auskommentiert werden

code:
1:
2:
3:
4:
5:
6:
# Uncomment for gavrasm
#error_regex=\[(.+),([0-9]+)\]

# Uncomment for avra
error_regex=(.+)\(([0-9]+)\) : Error


Wie es bei avra aussieht könnt ihr auf dem Screenshot sehen. Der Tiny13 kennt den Befehl JMP nicht

Dateianhang:
unknown filetypes.asm (4 KB, 403 mal heruntergeladen)

MarkusB hat dieses Bild (verkleinerte Version) angehängt:
geany_assembler_error.png

22.07.2010 13:40 MarkusB ist offline E-Mail an MarkusB senden Homepage von MarkusB Beiträge von MarkusB suchen Nehmen Sie MarkusB in Ihre Freundesliste auf
MarkusB MarkusB ist männlich
Administrator


images/avatars/avatar-214.png

Dabei seit: 22.02.2003
Beiträge: 7.748
Herkunft: Petersberg

Themenstarter Thema begonnen von MarkusB
RE: AVR Assembler Programmierung unter Linux mit Geany Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

So, zum Abschluss noch ein einfaches Makefile

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
TARGET= test

all:
	avra $(TARGET).asm

program:
	avrdude -p t13 -U flash:w:$(TARGET).hex

clean:
	rm $(TARGET).cof
	rm $(TARGET).eep.hex
	rm $(TARGET).hex
	rm $(TARGET).lst
22.07.2010 19:20 MarkusB ist offline E-Mail an MarkusB senden Homepage von MarkusB Beiträge von MarkusB suchen Nehmen Sie MarkusB in Ihre Freundesliste auf
Vlad Vlad ist männlich
Jungspund


images/avatars/avatar-310.jpg

Dabei seit: 02.07.2011
Beiträge: 10
Herkunft: Düsseldorf

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Tag! Unter Linux (in meinem Fall UBUNTU 11.04) kann AVRA nur in der Version 1.2.3 installiert werden. Aktuelle Version ist 1.3.0. Unterschied zwischen den Versionen - 48 unterstützte Controller in der neuen Version gegen 39 in der Alten. Wie installiere ich statt 1.2.3 die 1.3.0? Mit der fertig kompilierten Version kann ich nur ./avra projekt.asm aufrufen. Ich habe AVRA unter DOS/Windows kompiliert (DJGPP, unter Einbeziehung des Makefiles für Linux), es läuft unter DOS Fenster (sowohl unter COMMAND als auch unter CMD Konsole).
Das Programm GEANY aus welchem Grund auch will nur nasm haben (?) Ich benutze Linux nur einige Monate und kann noch nicht richtig damit umgehen
06.07.2011 07:02 Vlad ist offline E-Mail an Vlad senden Beiträge von Vlad suchen Nehmen Sie Vlad in Ihre Freundesliste auf
Horst_h
Haudegen


Dabei seit: 16.03.2008
Beiträge: 503
Herkunft: Nds

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

unter dem Reiter Erstellen kann man ganz unten die "Kommandos zum Erstellen konfigurieren" entsprechend einstellen.
Müsste bei Dir avra "%f" statt nasm "%f" sein.
Dafür solltest Du eine .asm Datei geöffnet haben.

Gruß Horst

Horst_h hat diese Bilder (verkleinerte Versionen) angehängt:
Geany_1.png Geany_2.png

06.07.2011 08:22 Horst_h ist offline E-Mail an Horst_h senden Beiträge von Horst_h suchen Nehmen Sie Horst_h in Ihre Freundesliste auf
MarkusB MarkusB ist männlich
Administrator


images/avatars/avatar-214.png

Dabei seit: 22.02.2003
Beiträge: 7.748
Herkunft: Petersberg

Themenstarter Thema begonnen von MarkusB
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

avra hier runterladen

Dann musst du in deinem /home Verzeichnis ein Verzeichnis namens bin anlegen. Da entpackst du alles rein. Eventuell musst du das Programm noch ausführbar machen. Zum Schluss musst du dich abmelden. Dann sollte avra funktionieren
06.07.2011 08:44 MarkusB ist offline E-Mail an MarkusB senden Homepage von MarkusB Beiträge von MarkusB suchen Nehmen Sie MarkusB in Ihre Freundesliste auf
MarkusB MarkusB ist männlich
Administrator


images/avatars/avatar-214.png

Dabei seit: 22.02.2003
Beiträge: 7.748
Herkunft: Petersberg

Themenstarter Thema begonnen von MarkusB
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ach ja, hier findest du eine Anleitung für ASM mit Geany unter Linux
06.07.2011 08:46 MarkusB ist offline E-Mail an MarkusB senden Homepage von MarkusB Beiträge von MarkusB suchen Nehmen Sie MarkusB in Ihre Freundesliste auf
Vlad Vlad ist männlich
Jungspund


images/avatars/avatar-310.jpg

Dabei seit: 02.07.2011
Beiträge: 10
Herkunft: Düsseldorf

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von Horst_h
... unter dem Reiter Erstellen kann man ganz unten die
"Kommandos zum Erstellen konfigurieren" entsprechend einstellen.
Müsste bei Dir avra "%f" statt nasm "%f" sein.
Dafür solltest Du eine .asm Datei geöffnet haben.
Gruß Horst

Danke, jetzt habe ich gesehen. Und wenn bei mir tavrasm statt avra, muss ich eventuel alle Optionen fürs Kompileren in die Zeile hintereinander schreiben um die HEX, EEP, LST Datei zu bekommen (avra macht das automatisch):
tavrasm -h "%f".asm -o "%f".hex -r "%f".eep -e "%f".lst
Ups! Bei dieser Schreibweise wird eventuell Dateiname mit der Erweiterung .asm unter "%f" erscheinen, ich bekomme dann dateiname.asm.hex usw. Aber ich bleibe vorerst bei avra.

Zitat:
Original von MarkusB
avra hier runterladen

Das habe ich auch gemacht, sowohl fertigkompiliertes Programm, als auch Source, das ich selbst kompiliert habe (für Linux und für DOS/Windows)

Zitat:
Original von MarkusB
Dann musst du in deinem /home Verzeichnis ein Verzeichnis namens bin anlegen. Da entpackst du alles rein. Eventuell musst du das Programm noch ausführbar machen. Zum Schluss musst du dich abmelden. Dann sollte avra funktionieren

Es funktioniert nicht, das werde ich später noch mal anschauen warum

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Vlad: 06.07.2011 20:11.

06.07.2011 20:04 Vlad ist offline E-Mail an Vlad senden Beiträge von Vlad suchen Nehmen Sie Vlad in Ihre Freundesliste auf
Vlad Vlad ist männlich
Jungspund


images/avatars/avatar-310.jpg

Dabei seit: 02.07.2011
Beiträge: 10
Herkunft: Düsseldorf

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von MarkusB
Ach ja, hier findest du eine Anleitung für ASM mit Geany unter Linux

Danke! Sehr interessant! Ist es der Weg, um so etwas wie AVR Studio für Linux zu schaffen?
***************************************************
P.S. Ich habe gavrasm ausprobiert - zeigt immer den gleichen Fehler (mit der Version 2.9 auch):
gavrasm Gerd's AVR assembler version 2.7 (C)2010 by DG4FAC
----------------------------------------------------------
Quelldatei: macrobug.asm
Hexdatei: macrobug.hex
Eepromdatei: macrobug.eep
Kompiliert: 05.07.2011, 21:45:28
Durchgang: 1
Fehler ==> .device AT90S8515
[macrobug.asm,9] 095: Definition der Symbole gescheitert!
Kompilation abgebrochen, 1 Fehler!
***************************************************
Sehr eigenartig, finde ich. Wenn ich .device AT90S8515 durch .include 8515def.inc ersetze, zeigt genau dasselbe. Mit den 178 unterstützten Controller ist ein vielversprechendes Programm.

Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von Vlad: 06.07.2011 20:42.

06.07.2011 20:21 Vlad ist offline E-Mail an Vlad senden Beiträge von Vlad suchen Nehmen Sie Vlad in Ihre Freundesliste auf
Vlad Vlad ist männlich
Jungspund


images/avatars/avatar-310.jpg

Dabei seit: 02.07.2011
Beiträge: 10
Herkunft: Düsseldorf

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von MarkusB
Dann musst du in deinem /home Verzeichnis ein Verzeichnis namens bin anlegen. Da entpackst du alles rein. Eventuell musst du das Programm noch ausführbar machen. Zum Schluss musst du dich abmelden. Dann sollte avra funktionieren

Danke für den Typ! Es hat geklappt! Mit beiden Assemblern - avra 1.3.0 (noch mal frisch kompiliert) und tavrasm 1.22
... und mit gavrasm 2.9 auch

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Vlad: 07.07.2011 21:24.

06.07.2011 20:58 Vlad ist offline E-Mail an Vlad senden Beiträge von Vlad suchen Nehmen Sie Vlad in Ihre Freundesliste auf
Vlad Vlad ist männlich
Jungspund


images/avatars/avatar-310.jpg

Dabei seit: 02.07.2011
Beiträge: 10
Herkunft: Düsseldorf

RE: AVR Assembler Programmierung unter Linux mit Geany Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von MarkusB
IWie es bei avra aussieht könnt ihr auf dem Screenshot sehen. Der Tiny13 kennt den Befehl JMP nicht

Und avra kennt Pragma-Direktive nicht... abgeguckt hier:
http://www.jan-grosser.de/basteleien/40-...ateien-bei-avra
08.07.2011 20:15 Vlad ist offline E-Mail an Vlad senden Beiträge von Vlad suchen Nehmen Sie Vlad in Ihre Freundesliste auf
MarkusB MarkusB ist männlich
Administrator


images/avatars/avatar-214.png

Dabei seit: 22.02.2003
Beiträge: 7.748
Herkunft: Petersberg

Themenstarter Thema begonnen von MarkusB
RE: AVR Assembler Programmierung unter Linux mit Geany Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

#pragma Anweisungen werden bei mir von avra ignoriert. gavrasm funktioniert aber
09.07.2011 10:14 MarkusB ist offline E-Mail an MarkusB senden Homepage von MarkusB Beiträge von MarkusB suchen Nehmen Sie MarkusB in Ihre Freundesliste auf
Vlad Vlad ist männlich
Jungspund


images/avatars/avatar-310.jpg

Dabei seit: 02.07.2011
Beiträge: 10
Herkunft: Düsseldorf

RE: AVR Assembler Programmierung unter Linux mit Geany Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Auswahl des Assemblers: avra, tavrasm, gavrasm

AVRA: AVRA kompiliert (assembliert) so, daß es die Dateien .cof, .hex, .eep.hex und .obj generiert werden, aber kein Listing .lst . Dafür musste ich avra -l projekt.asm projekt.lst aufrufen. Im Geany, Menü "Kommandos zum Erstellen konfigurieren", versuchte ich folgendes : avra -l "%f" "%f" , was nach dem Kompileren zwar .hex, .eep.hex und .obj Dateien ergibt, aber projekt.asm vom Inhalt des Listings überschrieben wird. So was! (:

TAVRASM: Das Programm ohne zusätzliche Parameter kompiliert projekt.asm und erzeugt nur .hex Datei, keine .eep, keine .lst. Um alle notwendige Dateien mit tavrasm zu erzeugen, kam ich auf solche monströse Einstellung: tavrasm -h "%e".asm -o "%e".hex -r "%e".eep -e "%e".lst und bekam das Projekt kompiliert. Nur die .obj Datei war nicht dabei, weil Parameter -j für das OBJ Format mit anderen Parametern kollidiert. Auf die Idee "%e" statt "%f" zu benutzen kam ich, als nach dem Kompilieren mit dem tavrasm die Datei projekt.asm.lst generiert wurde. smile

GAVRASM: Um den früher erwähnten Fehler beim Kompilieren einiger Projekte zu umgehen, empfiehlt der Entwickler Gerd, DF4FAC den Parameter: -x zu benutzen, ich zitiere: "Das liegt an einem Feature von gavrasm:... gavrasm kennt alle Symbole aller AVR-Prozessoren und bindet sie bereits ein, wenn .device den Typ spezifiziert. Die Autoren der Software haben... die Symbole nochmals spezifiziert, und zwar von Hand. Da die schon mit .device definiert sind, gibt es eine Fehlermeldung."

... eigentlich müßte ich zuerst die readme Datei lesen

Dieser Beitrag wurde 5 mal editiert, zum letzten Mal von Vlad: 13.07.2011 19:12.

12.07.2011 06:57 Vlad ist offline E-Mail an Vlad senden Beiträge von Vlad suchen Nehmen Sie Vlad in Ihre Freundesliste auf
Vlad Vlad ist männlich
Jungspund


images/avatars/avatar-310.jpg

Dabei seit: 02.07.2011
Beiträge: 10
Herkunft: Düsseldorf

Gavrasm 3.0 Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

http://www.avr-asm-tutorial.net/gavrasm/index_de.html - die GAVRASM Version 3.0 ist erschienen
04.08.2011 20:13 Vlad ist offline E-Mail an Vlad senden Beiträge von Vlad suchen Nehmen Sie Vlad in Ihre Freundesliste auf
MarkusB MarkusB ist männlich
Administrator


images/avatars/avatar-214.png

Dabei seit: 22.02.2003
Beiträge: 7.748
Herkunft: Petersberg

Themenstarter Thema begonnen von MarkusB
RE: Gavrasm 3.0 Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Nett.
04.08.2011 20:59 MarkusB ist offline E-Mail an MarkusB senden Homepage von MarkusB Beiträge von MarkusB suchen Nehmen Sie MarkusB in Ihre Freundesliste auf
Vlad Vlad ist männlich
Jungspund


images/avatars/avatar-310.jpg

Dabei seit: 02.07.2011
Beiträge: 10
Herkunft: Düsseldorf

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ja, aber die Kompilation des gleichen Projekts bricht die neue Version mit 77 Fehlermeldungen ab. Wiederholte Kompilation mit der Version 2.9 - nicht einmal eine Warnung.
***
Ein paar Tagen später:

Die Fehler im Programm wurden vom Gerd korrigiert. Beim Download des fertigkompilierten GAVRASM für Linux aufpassen - es ist die 64-bit Version. Die 32-bit Version habe ich mit dem Freepascal kompiliert.

Ich habe die 64-bit Version von Ubuntu 11.04 (AMD64) installiert, dann läuft der 64-bit gavrasm auch. Alle 32-bit Programme - tavrasm, avra, gavrasm - funktionierten nicht mehr. Nach der Installation des Freepascal 2.4.2 für AMD64 konnte ich zuerst gavrasm selbst kompilieren. Dann machte ich mich an die anderen Assembler - tavrasm und avra. Jetz laufen alle, muss nur den "Geany" neu installieren.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Vlad: 07.08.2011 23:00.

04.08.2011 23:53 Vlad ist offline E-Mail an Vlad senden Beiträge von Vlad suchen Nehmen Sie Vlad in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Elektronik Projekt » Mikrocontroller » Atmel AVR RISC » [ASM] AVR Assembler Programmierung unter Linux mit Geany

Impressum