Erfahrungen aus erster Hand mit Linux AVR IDE

8

Ich bin auf der Suche nach Input für die Einrichtung einer guten integrierten Entwicklungsumgebung für die AVR-Programmierung unter Linux (Assembly und C).

Mein Studium gab mir einige begrenzte praktische Erfahrungen mit AVRs, aber ich befürchte, dass ich ein bisschen verrostet bin, also möchte ich mich mit einigen Projekten beschäftigen, aber auch weiterhin alle Entwicklungen unter Linux durchführen.

Ich verwende Ladyadas USBtinyISP und habe meine Chips mit AVRdude programmiert, aber noch keine IDE gefunden, die unter Linux so funktioniert, wie ich es mag. Ich habe sie über meinen Windows-Lappie und AVRstudio kompiliert und erstellt. (Deshalb liebe ich Arduino, gute IDE und arbeite sofort!)

Hat jemand Erfahrung aus erster Hand mit einer IDE unter Linux, mit der er seine AVR-Projekte von Anfang bis Ende erfolgreich entwickelt hat?

BrianMcK
quelle

Antworten:

8

Die Sache mit Linux-basierten Entwicklern ist, dass sie normalerweise ihren eigenen einzigartigen Workflow haben (vim vs emacs usw.). Meiner Meinung nach ist Linux eine große IDE, zu der Sie Ihre eigenen Teile hinzufügen. In diesem Sinne:

Wenn Sie eine Debian-basierte Distribution verwenden, führen Sie diese in Ihrer Befehlszeile aus: sudo apt-get install build-essential avr-gcc avrdude

Dann finden Sie einen Texteditor, den Sie mögen (Google ist Ihr Freund, aber hier sind einige: vim / gvim, emacs, geany, kate, jedit) und schreiben Sie ein C. Wenn Sie zum Kompilieren bereit sind, springen Sie auf avrfreaks und schauen Sie sich das an Makefiles anderer Leute . Sie können wahrscheinlich einfach ein Makefile aus dem Projekt eines anderen stehlen und das Zielgerät, die XTAL-Häufigkeit und die Quelldateinamen ändern. Nachdem Sie make ausgeführt haben und eine .hex-Datei haben, verwenden Sie avrdude, um Ihren Chip zu programmieren.

Ins Detail zu gehen würde viel mehr Platz beanspruchen als ich, aber das ist der grundlegende Prozess. Wenn Sie mit dem Prozess vertraut sind, können Sie im Makefile besonders coole Dinge tun, wie einen einzigen Befehl, der Ihren Code kompiliert und herunterlädt. In einigen Texteditoren (wie z. B. geany) können Sie benutzerdefinierte Befehle zum Erstellen von GUI-Menüoptionen festlegen, sodass Sie wie ich über eine Schaltfläche zum Kompilieren und Herunterladen verfügen können.

Das Fantastische an diesem Prozess ist auch, dass es ziemlich gleich ist, ob Sie für ARM, AVR, x86, SPARC oder was auch immer bauen. Sobald Sie Makefiles und gcc down haben, ist der Rest der Linux-Entwicklung ein Kinderspiel!

Jeremy
quelle
HEHE, so einfach. Dieser Ansatz hat mich unnötig entmutigt. Bis es so einfach erklärt wurde, wusste ich nicht, wie ich das Makefile erstellen sollte. Danke für die Richtung :)
BrianMcK
Das mache ich auch. EMACS und ein Makefile. Auf diese Weise können Sie auch Arduino-Inhalte kompilieren. (* jcl *)
jluciani
Sie können Eclipse auch als IDE / Editor verwenden und das Makefile zum Kompilieren und Herunterladen verwenden. Mit OpenOCD und ARM ist es sogar möglich, über JTAG zu debuggen (ich weiß nicht, ob dies mit AVR funktioniert).
Starblue
3

Es gibt ein Eclipse-Modul für den AVR, aber ich habe es verwendet und es schien viel schwieriger zu sein, als es wert war. (Wie die meisten anderen Eclipse-Module, die ich verwendet habe)

user449
quelle
Prost auf die Führung, aber da du nicht so überzeugt
klingst
Ich möchte nur hinzufügen, dass ich Eclipse bei der Arbeit verwenden muss (allerdings nicht für AVRs) und ich empfehle es nicht. Bei Mikrocontrollern kann man auf all das Aufblähen verzichten.
Jeremy
2

Ich habe keine Erfahrungen aus erster Hand damit, aber KontrollerLab klingt interessant.

Clinton Blackmore
quelle
Ja, ich habe bereits versucht, KontrollerLab zum Laufen zu bringen, aber mein PC ist kürzlich sehr stark abgestürzt und ich habe gerade erst alles neu eingerichtet. Es scheint von derselben Crew zu stammen, die Ktechlab hergestellt hat, was ich als sehr nützlich für das Schaltplan- und Schaltungsdesign empfunden habe. Danke für die Eingabe.
BrianMcK
2

Da sich der Makefile-Ansatz mit der C-Seite meiner Frage zu befassen scheint, habe ich hier etwas mehr experimentiert (wie es war) und festgestellt, dass ich die Ressourcen hatte, um auch Assembly-Code zu erstellen.

Mit AVRA , einem Befehlszeilen-Assembler, habe ich den Aufbau eines alten Schulprojekts von mir getestet und eine identische * .hex-Datei ausgegeben, die mit meiner ursprünglichen AVRstudio-Ausgabe verglichen wurde. Obwohl ich das AVR-Mikro noch nicht programmiert habe, bin ich froh, allein aufgrund der Ausgabe sagen zu können, dass ich jetzt XP aus erster Hand habe, wenn auch begrenzt :)

BrianMcK
quelle
Vergessen Sie nicht, dass avr-gcc auch einen perfekt guten Assembler enthält. Es hat eine etwas andere Syntax als der Assembler von AVRA und Atmel, funktioniert aber genauso gut.
Tim
0

ECLIPSE funktioniert auf einem EeePC mit dem AVR-Patch einwandfrei ... Aber es ist etwas langsam.


quelle