PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IDE - gibt's sowas und wenn ja wo?



Felix G
26.12.2004, 14:30
Tja, der Titel sagt eigentlich schon alles...

Ich will in C programmieren, aber WinAVR ist mir zu unbequem.
Gibt es irgendwo eine einfache IDE?


Und ja, es ist mir durchaus bewusst daß ich den ATmega auch in Basic programmieren könnte,
will ich aber nicht ;)



PS:
was ist eigentlich mit AVR-Studio, geht da wirklich nur Assembler?
oder kann man das Ding auch dazu überreden einen C-Compiler zu benutzen?

26.12.2004, 23:09
Hi Felix,
hab mir diese fragen vor ein paar tagen auch gestellt . Nach durchsicht und evaluierung diverser IDEs steht für mich fest:
- AVR Studio 4.x für assembler und test,
- ICCAVR von ImageCraft als super gute IDE für C, die Testoutputs.
von ICCAVR sind unter AVR studios auch testbar.
- BASCOM kommt für mich aus mehreren Gründen nicht in Frage, u.a.
auch schon deshalb nicht, weil ich die performance der controller
ausreizen möchte.

was ich noch suche: gute C-libraries oder Code-Schnipfel in C für AVR.

Grüsse
Seetroll

churchi
26.12.2004, 23:30
Codevision ist eine weitere gute Alternative.

recycle
27.12.2004, 05:13
- BASCOM kommt für mich aus mehreren Gründen nicht in Frage, u.a.
auch schon deshalb nicht, weil ich die performance der controller
ausreizen möchte


Ich will dich ganz bestimmt nicht dazu überreden in Basic zu programmieren, denn es gibt sicher gute Gründe C oder andere Sprachen zu bevorzugen.
Dass Basic eine so viel schlechtere Performance bietet gehört aber wohl nicht unbedingt dazu. Dieses Vorurteil stammt noch aus den alten Zeiten, als Basic eine reine Interpretersprache war.
Bascom Basic ist ein Compiler, d.h. man programmiert zwar in Basic, der Programmcode der dann nach der Compilierung in den µC hochgeladen wird ist kein Basic mehr, denn das würde ein AVR genausowenig verstehen wie C.

Der Bascom Compiler erstellt vielleciht nicht immer den effizientesten und schnellsten Code. Aber das soll bei Leuten die in Assembler oder C programmieren auch schon mal vorkommen, besonders wenn sie gerade erst anfangen diese Programmiersprache zu lernen.

Ob WinAVR oder ICCAVR besseren Code erzeugen als Bascom kann ich nicht beurteilen, ich vermute aber, dass das von Fall zu Fall unterschiedlich sein wird.
Wenn der Quellcode schon schlecht oder umständlich ist, kann da aber eigentlich kein Compiler einen besonders guten und performanten Programmcode draus erstellen.
Deswegen wird ein Anfänger mit dem leichter zu lernenden Basic eventuell sogar performanteren Code erhalten als mit dem schwieriger zu lernenden C.
In vielen Fällen kommt es aber auch überhaupt nicht auf Performance an und der µC hat sowieso die meiste Zeit nichts zu tun.
Tagelang an einem Assemblercode zu brüten, nur weil der µC sich damit ein paar Prozent mehr langweilt als wenn man das Programm in 20 Minuten in Bascom geschrieben hätte ist auch nicht besonders effizient.

Ein wesentlicher Pluspunkt für C ist, dass WinAVR kostenlos ist, während bei Bascom nur die auf 2kB limitierte Demo Version kostenlos ist.
Ausserdem kommt man bei der Programmierung für den PC mit C wesentlich weiter als mit Basic.

27.12.2004, 08:25
Irgendwie ralle ich nicht, inwiefern WinAVR umständlich ist. Im PN kann man alle Aktionen vom Compilieren bis zum Programmieren des AVRs mit je zwei Mausklicks ausführen, wem das zu kompliziert ist, dem rate ich zu BASCOM.

Noch einfacher sind die Teile von Lego zu programmieren, vielleicht wär das ja für den Anfang etwas :-)

nk7
27.12.2004, 14:15
Hallo,
aus der Java-Welt bin ich an die Eclipse-IDE gewöhnt. Hier gibt es das CDT-Plugin, mit welchem ich meine Atmel-C-Programme baue (Als Compiler wird intern aber der vom WinAVR genutzt). Das ist sicher auch nicht das Optimalste, aber kostenlos.

http://www.eclipse.org/cdt/

nk7

27.12.2004, 14:54
Hallo

Ich benutze den MED Editor zum schreiben meiner C Files.

Bin ganz zufrieden damit.

http://www.med-editor.com/

MFG
Dieter

Felix G
28.12.2004, 10:53
Irgendwie ralle ich nicht, inwiefern WinAVR umständlich ist. Im PN kann man alle Aktionen vom Compilieren bis zum Programmieren des AVRs mit je zwei Mausklicks ausführen, wem das zu kompliziert ist, dem rate ich zu BASCOM.

Es ist mir nicht zu kompliziert...
es ist nur etwas gewöhnungsbedürftig


Ach ja...
gibts irgendwo eine Beschreibung, wie man welche Tools im PN eintragen sollte?

bluebrother
29.12.2004, 14:36
- ICCAVR von ImageCraft als super gute IDE für C

also ich muss hier den ImageCraft benutzen und der gehr mir immer mehr auf den Keks. Die IDE ist be*** und der Compiler auch eigenartig. Ich benutze mittlerweile Dev-C++ als IDE fürs C. Mit etwas rumgebastel kann ich dann auch den ICC direkt aus Dev-C++ aufrufen.

grind
29.12.2004, 16:44
Ich benutze Bloodshed und bin mehr als zufrieden damit.

Ist eine kostenlose C IDE. Die is mir sogar lieber als Microsofts C IDE (vergessen wie die heisst).

Google einfach nach Bloodshed da findest die schon.

Das einzig doofe is das man keine hex files erhält dafür brauchst wieder andere Programme die deine C-Codes nach *.hex compilieren. Man kann die glaubich auch irgendwie in Bloodshed einbinden aber so lang benutz ich dass noch nich deswegen kann ich dir da nich weiter helfen.

Schöne Grüße und nen Guten Rutsch
Grind

bluebrother
29.12.2004, 17:00
@grind: http://www.bloodshed.net/dev/
Ich hab hier Dev-C++ so umgebogen dass es mir die Hex-Files automatisch erzeugt. Funktioniert mit dem gcc einwandfrei, für den ICC muss man im Makefile rumpfuschen :-(

KeyMan
02.01.2005, 10:15
hallo!
wie hast du das gemacht mit dem dev-c++ und was für nen compiler setzt du ein?
ich benutze den dev-c++ schon längere zeit zum normalen c-development und hätte das auch gerne eingebunden.
danke
jan

bluebrother
03.01.2005, 12:42
wie hast du das gemacht mit dem dev-c++ und was für nen compiler setzt du ein?

Also ich benutz den ICC-AVR. Hässliches Teil. Ich hätte lieber den gcc aber ich darf net :(

OK, also zum einbinden:
Tools -> Compiler Options -> + (add new compiler) -> ICC-AVR als Namen
dann den so einstellen:
Directories -> binaries -> Add -> c:\programme\icc\bin
Directories -> libraries -> Add -> c:\programme\icc\lib
Directories -> includes -> Add -> c:\programme\icc\include
Programs: gcc: iccavr.exe, make: imakew.exe

Alles andere kannst du stehen lassen. Dann im Project unter "Project Options" den Compiler auswählen. Unter "Makefile" "Use custom Makefile", dort die %projectname.mak-Datei vom ICC-Projekt eintragen. (Das Projekt muss ich dann noch mit dem ICC anlegen dass der das Makefile erzeugt).
Das Makefile vom ICC editieren und über das erste Target die Zeile
all: <targetname der folgenden Zeile>
einfügen.

Für den gcc hab ich das auch gemacht, das geht wesentlich einfacher. Hab aber die Konfiguration grad net da. Da musst du hauptsächlich die Pfade einstellen und die Dateinamen vom gcc

patti16
03.01.2005, 12:51
hi

also der dev-c++ ist schon cool besser als borland.
voralldingen besser zubedinen

gruß
patti16

bluebrother
04.01.2005, 21:26
Hi,

@alle, die einen anderen Compiler in Dev-Cpp haben wollten:

ich hab jetzt ein bischen mein Dateisystem durchsucht und dabei die Konfigurationsdatei von Dev-Cpp gefunden. Liegt unter c:\Dokumente und Einstellungen\<deinbenutzername>\Lokale Einstellungen\Anwendungsdaten. In der Datei devcpp.ini steht dann für den avr-gcc bei mir folgendes:


[CompilerSets_2]
gcc.exe=avr-gcc.exe
g++.exe=avr-c++.exe
gdb.exe=avr-gdb.exe
make.exe=make.exe
windres.exe=windres.exe
dllwrap.exe=dllwrap.exe
gprof.exe=gprof.exe
Options=0000000000000000000000
Bins=C:\Programme\WinAVR\bin;C:\Programme\WinAVR\u tils\bin
C=C:\Programme\WinAVR\include
Cpp=C:\Programme\WinAVR\avr\include
Lib=c:\Programme\WinAVR\lib

und weiter unten

[CompilerSets]
0=Default compiler
1=ICC AVR
2=avr-gcc

Wenn du den oberen Block in die ini-Datei reinkopierst und unter [CompilerSets] einen neuen (bei mir 2, müsste mit der nächsten laufenden Nummer funktionieren -- unter [CompilerSets_n] musste dann halt auch die Nummer anpassen) CompilerSet anlegst sollte das funktionieren. Habs hier grad an meinem Arbeits-Rechner ausprobiert, da hats getan.
Makefile wirst du wahrscheinlich von Hand bauen müssen, damit hab ich mich noch net beschäftigt.

grind
05.01.2005, 12:43
Des nervt mich an C so. Warum muss man da für jedes Projekt ein Makefile bauen?! Ich bring da immer nur Fehler rein...

sunnyheinz
05.01.2005, 12:49
Ich programmiere den MSP430 mit GCC mit der Eclipse Umgebung. Übersetzen und Upload auf den Prozessor geht per Knopfdruck. Syntaxhighlighting etc. gibts auch - ich bin damit zufrieden.

Sollte für AVR genauso gehen...

bluebrother
05.01.2005, 13:36
@grind: Makefiles sind nicht unbedingt für C spezifisch. Ich benutz Makefiles z.B. auch zum TeX-en oder rpms bauen.
Und jedes Projekt is ein bissel anderst ... also brauchst du auch für jedes ein passendes Makefile. mfile ist da doch ein schönes Tool ...

KeyMan
05.01.2005, 14:41
also ich hätte das schon gerne so dass ich nen controller einstelle und dann drück ich und dann kommt unten das hex raus...
das kann doch ned so schwer sein?!
makefile is halt aufwand :(
ideen?
ich hätte das gerne in dem dev-c++ integreiert, wäre aber uach mit nem externen "ich-mach-aus-einem-c-ein-hex-file"-programm zufrieden

jan

grind
05.01.2005, 15:10
KeyMan wenn du mit einem "ich-mach-aus-einem-c-ein-hex-file" Program zufrieden bist isses leicht. Nen C Compiler in Dev-C++ zu integrieren hab ich noch nich gemacht aber die anderen können dir da anscheinend weiterhelfen.

Sonst Compilierst du dein Program einfach mit WinAVR zu einem Hex File. So hab ichs bisher immer gemacht.

bluebrother
05.01.2005, 15:22
@keyman: den Controller stellst du 1x im Makefile ein, lässt Dev-Cpp mit make darauf los und das hex (bzw. coff) kommt raus. Makefiles sind mir mfile kaum Aufwand, da musst du nur ein paar Werte ausfüllen.
Btw, ich mag nicht mehr ohne Makefiles arbeiten ;-)

KeyMan
07.01.2005, 14:16
hallo.

ich habe nach nachfragen via pn im dev-c++ unter "project options" wo ja auch der gcc compiler eingestellt werden muss beim makefile unter ERR: 3224 meins eingetragen.
ja gehen tut das schon aber nur wenn die datei main.c heißt anders nicht und er erstellt bei anlagen da 5 oder mehr dateien...

ich finde das halt schon ziemlich umständlich und bin wirklich zur davor ne speziellen avr-c-ide zu suchen...

man muss wenn die dateien anders heißen das makefile editieren. wenn ich ein neues projekt anfange muss ich erstmal compiler und make options umstellen uswusw

gibts da wirklich keine einfachere lösung?
weil ärgern tut mich das so schon...
und dev-cpp ist halt schon ziemlich variabel, aber nicht unnendlich skalierbar und so kann man keinen "avr-typ" einstellen der dann de compiler mit umstellt. templates anlegen schon aber wie gesagt ist alles gebastel...
ich mag/muss meine programme halt via avr-dude hochladen und daher wär mir ne erweiterbare ide schon recht in der man sowas machen kann...
und winAVR scheint mir ned so gut zu sein, alles ähnlich umständlich uswusw

also was tun?
Mfg
jan

bluebrother
07.01.2005, 17:32
wenn du keinen Classbrowser brauchst / willst kannst du auch UltraEdit nehmen. Über die user defined buttons kannst du dir dann deine Befehle definieren, also z.B. make all, make program etc.
Was ist denn eigentlich an Makefiles umständllich? Ne kostenlose IDE die speziell für den AVR gebaut ist wirst du wohl kaum finden, der Markt is da doch net allzu groß ...

btw, die "IDE" die beim ImageCraft dabei ist is ne absolute Katastrophe. Und das Ding verkaufen die ...