Erfahrungen aus erster Hand mit Linux AVR IDE

Ich suche nach Anregungen, um eine gute integrierte Entwicklungsumgebung für die AVR-Programmierung unter Linux (Assembly und C) einzurichten.

Mein Studium hat mir einige begrenzte praktische Erfahrung mit AVRs gebracht, aber ich fürchte, ich werde ein bisschen eingerostet, also möchte ich mich mit einigen Projekten beschäftigen, aber auch darauf bestehen, die gesamte Entwicklung unter Linux durchzuführen.

Ich benutze Ladyadas USBtinyISP und habe meine Chips mit AVRdude programmiert, aber ich muss noch eine IDE finden, die unter Linux so funktioniert, wie ich es mag, also habe ich über mein Windows-Lappie und AVRstudio kompiliert und gebaut. (Deshalb liebe ich Arduino, gute IDE & funktioniert auf Anhieb!)

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

Antworten (5)

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, der Sie Ihre eigenen Teile hinzufügen. In diesem Sinne:

Wenn Sie eine Debian-basierte Distribution verwenden, führen Sie dies 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 ein paar: vim/gvim, emacs, geany, kate, jedit) und schreiben Sie etwas C. Wenn Sie bereit sind zu kompilieren, springen Sie auf avrfreaks und sehen Sie sich an Makefiles anderer Leute . Sie können wahrscheinlich einfach ein Makefile aus dem Projekt eines anderen stehlen und das Zielgerät, die XTAL-Frequenz 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 einnehmen, als ich habe, aber das ist der grundlegende Prozess. Wenn Sie mit dem Prozess vertraut sind, können Sie im Makefile zusätzliche coole Dinge tun, z. B. einen einzigen Befehl, der Ihren Code kompiliert und herunterlädt. Bei einigen Texteditoren (wie geany) können Sie benutzerdefinierte Make-Befehle auf GUI-Menüoptionen setzen, sodass Sie eine Schaltfläche zum Kompilieren und Herunterladen haben können, wie ich es tue.

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 heruntergefahren haben, ist der Rest der Linux-Entwicklung ein Kinderspiel!

HEHE, so einfach. Ich war unnötig entmutigt von diesem Ansatz. Bis es so einfach erklärt wurde, wusste ich nicht, wie ich das Makefile erstellen sollte. Danke für die Anleitung :)
Das mache ich auch. EMACS und ein Makefile. Sie können auch Arduino-Sachen auf diese Weise kompilieren. (* jcl *)
Sie können auch Eclipse 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 (ob das mit AVR funktioniert, weiß ich nicht).

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

Prost auf die Hauptrolle, aber da du nicht allzu überzeugt klingst, werde ich mich nicht zu sehr anstrengen :)
Ich möchte nur hinzufügen, dass ich Eclipse bei der Arbeit verwenden muss (allerdings nicht für avrs) und ich es nicht empfehle. Bei Mikrocontrollern können Sie auf dieses Aufblähen verzichten.

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

Ja, ich habe schon versucht, KontrollerLab zum Laufen zu bringen, aber mein PC ist kürzlich sehr schwer abgestürzt und ich habe gerade erst alles neu eingerichtet. Es scheint von der gleichen Crew zu stammen, die Ktechlab gemacht hat, was ich als sehr nützlich für das Schaltplan- und Schaltungsdesign empfunden habe. Danke für die Eingabe.

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

Mit AVRA , einem Befehlszeilen-Assembler, habe ich das Erstellen eines Old-School-Projekts von mir getestet und eine identische *.hex-Datei ausgegeben, die sie mit meiner ursprünglichen AVRstudio-Ausgabe vergleicht. Obwohl ich das AVR-Mikro nicht wirklich programmiert habe, kann ich allein aufgrund der Ausgabe froh sagen, dass ich jetzt XP aus erster Hand habe, wenn auch begrenzt :)

Vergessen Sie nicht, dass avr-gcc auch einen sehr guten Assembler enthält. Es hat eine etwas andere Syntax als AVRA und Atmels Assembler, aber es funktioniert genauso gut.

ECLIPSE funktioniert gut auf einem EeePC mit dem AVR-Patch... Aber es ist ein bisschen langsam.