Anjuta als IDE für avr-gcc nutzen
Unter Windows gibt es das AVR Studio, Bascom oder teure C Compiler mit IDE. Unter Linux fehlt sowas vollständig. Man muss sich seine Umgebung mit dem avr-gcc selbst einrichten.
Die einen verwenden normale Editoren wie Gedit oder Geany, andere vim oder Emacs oder man greift gleich zu Eclipse. Aber keines davon konnte mich bisher überzeugen. Eclipse ist mir einfach zu aufgeblasen und fett, vim und Emacs nicht mein Ding. Am besten eignet sich für mich immer noch Geany, wobei mich dabei immer stört, dass man eine Source Datei im Root Verzeichnis des Projekts auswählen muss, bevor man make aus Geany heraus aufrufen kann. Das Build System passt sich immer automatisch an die aktuelle Datei an. Es fehlt eine richtige Projektverwaltung.
Deshalb habe ich es mir jetzt mal zur Aufgabe gemacht, eine einfache aber trotzdem halbwegs komfortable IDE für die AVR Entwicklung zu basteln. Am geeignetsten erschien mir Anjuta. Bisher basiert das Projekt auf einem einfachen Makefile Projekt. Das heißt, dass man später neue Source Files immer noch von Hand in das Makefile eintragen muss. Später will ich versuchen, das Ganze mit Automake umzusetzen.
Es ist bereits möglich, einfache Projekte zu erstellen, ohne das Makefile manuell bearbeiten zu müssen. Alle Grundeinstellungen können in einem Wizard vorgenommen werden und das Makefile nutzt die Möglichkeiten von Anjuta. So lässt sich avrdude zum Programmieren des AVR über “Projekt installieren” aufrufen.
Hier noch eine kleine Vorschau des Wizards (Video nur im Blog zu sehen)
Juli 25th, 2011 at 12:44 pm
Wird es auch irgendwann möglich sein, die FuseBits ähnlich wie im AVR-Burn-O-Mat zu setzen?
Ich kann es kaum erwarten dass dann mal ausprobieren zu dürfen
Juli 25th, 2011 at 12:54 pm
Ich weiß noch nicht, ob das so einfach wird. Zumindest im Wizard. Wenn es möglich sein wird, dann nur mit sehr viel Aufwand. Eventuell kann man das nachträglich als externes Tool einbinden.
Juli 25th, 2011 at 12:58 pm
Hm, mit Code::Blocks geht das schon alles recht komfortabel. Neues Projekt erstellen, AVR-GCC auswählen, im Wizard den Controller auswählen, in der Toolbox den Befehl zum Übertragen eintragen und fertig ist die AVR-GCC IDE…
Juli 25th, 2011 at 1:03 pm
Richtig, CodeBlocks kann das. Ich finde CodeBlocks aber umständlich. Außerdem hab ich es bei mir nichtmal geschafft, dass er das Default Projekt compiliert. Spuckt immer eine Fehlermeldung aus, mit der ich nix anfangen kann.
Juli 25th, 2011 at 2:53 pm
Und Code:Blocks braucht bei mir ewig zum starten
Juli 26th, 2011 at 12:12 am
Hängt es nicht alles auch vom verwendeten Build-System ab? Ich habe mir einmal eine CMake Datei geschrieben. Dann ist die IDE egal und so schwer ist CMake nicht zu benutzen. Dann kann man anschließend auch z.B. den qtcreator benutzen.
Auch sollte man wissen, dass verschiedene Werkzeuge benutzt werden, um den Code für eine andere Architektur zu kompilieren oder ihn dann auf den Chip zu spielen.
IDEs sind in meinen Augen immer dann blöd, wenn man noch keine Ahnung hat, was man da eigentlich macht. FuseBits mit einem grafischen Tool setzen ist komfortabel, sollte den Blick ins Datenblatt aber nicht ersetzen.
lG
Juli 26th, 2011 at 8:03 am
Sicher. Ich hab auch schon mit scons gearbeitet. Für Anfänger aber alles schwierige Hürden
August 5th, 2011 at 11:19 am
> Eclipse ist mir einfach zu aufgeblasen und fett
Das hört und liest man oft, aber untermauern können die Leute solche Aussagen nie. Liegt es am ach so langsamen Java?
Oder vielleicht ist es ja das: Eclipse bietet Unmengen an Features, die man in Anjuta schlichtweg nicht findet. Deswegen ist die Anjuta-UI auch so übersichtlich.
Als jahrelanger Eclipse-Nutzer bin ich jedenfalls immer maßlos enttäuscht, wenn ich mal wieder versuche, über den Tellerrand zu blicken und mir andere IDEs anzuschauen. Anjuta bietet ja nicht mal grundlegendes Refactoring. Das ist doch keine IDE, sondern nur ein Editor mit Knöpfen zum Compilieren und Ausführen.
Wünsche trotzdem viel Erfolg mit dem eigenen Projekt.
August 6th, 2011 at 11:59 am
Vor allem, weil mein 2GB Rechner schon ohne Eclipse im täglichen Betrieb an der Speichergrenze operiert. Wenn ich dann och Eclipse starte hab ich regelmäßig kleine Kaffeepausen, weil die Kiste ungeniert anfängt zu swappen.
Leider lässt sich der Rechner auch nicht mehr aufrüsten. Mein “Ersatzrechner” hat, falls dieser mal den Geist aufgibt, sogar nur 1GB. Da ist an Eclipse gar nicht zu denken.
Außerdem finde ich Eclipse für kleine Projekte einfach zu überladen. Bis ich in Eclipse mal was eingerichtet habe bin ich einer einfacheren Umgebung schon halb fertig. Und große Projekte, wo sich Eclipse rechnen würde, habe ich nur selten.
August 22nd, 2011 at 6:46 pm
nja es ist bestimmt kein fehler eclipse mal einzusetzen ich tüftle gerne