Forum: Compiler & IDEs bessere IDE für AVR Studio oder Alternativen


von Anfänger (Gast)


Lesenswert?

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

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

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

von Anfänger (Gast)


Lesenswert?

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 
;)

von Anfänger (Gast)


Lesenswert?

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?

von Anfänger (Gast)


Lesenswert?

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?

von Klaus (Gast)


Lesenswert?

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.

von Anfänger (Gast)


Lesenswert?

Mit welchem "einem" Click löst Du das neu laden aus? Oder verwendest Du 
nur eine große Datei ohne include Dateien?

von M. K. (kichi)


Lesenswert?

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.

von Gast (Gast)


Lesenswert?

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 ?

von Olli R. (xenusion)


Lesenswert?

Emacs, Makefiles, avrdude, fertig.

Olli

von A. N. (netbandit)


Lesenswert?

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...

von tom (Gast)


Lesenswert?

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.

von Simon K. (simon) Benutzerseite


Lesenswert?

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

von I. E. (anfaenger69)


Lesenswert?

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?

von YS-500 (Gast)


Lesenswert?

Ja, ab und zu, aber immer weniger.
Dieses Jahr nur einmal.

von ... (Gast)


Lesenswert?

Ebenfalls ganz nett: Codelite
http://www.codelite.org/

von Name (Gast)


Lesenswert?

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)

von 900ss (900ss)


Lesenswert?

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
Noch kein Account? Hier anmelden.