Hallo, ich wollte mal nachfragen wie eure entwicklungsumgebung unter linux für avr aussieht. es gibt da ja verschiedene möglichkeiten, und mich interessiert, was am ehesten verwendung findet. wei immer ist auch dies eine 'glaubensfrage': der eine verwendet eher kommandozeilen tools, der andere graphische geschichte, das ist klar...ich will hier einfach eine diskussion anstossen, so dass jeder die vor- und nachteile seiner methode schildern kann. newcomer können das auswählen, was ihnen passt. Einige möglichkeiten die sich mir bieten (ich bitte ggf. um verfollständigung): * 'atomic approach': vi, emacs , getrennte makefiles zum kompilieren, simulavr getrennt etc. * vi, emacs. mit eingebundenen makefiles; hat jemand simulavr direkt in einen der editoren eigebunden? * graphische tools wie eclipse oder jedit zur projektverwaltung, ggf. getrennte makefiles * wine und avrstudio. (funktioniert das wirklich gut?, kommt man damit an die hardware ran, ohne zu viele klimmzüge machen zu müssen?) Fragen die sich mir ausserdem stellen: *welchen assembler verwendet ihr? warum gerade den? * hat jemand das stk500 über ein usb->rs232 kabel angesprochen, wenn ja, wie [benötigt man z.B. bestimmte kernelmodule?](moderne rechner haben ja keine serielle schnittstelle mehr); womit wird geflashed? * ist der gcc optimizer so gut, dass man i.a. auf assemblercode aus geschwindigkeitsgründen verzichten kann oder sollte man sich bestimmte assemblerbibliotheken erstellen, die man dann mit c interfaced? *kann man auch c++ verwenden? macht das sinn? (ich meine gelesen zu haben, dass es c++ compiler gibt; aber sind die stabil einsetzbar?) *gibt's ne fortran90 --> avr möglichkeit? (ich verdien meine brötchen mit number crunching. dort verwendet man meist fortran) *gibts ein avr modul für emacs? * das gleiche für eclipse? Also: zeigt her eure systeme ;-)
sorry, ich hab üble schreibfehler drin. mein deutsch ist, wenn ich nicht gerade unter chronischem schlafmangel leide, deutlich besser. ich schäme mich und stell mich in die ecke ;-)
* 'atomic approach' vim mit getrennten makefiles, simulavr nutze ich (im moment) garnicht, debuggen tu ich nur über usart. geflasht wurde früher per avrdude, doch irgentwie will er mein butterfly nich mehr flashen, deswegen wird jedes mal neugestartet und per avrprog geflasht. eclipse usw hab ich auch schon probiert, jedoch nutze ich es nicht weil ich festgestellt hab das soviel zeit beim einrichten der ide drauf geht. (Ich wollte auch eine ide die unter win, freebsd u. mac osx läuft, das einzige was mich halbwegs überzeugen konnte war eclipse)
Was genau ist bei dir ein "eingebundenes Makefile" und ein "getrenntes Makefile"? Ich benutze gvim mit passendem Syntax Highlighting, Code Folding und automatischem Sprung zu Fehlern im Quelltext für den AVR-Assembler. Für C und C++ gibt's das ja sowieso. Zum Flashen verwende ich uisp, der auch über's Makefile gestartet wird. > *welchen assembler verwendet ihr? avra > warum gerade den? Weil er funktioniert :) > * ist der gcc optimizer so gut, dass man i.a. auf assemblercode > aus geschwindigkeitsgründen verzichten kann oder sollte man sich > bestimmte assemblerbibliotheken erstellen, die man dann mit c > interfaced? Wenn's auf Geschwindigkeit ankommt, sollte man schon wissen, was der Compiler draus macht und ggf. im erzeugten Assembler-Code nachschauen. Man sollte auch die gcc-spezifischen Attribute für Funktionen und Daten kennen. Man kann mit C schon recht nah an den Assembler kommen. Und notfalls kann man für bestimmte besonders kritische Sachen auch Inine-Assembler verwenden, wobei manchmal der C-Code auch schneller sein kann als der Inline-Assembler. > *kann man auch c++ verwenden? Ja. > macht das sinn? (ich meine gelesen zu haben, dass es c++ compiler > gibt; aber sind die stabil einsetzbar?) Es gibt g++. Der ist natürlich genauso stabil wie gcc. Man muß aber schon mit gewissen Einschränkungen leben. So funktionieren Exceptions und RTTI nicht, und es gibt keine Klassenbibliotheken für den avr-g++. Polymorphie scheint zu funktionieren, aber die vtables werden leider im RAM abgelegt, welches oft schneller knapp wird als der Flash. > *gibt's ne fortran90 --> avr möglichkeit? (ich verdien meine > brötchen mit number crunching. dort verwendet man meist fortran) Nicht daß ich wüßte.
Hallo! Schreiben mit nedit, kompilieren und flashen über das makefile (mit uisp oder avrdude). Debuggen über RS232.
danke für die antworten. mit eingebundenen makefiles meine ich folgendes: bei emacs z.B. kann man über makefiles direkt aus emacs raus compilieren, und sieht die ergebnisse dann auch in emacs. dgl. könnte man wohl auch für debugging jobs realisieren. (ich mach das üblicherweise nicht, bin freund des 'atomic approach'). funktioniert das highlightning im vim automatisch, oder muss man was nachinstallieren (für avr assembler)? ich verwende in der täglichen arbeit den emacs (wurde mal vor zeiten von meinem chef 'empfohlen'. hab den umstieg auf vi nie gemacht, weil ich emacs kann und darin (voresrst) schneller bin. über usb-->rs232 hat wohl noch keiner gearbeitet.... ich werd genau das jetzt mal ausprobieren (hab leider am laptop nur usb). ich werd später mal berichten.... ...anscheinend verwendet niemand avrstudio. die wahrscheinlichkeit, dass eingefleischte linux user das tun, die sich auch noch für hardware interessieren hab ich auf ca. 0 eingeschätzt ;-)
>>...anscheinend verwendet niemand avrstudio
weil es eben keine naive Linux-Version gibt.
Ich programmiere mit vi oder kate. Hab nen einfaches Makefile (make, make program, make fuses,...). Allerdings hauptsächlich in C ;)
Mein "IDE": vim (F8: "make", F9: "make prog"), avr-gcc, uisp mit "STK200". Debugging mit Ausgabe über V.24. Falk P.S.: Wie würde man unter Win vorgehen, wenn N-100-mal - ein AVR (Flash und EEprom) programmiert, - ein Byte in einem One-Wire-Bus-Chip geschrieben und die Seriennummer gespeichert werden müssen? (Beide Chips auf einem Board,) Unter Linux kann ich das, demnächst hat aber jemand das Vergügen, der Linux nicht hat (kann, will, darf oder was auch immer).
>>...anscheinend verwendet niemand avrstudio >>>>weil es eben keine naive Linux-Version gibt. es gibt aber die m,öglichkeit das über wine zu verwenden (s.o.) alex
Hi, Ich benutze den in den binutils enthaltenden gnu assembler, da ich mit diesem reichlich erfahrung habe auch auf anderen platformen wie arm, alpha, sparc, mips, s390,... und gcc als C cross compiler. g++ ist nach meiner meinung für die 'kleinen' AVRs overkill. Wer es braucht benutzt es eben... Ich habe es zwar nicht versucht, da ich kein fortran kann, aber du kannst beim erzeugen des gcc cross-compiler den fortran support mal einschalten mit --enable-languages=c,c++,f95 Zum flashen benutze ich uisp und einen selbst gebastelten el cheapo parallel programmer a la STK200 (ein 74244, diode und widerstände). Mit meinem neuen rechner werde ich mir wohl oder übel auch einen USB adapter basteln müssen. Wird wohl ein FTDI-chip plus AVR werden, oder was mir im web halt mal über den weg läuft... Als editor benutze ich vim. Auf F9 habe ich mir speichern und make eingestellt. map <F9> :w<CR>:make<CR> Damit bekomme ich dann auch die fehler angezeigt und kann mit :cn :cp zu den fehlerstell vor und zurück springen.
>>es gibt aber die m,öglichkeit das über wine zu verwenden (s.o.) Ja, das weiss wohl schon jeder dass es mit wine läuft (oder sich auf hängt), ich würde AVR-Studio verwenden wenn es als native Linux-Version gäbe.
> mit eingebundenen makefiles meine ich folgendes: bei emacs z.B. > kann man über makefiles direkt aus emacs raus compilieren, und > sieht die ergebnisse dann auch in emacs. Das mache ich im gvim auch so. Aber ich brauche kein spezielles Makefile dafür. Oder meinstest du nur, ob ich make auch aus dem Editor heraus aufrufe? > dgl. könnte man wohl auch für debugging jobs realisieren. (ich > mach das üblicherweise nicht, bin freund des 'atomic approach'). Man kann das ja beliebig variieren. > funktioniert das highlightning im vim automatisch, oder muss man > was nachinstallieren (für avr assembler)? Für AVR-Assembler war es WIMRE nicht dabei, aber auf vim.org kann man sich passende Skripte runterladen. Code-Folding geht natürlich nicht automatisch, aber man kann mit Foldmarkern sehr gut arbeiten. Ich finde, das macht die Sache doch übersichtlicher. Sieht dann so aus wie im Anhang bei: http://www.mikrocontroller.net/forum/read-2-225183.html#236574 PS: bitte keine Diskussion über die Hintergrundfarbe. Die gab es in dem verlinkten Thread schon.
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.