Hallo, ich hab nun seit einiger Zeit schon Ubuntu 9.04 auf meinem Rechner laufen und muss sagen ich bin echt begeistert! (Ist meine erste Linux- Distri) Nun wollte ich auch meine AVRs in C unter Ubuntu programmieren, also habe ich mir mit dem Buildscript von hier: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=42631 den avr-gcc 4.3.3 geholt. Nun muss ich ja, wenn ich das richtig verstanden habe, in irgendeinem Texteditor ein .c- File erstellen, sowie ein Makefile, dann kann ich mit dem avr-gcc das ganze "builden" und erhalte dann am Ende mein .hex- File welches ich z.B. mit avrdude flashen kann. Das ist mir aber irgendwie zu umständlich, bzw. auch zu unhandlich, denn ein stinknormaler Texteditor macht ja gar nichts, d.h. keine automatische Farbhinterlegung oder Formatierung, was ich eigentlich schon ganz gerne hätte. Auch ein make- Button wäre eventuell noch ganz gut, dann muss ich nicht immer den Umweg über die Konsole machen, sondern könnte direkt aus meiner GUI compilieren, usw. Also, wisst ihr eine gute GUI für Ubuntu, die mit besagter acr-gcc Version arbeitet? Von Ecplipse hab ich bereits gehört, aber das erscheint mir zu umfangreich für das bisschen was ich in C kann ;-). Ach ja, wenn die GUI auch noch gleich mit avrdude zusammen arbeitet und mn so direkt flashen kann wäre das natürlich genial, das muss aber nicht sein, ich kann avrdude auch aus der Kommandozeile verwenden, bzw. mit Burn-o-mat. Ich weiß mit der Kommandozeile gehen die genannten Dinge genau so, aber ich bin eben doch noch ein wenig Windows-verseucht und zudem möchte ich mir nicht noch zusätzlich eine "Hürde" schaffen, ich hab schon genug zu tun mit der Programmiersprache C alleine ;-) Vielen Dank schon einmal fürs Lesen, Steffen
Also Eclipse mit dem AVR Plugin (neuste Eclipse-version runterladen ,nicht die aus den repositorys die funzt nicht zumindest bei 8.04) kann ich nur empfehlen, ist wirklich eine sehr gute Entwicklungsumgebung und gar nicht so schwer einzurichten! Eclipse gibt dir dann je nach einstellung eine hex oder ein anderes format aus. man kann auch mit etwas basteln dann direkt von Eclipse aus flashen. Gruss
Eclipse habe ich auch am laufen. Trotzdem ist mir das Arbeiten mit einem guten makefile und der Shell lieber, da man eher lernt was man tut und das Programmieren auch schneller geht. Man kann direkt im Terminal (über makefile) die Programmer ansprechen und wechseln. Als Editor benutze ich ganz simpel gedit. Linux macht glücklicht :-)
gedit kann Syntaxhighlighting und mit dem "external tools"-plugin auch make starten. Das flashen lässt sich sowieso am elegantesten im Makefile erledigen, so dass alles mit einem Tastendruck geht. Zusammen mit http://sourceforge.net/projects/gedit-autocomp/ und (ebenfalls als externes Toll eingebundenem) indent (automatische Source-Formatierung) reicht gedit für übersichtliche µC-Projekte IMO völlig aus.
Wenn Eclipse zu erschlagen droht.... Code::Blocks ist das probieren auch auf jedenfall Wert. Dort ist die AVR Toolchain schon implementiert als Projektgrundlage. Guckst du hier: http://www.codeblocks.org/ Gruß 900ss
selbst der vi hat doch Syntaxhighlighting, was will man mehr. Selbst make kann man einfach starten und an die passene codezeile von Fehler springen.
Peter schrieb: > selbst der vi hat doch Syntaxhighlighting, was will man mehr. Hmmm.. ja und zu Hause hast du nebem deinem Zelt auch eine Feuerstelle zum kochen? Selbst > make kann man einfach starten und an die passene codezeile von Fehler > springen. Toll ;-)
Peter schrieb:
> selbst der vi hat doch Syntaxhighlighting, was will man mehr.
Hier verwechselst du allerdings den vi mit dem vim.
Naja, wenn es etwas einfacher und übersichtlicher sein soll (es ist ja nur ein 8-Bitter) dann geht das sehr schön mit: http://www.cadmaniac.org/projectMain.php?projectName=kontrollerlab Ist sehr gut und wird immer besser.
Guido schrieb: > Naja, > > wenn es etwas einfacher und übersichtlicher sein soll > (es ist ja nur ein 8-Bitter) dann geht das sehr schön mit: > > http://www.cadmaniac.org/projectMain.php?projectName=kontrollerlab > > Ist sehr gut und wird immer besser. Bist du Nekrophil oder habe ich da etwas Wichtiges verpasst?
> Bist du Nekrophil oder habe ich da etwas Wichtiges verpasst?
Oops, wie die Zeit vergeht. Scheint seit 1 Jahr nichts mehr zu
passieren. Es funktioniert aber.
[...] > Ist sehr gut und wird immer besser. [...] > Scheint seit 1 Jahr nichts mehr zu passieren. Es funktioniert aber. Aha. Ich möchte das "funktioniert aber" ja überhaupt nicht zerreden. Bevor man dieses Projekt jemandem empfiehlt sollte man aber dazusagen daß es seit langem (weit über 1 Jahr) faktisch tot ist. Nebenbei: Alle Links der "Download Section" führen ins Leere.
Kate kann Syntax-Highlighting und kann gleich noch eine Konsole einblenden zum Programmieren. Gast4
Frank Lorenzen schrieb: > seit langem (weit über 1 Jahr) faktisch tot ist. Ja, 3 Monate sind schon sehr "weit". > Nebenbei: Alle Links der "Download Section" führen ins Leere. Ich habe nicht alle probiert, aber die zwei, die ich probehalber angeklickt habe, gingen.
Jörg Wunsch schrieb: > Peter schrieb: >> selbst der vi hat doch Syntaxhighlighting, was will man mehr. > > Hier verwechselst du allerdings den vi mit dem vim. Was kein Wunder ist. Selbst in spartanischen Umgebungen ist vi heutzutage meist ein nvi, der allerdings auch kein Syntaxhighlighting kann -- Auf den originalen visual zu treffen dürtfte heutzutage im Open Source Umfeld schwierig sein. liebe Grüße Frank ZZ
Stefan Ernst schrieb: > Frank Lorenzen schrieb: > >> seit langem (weit über 1 Jahr) faktisch tot ist. > > Ja, 3 Monate sind schon sehr "weit". > >> Nebenbei: Alle Links der "Download Section" führen ins Leere. > > Ich habe nicht alle probiert, aber die zwei, die ich probehalber > angeklickt habe, gingen. Ich muß mich entschuldigen. Alle, wirklich alle, Download Links haben bei mir eben zu einem 404 geführt. Es muß sich wohl um eine Störung bei mir oder Sourceforge gehandelt haben denn die Links funktionieren wieder.
Vielen Dank für die vielen Antworten!!! @ 900ss D.: Codeblocks sieht sehr interessant aus, allerdings stört mich ein wenig dass die komplette Toolchain da schon drin ist...Ich werde es mir aber merken, und wenn ich nichts anderes finde für den acr-gcc, dann werde ich auf codeblocks zurückkommen. @ Guido: Sieht ebenfalls nicht schlecht aus, aber daran stört mich eben dass es schon, wie Frank Lorenzen geschrieben hat, seit einem Jahr nicht mehr weiterentwickelt wird....Ich arbeite mich jetzt eigentlich ungern in ein "totes" Projekt ein. @ A F.: Ich denke wenn ich jetzt nicht noch eine tolle andere GUI finde, bzw einer hier eine postet, dann werde ich mir mal Eclipse näher anschauen, und eventuell auch mal testen. @ Tom & Peter: Wie gesagt, das mit dem "einfachen" Editor will ich mir jetzt zumindest für den Anfang noch nicht antun, ich hätte schon ganz gerne eine Oberfläche über die man alles machen kann... Über weitere Vorschläge würde ich mich sehr freuen! Gruß, Steffen
Frank Lorenzen schrieb: > Auf den originalen visual zu treffen dürtfte heutzutage im Open > Source Umfeld schwierig sein. Opensolaris? "vi: line too long" Wie ich das vermisse. :-)
Es gibt keine Lösung, die auch nur annähernd an die Kombination WinAVR + AVRStudio heran kommt. Weder unter Windows, noch unter Linux. Du kannst ja mal probieren, ob AVRStudio unter Wine rennt...
Codeblocks & AVR install tips http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=64023 mfg Bingo
Ja, AVR Studio läuft mit Wine, aber auch nicht allzu schnell und vorallem ist die Grafik recht bescheiden bei alle Wine-Emulationen hab ich so das Gefühl. Also wenn ich schon mit Linux arbeite hätte ich auch gerne eine IDE die direkt auf Linux läuft. Gruß, Steffen
Thomas schrieb: > Es gibt keine Lösung, die auch nur annähernd an die Kombination WinAVR + > AVRStudio heran kommt. Weder unter Windows, noch unter Linux. > Du kannst ja mal probieren, ob AVRStudio unter Wine rennt... Was hat denn AVRStudio, was ich unbedingt gebrauchen kann? Den Simulator vermisse ich jedenfalls bisher nicht. Da wäre eine VHDL-Einbindung schon angebrachter, als das Popeldingen des AVRStudio.
Sven P. schrieb: > Was hat denn AVRStudio, was ich unbedingt gebrauchen kann? . keine Möglichkeit, beliebige C-Ausdrücke (einschließlich der Werte aktueller Programmvariablen) auszugeben . keine Möglichkeit, sich lokale Variable nicht aktueller Stackframes anzeigen zu lassen . keine Möglichkeit, data breakpoints auf eine beliebige Adresse (statt einer zu benennenden Variablen) zu legen (kann man bei AVR Studio eigentlich einen data breakpoint auf einen IO-Port legen?) Vielleicht fällt mir ja noch mehr ein. ;-)
Unter AVRStudio kann man: - Assembler - C/C++ - Disassemblieren - Flashen - Debuggen in einer Simulation (ob DU das brauchst interessiert nicht) - Debuggen auf der Hardware Debuggen ist einigermaßen komfortabel, so kann man jederzeit zwischen C- und Assembleransicht umschalten und den Inhalt der Register ändern. Und das alles ganz ohne Frickelei unter einer Oberfläche. Die IDE ist übersichtlich und intuitiv zu bedienen. Im Gegensatz sind z.B. unter Eclipse (mit AVR Plugin) viele Knöpfe, Menüs, Tabs, Konfigurationen, etc. sichtbar, die da einfach sinnlos sind und nur verwirren. Was meinst du mit "VHDL-Einbindung"?
Thomas schrieb: > - Assembler gas, avrasm, tavrasm... > - C/C++ gcc, genauso > - Disassemblieren gdb oder gcc, der disassembliert auch > - Flashen avrdude, uisp > - Debuggen in einer Simulation (ob DU das brauchst interessiert nicht) DDD, GDB, einen der 100 anderen gdb-basierten Debugger > Was meinst du mit "VHDL-Einbindung"? Naja, der Simulator ist recht sinnlos, da das echte Zeitverhalten nicht nachgebildet wird bzw. die Peripheriemodule nicht richtig funktionieren (ADC...). Schöner wärs, eine Testbench in VHDL zu modellieren, in der dann simuliert wird.
Steffen O. schrieb: > Vielen Dank für die vielen Antworten!!! > > @ 900ss D.: Codeblocks sieht sehr interessant aus, allerdings stört mich > ein wenig dass die komplette Toolchain da schon drin ist...Ich werde es > mir aber merken, und wenn ich nichts anderes finde für den acr-gcc, dann > werde ich auf codeblocks zurückkommen. > Dort ist die Toolchain nicht drin enthalten. Die emußt du extra installieren. Dort ist nur schon die Vorbereitung für Projekte unter AVR-GCC enthalten. D.H. Code::Blocks weiß, wie die AVR-GCC anzuprechen ist und bietet auch die entsprechenden Optionen für Compiler, Linker u.s.w. an. Du legst ein neues Projekt an und sagst im, dass es ein AVR-GCC Projekt ist. Schau dir das nochmal genau an. Ist 'ne prima Lösung, wenn man nicht Eclipse mag. Ich arbeite schon lange mit Eclipse und habe mich deshalb an die ganzen Features des Editors gewöhnt. Der Nachteil bei Eclipse ist die für den Anfänfger etwas schwer durchschaubare Einrichtung nach der Installation. Man wird von Optionen erschlagen. Und es ist ein Subversion Client in Eclipse als Plugin installierbar. Ob das auch in CB geht, weiß ich gerade nicht. 900ss
Sven P. schrieb: >> Was meinst du mit "VHDL-Einbindung"? > Naja, der Simulator ist recht sinnlos, da das echte Zeitverhalten nicht > nachgebildet wird bzw. die Peripheriemodule nicht richtig funktionieren > (ADC...). Der Simulator V2 basiert in der Tat auf dem tatsächlichen Zeitver- halten, abgebildet aus den Verilog-Quellen, aus denen auch der AVR selbst synthetisiert wird. Das damit erlangte echte Zeitverhalten ist einer der Pluspunkte, die er haben sollte (zumindest wird das immer angepriesen), auch sollte er `bug compatible' mit der tatsächlichen Hardware sein. Allerdings hat das natürlich seine Grenzen, wenn es zu den analogen Peripheriegeräten kommt, da diese ja nicht (vollständig) aus Verilog- Beschreibungen entstanden sind. Nach meiner Erfahrung kann man eine Simulation aber sowieso nur so einigermaßen sinnvoll für den Test von Algorithmen benutzen, da man die (oft sehr komplexe) Hardware, die außen an den AVR angeschlossen ist, ja nicht mit simulieren kann. Ein ,,Nachbau'' dieser Hardware in Form von Stimuli ist in aller Regel auch keine realistische Option. Das ist der Punkt, wo die Emulation wieder ihren Vorteil hat, da sie komplett mit der Zielhardware zusammen arbeiten kann. Zum Simulieren von Algorithmen wiederum braucht's keinen aufwändigen zyklengenauen Simulator, da muss eigentlich nur der CPU-Kern gut genug abgebildet sein, dass er die korrekten Ergebnisse liefert.
Thomas schrieb: > Unter AVRStudio kann man: [...] Dafür hat man einen miserablen Debugger (siehe oben), gepaart mit einem miserablen Editor, der noch nichtmal vernünftige reguläre Ausdrücke bearbeiten kann. Außerdem muss man sich bei einem derartigen Konzept für jede Plattform, mit der man arbeitet (Hostcomputer, AVR, andere Controller, ...) jedesmal an was Neues gewöhnen, neue Tastenbelegungen, neue Macken der Tools. Das ist letztlich der Grund, warum ich Emacs, GCC und GDB mag. Eine IDE für alles. Wenn ich mir eine bestimmte Funktion implementiert habe, die mir das Leben beim Programmieren auf der Ebene meines Betriebssystems einfacher macht, dann kann ich von dieser Funktionalität auch gleichzeitig beim Programmieren von AVRs profitieren (sowie auch beim Schreiben meiner Briefe, soweit das dafür relevant ist). (Nein, ich wollte damit natürlich keinesfalls einem µC-Anfänger die Verwendung des Emacs nahelegen. Soll nur begründen, warum ich mich für AVR Studio selbst dann nicht begeistern könnte, wenn ich irgendwo ein Windows in Reichweite hätte.)
@ 900ss D.: Ok, dann habe ich das falsch verstanden. Codeblocks ist also wie Burn-O-Mat nur die Oberfläche, die aber alleine keine Funktion hat. Dann ist das eigentlich perfekt für mich, ich habe bereits Screenshots von der Oberfläche angeschaut, ich glaube die gefällt mir sehr gut. Habe bereits eine Installationsanleitung gefunden (http://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_nightly_build_on_Ubuntu) nach der ich Codeblocks dann mal installieren und testen werde... Vielen Dank für eure Hilfe!! Gruß, Steffen PS: In einem muss ich Thomas schon zustimmen von wegen AVR Studio ist gut: Die Bedienung ist IMHO sehr intuitiv, also man braucht nicht allzu viel Einarbeitungszeit um sofort beginnen zu können.
Steffen O. schrieb: > Die Bedienung ist IMHO sehr intuitiv, also man braucht nicht allzu > viel Einarbeitungszeit um sofort beginnen zu können. Das ist sie aber nur, wenn du diese Bedienung von anderen Windows-Tools bereits einigermaßen gewöhnt bist. Ich finde sie jedenfalls reichlich unintuitiv. Jedes Mal, wenn ich dort davor sitze, frage ich mich, wie ich jetzt den nächsten Schritt machen muss.
Jörg Wunsch schrieb: > Sven P. schrieb: > >>> Was meinst du mit "VHDL-Einbindung"? >> Naja, der Simulator ist recht sinnlos, da das echte Zeitverhalten nicht >> nachgebildet wird bzw. die Peripheriemodule nicht richtig funktionieren >> (ADC...). > > Der Simulator V2 basiert in der Tat auf dem tatsächlichen Zeitver- > halten, abgebildet aus den Verilog-Quellen, aus denen auch der AVR > selbst synthetisiert wird. Das damit erlangte echte Zeitverhalten > ist einer der Pluspunkte, die er haben sollte (zumindest wird das > immer angepriesen), auch sollte er `bug compatible' mit der > tatsächlichen Hardware sein. Das ist mir wirklich neu -- ich zieh das zurück und behaupte das Gegenteil :-) Sind die VHDL-Quellen auch in lesbarer Form zu finden? Wär ja Klasse, dann könnte man das über Umwege sogar in QUCS oder so einbauen...
Sven P. schrieb: > Sind die VHDL-Quellen auch in lesbarer Form zu finden? Natürlich nicht. :) Erstens ist es meines Wissens Verilog (ist halt 'ne Ami-Firma), zweitens ist das natürlich das Betriebsgeheimnis der Firma, das sogenannte `IP' (intellectual property). IP-Nutzungs- rechte werden, wenn überhaupt, in der Regel für sehr viel Geld verscherbelt. Der Simulator macht irgendwie aus dem Verilog-Code einen C-Code, von dem der Hersteller des Tools sagt, dass dessen Simulationsverhalten dann 1:1 der HDL entspricht. Meines Wissens darf aber leider selbst dieser C-Code nicht irgendwo frei rausgegeben werden. Alles, was man also ggf. tun könnte wäre, einen Wrapper um den entsprechenden Simulatormodul zu schreiben (von dem ich mal vermute, dass der als DLL im AVR Studio vorliegt), um ihn auch außerhalb von AVR Studio zu benutzen. Allerdings betrittst du damit schon wieder so ziemlich den Abgrund der AVR-Studio-Nutzungsbedingungen, die ja vorschreiben, dass man das Paket nur in seiner Originalform kopieren darf.
Dann halt sowas, nicht 1:1 aber kompatibel: http://www.opencores.org/?do=project&who=avr_core Fänd ich doch astrein, wenn man sowas in QUCS benutzen könnte ;-)
So, ich hab mir jetzt mal Codeblocks auf den Rechner geholt und mal ein bisschen herumgespielt. Compilieren kann ich irgendwie noch nichts, er meint dass invalider Compiler benutzt wird, aber ich denke mal das ist eine reine Einstellungssache, werde ich bestimmt noch hinbekommen. Ansonsten gefällt mir das Teil recht gut, ich denke dabei werde ich bleiben. Vielen Dank also für diesen Tip! Dann ist mir bei der Einrichtung meiner Toolchain noch etwas aufgefallen, und zwar funktioniert der USBprog irgendwie nicht, d.h. ich stecke ihn an, starte die GUI zum Wechseln der Firmware, und wähle einfach mal die erst beste aus, dann bringt er mir wenn ich flashen will folgendes: "I/O Error: could not claim interface 0. Operation permitted Hat jemand eine Ahnung an was das liegt? Gruß, Steffen
Sind wohl die Rechte an der Schnittstelle. Mach es mit sudo.
@Steffen Wg. "I/O Error: could not claim interface 0. Operation permitted" Probier mal mit sudo "usbprog...." Ob das funktioniert , dan hast du einer "permission" problem mit "user access" to usb devices. Suche für "usbprog udev linux" Diser example ist für einer ISPMKII , vid/pid anpassen für usbprog http://bitbucket.org/jeadorf/carrierpigeon/wiki/AVRISP2 mfg Bingo (Dänemark)
Ich glaube, man kann die permissions auch mittels udev-Scripts irgendwie ändern, aber von Linux-Systemadministration habe ich nicht viel Ahnung. Statisches Ändern mit chmod hat nicht viel Sinn, da die device nodes unter /proc/bus/usb/ ja dynamisch angelegt werden. Jedesmal, wenn man dem USBprog ,,tschüss!'' sagt, meldet es sich ja am Bus neu an, damit entsteht ein neuer device node.
Ich benutze unter Linux (hier) geany, Funktioniert prächtig. So kann ich flashen oder kompilieren mit nur einem Tastendruck. Ist zwar noch nicht ausgereift (z.B. Projektsupport) - dafür wird es ständig weiterentwickelt... Ich jedenfalls komme gut damit klar und kann es nur empfehlen...
So, ich habe nun das Problem mit dem USBprog erfolgreich gelöst, der funktioniert jetzt wunderbar unter Ubuntu 9.04. Auch habe ich mich nun doch gegen eine IDE entschieden und arbeite nun vorerst mal mit gedit und dem avr-gcc wie es durch das Skript in oben genannten Link erstellt wird. Ich habe bereits ein Test-Programm geschrieben und geflasht, alles über die Kommandozeile, hat alles wunderbar funktioniert. Vielen Dank an alle die geholfen haben! Gruß, Steffen
Steffen O. schrieb:
> doch gegen eine IDE entschieden und arbeite nun vorerst mal mit gedit
Und warum das? Hat die IDE nicht das gemacht, was du wolltest? Oder hast
du sie nicht verstanden?
Gruß
900ss
900ss D. schrieb: > Steffen O. schrieb: >> doch gegen eine IDE entschieden und arbeite nun vorerst mal mit gedit > > Und warum das? Hat die IDE nicht das gemacht, was du wolltest? Oder hast > du sie nicht verstanden? Jain, d.h. ich habe sie installiert und mal ein bisschen herumgespielt damit, aber im Laufe der Zeit habe ich begriffen, dass ich mit der Kommandozeile genauso die Anforderungen erfüllen kann, die ich habe und das wesentlich zügiger, wenn man mal alles halbwegs verstanden hat ;-). Außerdem bin ich so recht unabhängig von den Leuten die solche IDEs ent-, bzw. weiterentwickeln. Ich bin echt zufrieden mit meiner Lösung, komme damit gut klar und werde somit auch noch eine Weile dabei bleiben, sofern ich nicht eine superdupertolle IDE finde, die exakt meinen Anforderungen entspricht (was ich weniger glaube ;-)) Gruß, Steffen
900ss D. schrieb: > Steffen O. schrieb: >> doch gegen eine IDE entschieden und arbeite nun vorerst mal mit gedit > > Und warum das? Hat die IDE nicht das gemacht, was du wolltest? Oder hast > du sie nicht verstanden? > > Gruß > 900ss Vielleicht trage ja ich einen Teil der Schuld :D
Michael G. schrieb:
> Vielleicht trage ja ich einen Teil der Schuld :D
Tss, einen Teil....Du bist der Hauptschuldige :D
Hi, is zwar schon etwas älter, aber wer wie ich zufällig über den Beitrag stolpert, dem hilft es vielleicht. Ich hab in diesem Wiki gute Anleitungen für Geany, Gedit und Eclipse unter Ubuntu gefunden. Sogar eine Ergänzung für Assembler in Geany haben die gemacht http://www.wiki.elektronik-projekt.de/ Einfach nach Geany, Gedit oder Eclipse suchen. Seit ich das gefunden habe benutze ich nur noch Geany. Außerdem noch ein gutes Tutorial für avrdude und ein paar andere Sachen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.