|
 |
AVR Assembler Programmierung unter Linux mit Geany |
MarkusB
Administrator
    

Dabei seit: 22.02.2003
Beiträge: 7.721
Herkunft: Petersberg
 |
|
| AVR Assembler Programmierung unter Linux mit Geany |
 |
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
Administrator
    

Dabei seit: 22.02.2003
Beiträge: 7.721
Herkunft: Petersberg
Themenstarter
 |
|
|
22.07.2010 13:40 |
|
|
MarkusB
Administrator
    

Dabei seit: 22.02.2003
Beiträge: 7.721
Herkunft: Petersberg
Themenstarter
 |
|
| RE: AVR Assembler Programmierung unter Linux mit Geany |
 |
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 |
|
|
Vlad
Jungspund


Dabei seit: 02.07.2011
Beiträge: 10
Herkunft: Düsseldorf
 |
|
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 |
|
|
MarkusB
Administrator
    

Dabei seit: 22.02.2003
Beiträge: 7.721
Herkunft: Petersberg
Themenstarter
 |
|
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
Administrator
    

Dabei seit: 22.02.2003
Beiträge: 7.721
Herkunft: Petersberg
Themenstarter
 |
|
Ach ja, hier findest du eine Anleitung für ASM mit Geany unter Linux
|
|
06.07.2011 08:46 |
|
|
Vlad
Jungspund


Dabei seit: 02.07.2011
Beiträge: 10
Herkunft: Düsseldorf
 |
|
| 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
Jungspund


Dabei seit: 02.07.2011
Beiträge: 10
Herkunft: Düsseldorf
 |
|
| RE: AVR Assembler Programmierung unter Linux mit Geany |
 |
| 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 |
|
|
MarkusB
Administrator
    

Dabei seit: 22.02.2003
Beiträge: 7.721
Herkunft: Petersberg
Themenstarter
 |
|
| RE: AVR Assembler Programmierung unter Linux mit Geany |
 |
#pragma Anweisungen werden bei mir von avra ignoriert. gavrasm funktioniert aber
|
|
09.07.2011 10:14 |
|
|
Vlad
Jungspund


Dabei seit: 02.07.2011
Beiträge: 10
Herkunft: Düsseldorf
 |
|
| RE: AVR Assembler Programmierung unter Linux mit Geany |
 |
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.
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
Jungspund


Dabei seit: 02.07.2011
Beiträge: 10
Herkunft: Düsseldorf
 |
|
|
04.08.2011 20:13 |
|
|
MarkusB
Administrator
    

Dabei seit: 22.02.2003
Beiträge: 7.721
Herkunft: Petersberg
Themenstarter
 |
|
|
04.08.2011 20:59 |
|
|
|
|
|
 |
Impressum
|