Hallo alle zusammen, ich habe AVR Studio als konfortables Tool kennen gelernt weil man alles mit einem Programm coden, brennen und in cirquit debuggen kann. Wie es 1000 Beiträge im Forum bereits zeigen ist die IDE vom AVR Studio halt recht dünn ausgestattet... gibt es Plugins oder Alternativen, die das Coden noch konfortabler machen? Ich will zunächst mal bei Assembler bleiben... Ich verwende STK500, STK600 und JTAGICE MK2... Was schon mal gut funktioniert, und was ich nicht opfern will: A)Das gecodete kann mit schnellem Tastendruck gleich in den Flash des Prozessors geschrieben werden. Erst abspeichern, Programm wechseln, Dateien neu einladen usw. finde ich lästig, würde ich aber in kauf nehmen, wenn anderen Funktionen dadurch konfortabler werden. B)Bei in circuit debugging breakpoints will ich gleich sehen können, in welcher Zeile (und in welcher Datei) des Codes oder der include Dateien der Prozessor stehen geblieben ist und welche Werte die Register, Ports usw. haben. Was bei AVR Studio nicht funktioniert, und ich nach einer Lösung suche: C) selbstdefinierte Deklarationen, Variablen, Sprungbefehle und Macros sollten farbig dargestellt werden (ohne sie vorher in der AvrStudio_asm.ini eingeben zu müssen und das Programm neu starten müssen) D) selbstdefinierte Deklarationen, Variablen, Sprungbefehle und Macros sollten sofort währen der Eingabe vorgeschlagen werden, damit ich diese nicht bis zum Ende abtippen muss oder selbst nochmal in andern Dateien nachschauen muss, wie die nochmal genau hiessen... E) Subroutinen und Macros sollten ausblendbar werden F) Wenn ich im AVR Studio das Projekt wechsle, bleibt die ausgewählte HEX Datei immer noch im AVR Programmer Menü. Oft brenne ich eine andere Hex Datei, als die, die das aktuelle Projekt erzeugt hat. Kann man dem AVR Programmer nicht irgendwie beibringen die aktuelle Datei des Projekts zu brennen? (und auch die EEPROM Datei) G) Ich will im Projekt bestimmen können welche Fuse Bits beim brennen gesetzt werden sollen. Wenn ich das Projekt wechsle, sind immer noch die alten Einstellungen des letzten Projekts im AVR Programmer. Oft brenne ich falsche Clock Einstellungen oder noch die HEX Datei des letzten Projekts, wie unter Punkt F beschrieben. Ich weiss, es sind alles Wünsche, die sich mit mehr Aufmerksamkeit und mehr Fleiß erübrigen würden. Aber ich denke genau das macht eine "Komfort" Funktion aus und unter C gibt es ja schon die ein oder andere komfortable Lösung. Aber nicht für den Assembler, oder habe ich was übersehen? Ist das alles bereits unter C möglich? Wenn ja, wäre ich auch bereit mich neu in die Programmiersprache einzuarbeiten. Mit was arbeitet Ihr und welche Funktionen habt Ihr lieb gewonnen? Danke schon mal in Voraus Christian Beckmann
A) Benutzer-definierte Shortcuts beherrscht sogar schon Textpad... C) Syntax-Highlight per regex. Kenn ich vom emacs D) Code-Completion: Code::Blocks E) Code-Folding: Code::Blocks F) Wie soll der Programmer denn wissen, welche andere Datei du gerade brennen willst? Üblicherweise ist das abhäbgig vom Projekt. C::B kann auch mehrere Projekte verwalten. G) In C::B kann man vieles einstellen: post-build Regeln, etc. Falls das alles nicht reicht, kann man sich zB per Python reinhängen. > Ist das alles bereits unter C möglich? Mit C ist alles möglich, sogar das versehentliche Auslösen des 3. Weltkrieges ;-) Ich arbeite mit Programmer's Notepad. Super schlank, ich mag die ganzen fetten und überlagenen GUIs net. Wer nicht weiß was er tut, dem hülft auch dein Käferjäger. Einfach mal antesten, kost ja nix. Ebenso wie die zig PlugIns für C::B http://www.codeblocks.org/features http://forums.codeblocks.org/index.php/board,22.0.html
Danke schon mal für den Anfang, ich werde mir die Tools gleich mal im Laufe des Tages anschauen. zu F: der AVR programmer scheint es zu wissen, es gäbe ja auch die Einstellung "Use current Simulator/Emulator Flash Memory". Diese ist jedoch ausgegraut, solange ich nicht simuliere. Jedes mal neu zu simulieren wäre jedoch noch umständlicher, als die Datei bei Projektwechsel neu einzustellen. >Wer nicht weiß was er tut... naja, es geht schon, man kommt zurecht. Aber ich sehne mich mit meinen 40 Jahren nach "Komfort"funktionen, Alternativen suchen kostet ja nichts ;)
also zum coden ist C::B spitzenmäßig, nur ich habe nicht das Gefühl, daß man sich mit C::B beim in circuit debugging noch die Register den Port Status anschauen kann. Oder kann man sich da irgendein Plugin für den JTAGICE MK2 einbinden oder ins AVR Studio einbinden?
Ich habe gerade entdeckt, daß man im AVR Studio die Dateien "reloaden" kann, und daß er sogar selbst erkennt, ob sich Dateien geändert haben. Wenn man also mit einem externen Programm, wie PN oder C::B schreiben würde, könnte man mit wenigen klicks ganz schnell im AVR Studio weiter machen. Nur: Es gibt keinen Befehl: Reload "all" files. Pro Projekt sind es doch einige. Würde es da einen Trick geben, ohne daß man das ganze Projekt neu aufmachen müsste?
Ich Code doch tatsächlich mit MS Visual Studio :) Zum Kompilieren, Flashen und Debuggen dann wieder AVR Studio, was nebenbei offen ist. Das erkennt, wenn sich die Quelldateien geändert haben und mit einem klick sind die neu geladen.
Mit welchem "einem" Click löst Du das neu laden aus? Oder verwendest Du nur eine große Datei ohne include Dateien?
Klaus wrote: > Ich Code doch tatsächlich mit MS Visual Studio :) Zum Kompilieren, > Flashen und Debuggen dann wieder AVR Studio, was nebenbei offen ist. Das > erkennt, wenn sich die Quelldateien geändert haben und mit einem klick > sind die neu geladen. Das geht mit dem Programmer's Notepad genauso.
Hab da eine Frage : CodeBlocks (V8.02) besitzt z.B. einen Projekt Wizard für den WinAVR. Gibt´s irgendwo eine Anleitung im Netz wie ich den WinAVR auf anhieb richtig in CodeBlocks integrieren kann, was muss ich tun bzw. beachten, damit es genauso reibungslos verläuft wie mit dem AVR-Studio ?
Ja, C::B ist schon ne schöne IDE... leider bin ich damals daran verzweifelt den Debugger zum laufen zu bringen. Auch hab ich es irgendwie nicht geschafft ein Programm zum Flashen so zu Konfigurieren, dass man mit einem "Klick" von der C::B Oberfläche aus das Programm in den AVR schreiben kann. Ich werde mich in den kommenden Semesterferien noch einmal genauer damit beschäftigen, denn CodeBlocks wäre meine Wunsch IDE zum Entwickeln von AVR Programmen...
Codewright ist auch nicht verkehrt hinsichtlich C-coding (autovervollständigen usw.). Ich habe avrstudio parallel dann zum debuggen offen auf nem zweiten monitor... Eclipse kommt so langsam mit dem CDT-plugin auch in diese Regionen. gruss, tom.
Ich empfehle Eclipse mit CDT und dem AVR Eclipse Plugin von Thomas Holland. Kann alles und auch nichts. Alles einstellbar. http://avr-eclipse.sourceforge.net/wiki/index.php/Plugin_Download
So wie es aussieht läuft alles auf C hinaus. Gibt es sowas tolles auch für den Assembler? Macht noch jemand mit Assembler herum?
Ja, ab und zu, aber immer weniger. Dieses Jahr nur einmal.
Netbeans. Nuff said. --> Keine Kinderkrankheiten wie bei Eclipse, keine Superspezial-Eigenheiten wie bei den allermeissten anderen IDE's, Compiler frei wählbar (!!), 64Bit-fähig, plattformunabhängig weil Java (ich muss immer wieder lachen wenn C++-Programmierer das selbe behaupten -- wohl noch nie eine .exe oder .dll auf Linux ausprobiert, wa ;-) ) und spgar recht stabil (weil: Java). Einziges Manko: avr-gcc muss selbst eingeknotet werden ... is aber kein Ding, wenn der Compiler eingestellt und die Makefile ausgewählt is zeigt dir NB sogar Makros und #defines an die nichtmal das ach-so-tolle Eclipse kennt ;-), zudem wird praktisch alles über Tooltips und Popups ergänzt (bei Mircoz0ft heisst das "Intellisense", Eclipse kennt das scheinbar garnicht oder nur sehr bruchteilig)
Name wrote: > Ding, wenn der Compiler eingestellt und die Makefile ausgewählt is zeigt > dir NB sogar Makros und #defines an die nichtmal das ach-so-tolle > Eclipse kennt ;-), zudem wird praktisch alles über Tooltips und Popups > ergänzt (bei Mircoz0ft heisst das "Intellisense", Eclipse kennt das > scheinbar garnicht oder nur sehr bruchteilig) Schade, dass du dich bei Eclipse so wenig informiert hast und dann dein Halbwissen hier verbreitest. Es stimmt nicht, was du schreibst. Ich will nicht sagen, dass bei Eclipse alles SOO toll ist, aber alles was du aufführst funktioniert auch bei Eclipse (z.B. die erwähnten #defines und Makros). Ach ja, Eclipse ist auch Plattformunahängig durch Java. Hab die Windows und Linux version schon intensiv genutzt. Gehen beide gut.
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.