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?
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!
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)
Ich habe keine Erfahrungen aus erster Hand damit, aber KontrollerLab klingt interessant.
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 :)
ECLIPSE funktioniert gut auf einem EeePC mit dem AVR-Patch... Aber es ist ein bisschen langsam.
Brian McK
jluciani
sternenblau