Entwicklungsumgebungen

Begonnen von Ronin, 22. Mai 2008, 11:47

« vorheriges - nächstes »
Nach unten

Ronin

Hallo allerseits,
ich suche eine Entwicklungsumgebung für die Betty (LPC2220) und andere ARM Mikrocontroller für ein anderes Projekt. Gibt es hier jemand der sich auskennt und ein paar Tipps abgeben kann? Was ist zu empfehlen, was ist nicht zu empfehlen? Wichtig wäre, dass die Entwicklungsumgebung direkte Unterstützung (Startup-Code, Bibliotheken, usw.) für die Mikrocontroller, vorallem den LPC2220, mitbringt. Leider scheint es für ARM Mikrocontroller nicht so ein gutes freies Projekt wie für AVR Mikrocontroller zu geben. Was ist über die Entwicklungsumgebung von Keil zu sagen? Leider ist sie sehr teuer.


theborg

naja das ist schwer wegen dien vielen unterschidlichen komponenten typen ... z.b. selbst bei den compilern gibt es nichts einheitliches jeder kocht da seine eigende suppe

famos

Hallo Ronin,

das Keilsystem ist schon gut, aber unverschämt teuer. Preislich interessant ist Crossworks for ARM von Rowley http://www.rowley.co.uk/arm/index.htm.
Code der für den Gnu Compiler geschrieben wurde mag der Keil aber ohne gröbere Änderungen nicht. Crossworks habe ich mal installiert und angeschaut, aber noch nichts compiliert. Das GUI sieht recht ordentlich aus.
Mit dem GNU Compiler lässt sich auch arbeiten, das Interrupt Handling ist aber nicht einfach. Auch der Umgang mit den Libraryies ist nicht komfortabel.



Ronin

Danke für die Antworten.
Ich mache mir vorallem Sorgen wegen der "direkten Unterstützung" für die jeweiligen Mikrocontroller-Typen (Startup Code, Libraries, usw.). Bei der Keil IDE habe ich schon gesehen, dass die das bieten, wobei ich nicht weiß wie brauchbar die Libraries sind. Naja, alles andere wäre auch unverschämt bei dem Preis.
Wie ist das bei der CrossWorks von Rowley genau?

Ich habe auch gehört, dass man die Keil IDE auch mit dem GCC verwenden kann.


famos

Hallo Ronin,

Das ist richtig, Keil lässt auch den Gnu Compiler zu. Man kann also die Demo intallieren und als Linker und Compiler den Winarm Compiler angeben. Ob der Ulink JTAG Adaper dann unterstützt kann ich nicht sagen. Sonst sehe ich aber keinen Vorteil. Programmers Notepad in Verbindung mit dem Winarm bietet etwa das Gleiche. CodeSourcery welches ebefalls auf dem Gnu Compiler basiert wird ähnlich sein. Würde ich aber auch mal anschauen http://www.codesourcery.com/.

Gruss famos

Ronin

#5
28. Mai 2008, 21:43 Last Edit: 28. Mai 2008, 22:05 by Ronin
Apropos Winarm, was kann diese IDE im Vergleich mit den kommerziellen Produkten? Ich habe sie bisher nicht ausprobiert mangels Windows. Ich habe nur etwas von einem Bug im Boop Source Code gelesen. :)

Den GNU Compiler zu verwenden dürfte den Vorteil haben, dass man bestehenden Code weiterverwenden kann, wenn das Projekt bisher gcc verwendet hat, nehme ich an.
Besonders vorteilhaft, wenn man Code mit anderen Projektzweigen für andere Plattformen teilen will, die wahrscheinlich ebenfalls den gcc verwenden.

Ich muss leider nochmal betonen, dass mir die Unterstützung für die speziellen Controller (Startup-Code, Libraries, ...) wichtig ist. Die Ronetix "Entwicklungsumgebung" bietet das ja anscheinend nicht. Mein Betreuer legt da aber wert darauf und es macht die Entwicklung ja auch wirklich schneller und stabiler.

Wie sieht es eigentlich mit der C++ Unterstützung dieser IDEs und Compiler für die ARM Mikrocontroller aus? Das wäre für mich ein zweiter wichtiger Punkt.

Achja, und ich will natürlich _ohne_ irgendein Betriebssystem für Mikrocontroller entwickeln können. Ist das das was man EABI nennt?


famos

Das WinARM Paket beinhaltet den Programmers Notepad, GNU Debugger und Schnittstellen zu Nachbauen von Wiggler JTAG Adaptern. Da sind sogar Schemas dabei. Wie gesagt es lässt sich arbeiten. Aber wenn es möglich ist lass Dir den Keil oder IAR Compiler spendieren. Da wird Dir schon Arbeit abgenommen. Wie schreibt einer in den DPRG Mailing List so schön: Keil is probably the biggest player in ARM compilers.

Meines Wissen wird C++ unterstützt, aber ob das Dir was bringt ist eine andere Frage. Viele Entwickler denken es vergrössert unnötig den Code. Ob das so ist, weiss ich nicht.
EABI: Embedded Application Binary Interface bezieht sich auf die Libraries und Controller OS wie Realtime- und File System .

Ronin

Danke nochmal, für die Ratschläge. :)


Meines Wissen wird C++ unterstützt, aber ob das Dir was bringt ist eine andere Frage. Viele Entwickler denken es vergrössert unnötig den Code. Ob das so ist, weiss ich nicht.


Ok, gut.
Ob C++ zu größerem Code führt hängt, soweit ich weiß, auch davon ab wie man programmiert.
Ich habe später auch noch ein C++-Projekt auf den ARM Mikrocontroller zu portieren.

Megabug

Unter Windows könnte man doch Eclipse nutzen ?

Ronin


Unter Windows könnte man doch Eclipse nutzen ?


Eclipse bittet mir nur eine allgemeine IDE für C/C++ Entwicklung. Da bräuchte ich schon zusätzlich eine komplette Toolchain wie z.B. die von GNU für ARM. Das Problem ist aber, dass ich mehr bräuchte: passende Startup-Files, Libraries, ... Die bekomme ich weder bei Eclipse, noch bei CDT, noch bei den meisten GCC-ARM-ELF Toolchains. Und dann das ganze auch noch für C++.
Gegen einen Simulator hätte ich auch nichts einzuwenden. :)

Andere Fragen dazu:
Was ist das mit der newlib? Funktioniert die gut ohne ein Linux darunter? Ist die newlib version die bei der Ronetix Toolchain dabei ist auf dem LPC2220 ohne OS einsetzbar? Bitte diese Heap Funktionen? Wie setzt man die Heap Funktionen ohne OS ein? Dazu müsst man dem Heap Management der Library sagen welche Speicherbereiche frei und zu verwalten sind und welche schon belegt.


Nach oben