Hi Leute, ich habe vor kurzem angefangen mit dem ARM AT91SAM7s rumzupielen, allerdings bin ich mit der Entwicklungsumgebung sehr unzufrieden. Ich benutze ein mischmasch aus Yagarto, OpenOCD und Eclipse. Bei meinem Board war eine ellenlange Anleitung wie ich das so zum laufen bekomme, aber es muss doch auch eine einfachere Lösung geben, einfach mal ein startprojekt zu erstellen. Bei Eclipse schaffe ich es bis heute nicht, ein reines sauberes Projekt zu erstellen, wo ich losprogrammieren kann. Ich muss immer über Umwege irgendwelche Beispiele nehmen, diese soweit minimieren, dass ich anfangen kann zu proggen. Gibt es irgendwo irgendwas überschaubares, womit man einfach einen ARM Programmieren kann. Flashen tue ich immer über USB und Samba und bin damit recht zufrieden. Welche entwicklungsumgebung benutzt ihr und wie einfach ist es, ein Projekt zu erstellen und was bindet ihr alles ein bzw wie? Eclipse auf jeden fall nervt mich tierisch. Ich wäre für jede Anregung sehr dankbar MFG Spice
:
Verschoben durch Admin
Keil-ARM das Orginal. http://www.keil.com/ Für den Einsteig reicht die kostenlose EVA-Version völlig aus.
Ich benuzte die gleiche Umgebung in mitlerweile mehreren Projekten.... Eclipse auch zum AVR Programmiern. Ich kann net meckern. Auch wenn die DOku nicht so is wie bei Komerziellen IDEs aber dafür kosts nix.....
@Martin: >Keil-ARM das Orginal. http://www.keil.com/ Für den Einsteig >reicht die kostenlose EVA-Version völlig aus. Mit Keil für ARM war ich auch sehr zufrieden, ist doch das Code-Limit in der Eval-Version mit 16 kB sehr hoch angesetzt. Damit konnte ich immerhin einen kompletten CAN-Bus-Treiber entwickeln. Später gab es dann die Vollversion. Keil, unterstützt als USB-zu-JTAG-Tool doch aber nur ihren eigenen ULINK-Adapter (ca. 150 Euro)???
Keil-ARM läuft auch mit dem SAM-ICE von Atmel. Meine auch, daß die Codebegrenzung jetzt bei 32 KByte liegt (bitte überprüfen). Die Umgebung ist einfach gut und intuitiv zu bedienen. Mit dem Simulatore/Debugger kann man rasch in die Architektur der ARM-Controller einsteigen.
@Martin: >Meine auch, daß die Codebegrenzung jetzt >bei 32 KByte liegt (bitte überprüfen). Ist immer noch genug. Bei den 8051-Derivaten, geht es nur bis 2 kByte. Da ist man mit einem printf() schon am Limit. Hat mich immer geärgert. Für alte 8051, arbeite ich gelegentlich mit SDCC und DOS-Batch-File (Make), und verwende die Keil-IDE als Projektstruktur und zur schnellen Ansicht und highlighted Code. Geht auch.
@Bernd Hallinger: Ich möchte mir auch noch mal ARM7-Hardware anschaffen, jedoch mit LPC2000 von NXP (ehemals Philips). Hast du da Ahnung, was an Low Cost Tools geht, bzw., was verwendest du?
Hi, ich nutze Eclipse jetzt schon ca. 2 Jahre mit AVR und seit ein paar Wochen für ARM. Klappt fast perfekt, aber..... der Weg ist steinig. Leider wahr. Aber ich möchte immer noch nicht tauschen, da der Eclipse-Editor z.B. alles andere um Längen schlägt. Eine Subversion (oder CVS) Anbindung ist vorhanden u.s.w. u.s.w. Und unmöglich ist es auch nicht, das zu lernen. Ein wenig Geduld braucht man allerdings. Für ARM benutze ich auch nicht OpenOCD mit 'nem JTAG-IF sondern den Segger JLink (none commercial kostet er 99,00 Euro + Mwst). Ich hatte 2 Abende OpenOCD mit einem JTAG-IF hier. Danke. Der JLink klappt dagegen perfekt! OK, OpenOCD kostet nichts und wird in 2 Jahren sicher auch besser sein. Füttere mal die Tante G. "James P. Lynch" "tutorial" "eclipse" Der James hat ein paar Tutorials geschrieben, leider nicht mehr der letzte Stand. Hier gibt es einen ZIP, der Beispiele und sein scheinbar neuestes Tutorial enthält (2007). http://www.atmel.com/dyn/resources/prod_documents/atmel_tutorial_source.zip Geändert hat sich seit dem die Installation von Eclipse, dass kann man jetzt mit eingebautem CDT bekommen, d.h. die CDT muß man nicht mehr extra installieren. Das Zylin HW Debugging Plugin braucht man auch nicht mehr, das kann Eclipse jetzt auch selber.
Hi, vielen Dank schon mal für die zahlreichen Infos.... Eclipse (Editor etc) ist ja auch nicht sooo schlecht, bzw ich hab mich leicht zurechtgefunden, aber ich raff´ es einfach nicht ein neues Projekt zu erstellen, mit allen Includes und Startups, die der SAM7s benötigt. Wie erstellt ihr unter Eclipse ein neues Project? Was muss ich alles einstellen? Wo kann man solche sachen nachlesen? Die Installation hat soweit funktioniert (nach einem Tutorial) aber ich weiss nicht, was für ein Projekt ich erstellen muss, um es für den sam7s compilieren zu können. Mein Problem ist es einfach, dass ich immer ein vorhandenes funktionierendes Project bereinigen muss, um es für eigene Projekte benutzen zu können. Die Fülle der Einstellungsmöglichkeiten beim Erstellen eines Projekts erschlägt mich leider. Vielleicht kann mir dahingehend jemand helfen. Besten Dank nochmal... Gruß Spice
Am besten ein leeres Projekt als Rahmen anlegen un dann kopieren. Da kann man dann schon seine Vorlieben mit reinbringen. Ich hab z.B. Einige Defines, Code für Debugausgaben etc im Rahmen. Dann z.B. eienn USB Treiber bzw den Code ausem Atmel Framework etc etc. So startet man schnell ein Projekt und das was man immer wieder braucht ist schon drin.
Vielen Dank nochmal für die Antwort. Genau sowas suche ich eigentlich. Ich hab viel von dem Framework gehört, da interruptgesteuert etc, aber in meine Projekte einbinden klappt nicht wirklich. Wärst du vielleicht so nett würdest dein "rahmen" als komplettes "Projekt" für Eclipse mal veröffentlichen? Damit wäre mir sehr geholfen. Aber kann es auch verstehen, wenn du es nicht uppen magst. Danke und Gruß Spice
keiner eine idee wo ich sowas finden könnt?
@Spice: >keiner eine idee wo ich sowas finden könnt? Du solltest dir vielleicht nicht nur irgendwo alles zusammen klicken und downloaden, und glauben, alles wird schon auf irgend eine Art funktionieren, sondern gelegentlich den eigenen Kopf anstrengen. Wobei das jetzt auf keinen Fall belehrend oder gar beleidigend gemeint ist!!! Irgend ein Teufel steckt immer im Detail. Wo hängt es denn konkret??? >Flashen tue ich immer über USB und Samba und bin >damit recht zufrieden. Wenn Compilieren und Flashen geht, und ein Demo-Projekt läuft, sehe ich absolut keinen Grund, das Tool an die Wand zu werfen! Dann sollte auch alles weitere gehen. Irgendwann, möchtest du doch mal ein Projekt von Grund auf neu erstellen. Die Quellfiles (das wichtigste) sind ja vorhanden. OK, die Tools, sind alle mehr oder weniger komplex, da muß man sich immer durchkämpfen. Bei mir, verging mal locker eine Woche, bis ich die Syntax und exakte Funktion des Scatter-Loading-Files (Linker-Script) für RealView für ARM (Keil) heraus hatte. Das ist ARM-selig, ehrlich! Ein Linker-Skript ist nicht zwangsläufig immer nötig, aber es handelte sich in meinem Fall um einen selbst programmierten Bootloader für Fern-Update über CAN-Bus, der an einer festen Speicheradresse platziert sein mußte. OK, das ist böse, da ich die ganze Historie über ARM und RealView nicht kannte, sondern nach vielleicht 10 oder 20 Jahren hinzu kam. Beim CAN-Controller war es ähnlich. Philips sparte im User Manual des LPC2129 an Details zum integrierten CAN-Controller, und verwiesen an alte separate CAN-Controller aus gleichem Hause, die aber funktional nur zur Hälfte überein stimmten. Ist heute leider mit vielen Dingen so. Grundlagen in C (richtige Einbindung der Header-Files, Includes, Variablentypen global, lokal, static, volatile) und das User Manual des Controllers müssen aber "sitzen". Dafür können die Entwicklungsumgebungen nichts. Ich kenne jetzt die Tools wie Eclipse nicht. So Oberflächen sollten doch aber grundlegende Gemeinsamkeiten haben, d.h., es sollte doch auf einfache Weise möglich sein, einen Projekt-Tree anzulegen, wo beliebig viele C- und H-Files (auch Assemblerfiles, vielleicht zum Startup) und auch Textdateien zur Dokumentation, verwaltbar, compilierbar und linkbar sind? Interrupt, ist doch was Controller-spezifisches, das geht die IDE nichts an. Das ist compilerspezifisch.
Wilhelm Ferkes schrieb: > @Bernd Hallinger: > > Ich möchte mir auch noch mal ARM7-Hardware anschaffen, jedoch mit > LPC2000 von NXP (ehemals Philips). > > Hast du da Ahnung, was an Low Cost Tools geht, bzw., was verwendest du? Wo? Im Shop (von Olimex) Bei Olimex (oder im Shop ;-) oder von IAR (auch Olimex) Chinaware auf E-Bay :-| Etwas hoeherwertig im doppelten Sinne des Wortes bei Keil oder www.embeddedartists.com Gruss, Robert
Ich werde mal einen Rahmen aus dem was ich hab basteln. Da sind zur Zeit noch Sachen drin die ich in der Fa. entwickelt hab. Aber ich werds mal hochladen. Dauert aber ein wenig....
Vielen Dank für die Antworten. Ich habe nicht wirklich was gegen Eclipse sondern eher was gegen die schlechte Doku, wie man die IDE mit einem SAM7 benutzt bzw als simpelstes Beipiel wie man ein Projekt anlegt. Mein Problem ist nicht von irgendwem ein Rahmencode zu bekommen, mir geht es einzig und allein um die Tatsache, dass ich nicht eine einzige Doku finde, wie ich bei Eclipse ein Projekt anlege und welche Einstellungen ich in der IDE vorgenehmen muss, um das neue Projekt kompilieren zu können. @Wilhelm Ferkes: Es liegt auch in meinem Interesse ein Projekt von Grund an zu erstellen, aber es scheitert ja schon daran, dass ich nicht weiß welchen Projekttypen ich anlegen muss und welche Toolchain ich auswählen muss etc. Ich möchte einfach mal in der IDE auf neues Projekt klicken und dann ein Projektverzeichnis haben, wo ich beispielsweise meine main.c einbinde oder erstelle und kompiliere und es klappt. Bis jetzt habe ich es nicht geschafft ein neues Projekt anzulegen, welches ich auch direkt (wie von den Beispielprogrammen gewohnt) kompilieren kann.
@ Bernd: Vielen Dank für deine Mühe, aber mir wäre schon sehr geholfen, wenn du mir kurz beschreiben könntest, wie ich ein neues Projekt anlege, welches auch direkt kompilierfähig ist. Muss ich da ein MakefileProject erstellen, ein C-Projekt, oder was genau? Welche Toolchain muss ich auswählen? Danke nochmal...
Mit Codeblocks kann man auch ARM-Projekte erstellen. Mit Eclipse habe ich schon mehrfach Versuche gestartet und habe das jedes Mal nach kurzer Zeit abgebrochen. Das Ding ist einfach furchtbar, noch schlimmer als Microsoft Visual Studio. Und das will was heißen...
Mit Visual Studio komme ich gut zurecht :-) aber ein neues Projekt anlegen mit Eclipse hat hier wohl auch keiner so richtig gemacht oder schafft, weils eben furchtbar ist oder man dazu direkt informatik studieren muss, makefiles gefressen haben muss oder tierisch den Durchblick haben muss. Habe ich momentan leider alles nicht, weil ich etechniker bin :-) Hat hier denn niemand, außer Bernd Hallinger jemals ein Projekt für den ARM SAM7s256 mit Eclipse selber angelegt? Ich glaubs kaum... Benutzen alle nur die Beispielcodes? Danke und Gruß Spice
Spice schrieb: > Mit Visual Studio komme ich gut zurecht :-) > aber ein neues Projekt anlegen mit Eclipse hat hier wohl auch keiner so > richtig gemacht oder schafft, weils eben furchtbar ist oder man dazu > direkt informatik studieren muss, makefiles gefressen haben muss oder > tierisch den Durchblick haben muss. Habe ich momentan leider alles > nicht, weil ich etechniker bin :-) Das Lynch-Tutorial von atmel.com zeigt was zu tun ist. Es ist zwar nicht mehr auf dem neuesten Stand aber zumindest erkennt man die Vorgehensweise. Falls Makefiles aber per se zu unverdaulich sind, kann ich auch nicht wirklich zusätzliche Informationen liefern. "Managed projects" in Eclipse mit ARM-Crosstoolchains selbst bis dato nicht wirklich ausprobiert. Einmal ein Versuch mit einem "ARM/gnuarm/Yagarto/WinARM plugin" aber abgebrochen, da an einigen Stellen - für mich - zu unflexibel. Evtl. hiflt das Plugin aber beim Einstieg, ist irgendwo auf sf.net zu finden. Man muss Make/Makefiles auch nicht "gefressen" haben, gibt genug leicht verdaulich vorgekaute Makefiles. > Hat hier denn niemand, außer Bernd Hallinger jemals ein Projekt für den > ARM SAM7s256 mit Eclipse selber angelegt? Ja. Wobei Eclipse für mich beim Erstellen von makefile-Projekten kaum mehr als ein Texteditor für das Makefile ist. > Ich glaubs kaum... Ahja. > Benutzen alle nur die Beispielcodes? Was ist "die Beispielcodes"? Lynchs Sachen bei atmel.com? Michael Fischers Erklärungen und Beispiele von yagarto.de? Was noch? Vieleicht hilft mein Zeug etwas: http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/#chanfat_at91sam7 Ist aber auch kein Einmal-Klick-Alles-wird-gut Beispiel.
Ich arbeite mit Makefiles....daher auch mit Makefileproject. Und Yagarto Toolchain. Da ich ein vorhandenes Project als Grundlage verwende, habe ich auch ein Makefile als Grundlage. Dazu die Standard Interuptvektoren, die Lowlevelinit. Eine Timer ISR nebst Init und die Initialisierung der DBGU. Ich meine man muss ja nicht jedes mal das Rad neu erfinden. Man sollte halt schon in die Init-Funktionen mal rein schaun
Ich verwende Eclsipe um für ARM7 zu entwickeln. Danke eines Plugins, http://sourceforge.net/projects/gnuarmeclipse muss ich mich gar nicht mehr mit Makefiles etc. rumschlagen. Ansonsten: Es handelt sich um ein Communityprojekt. wer der Meinung ist es ist kaum Doku vorhanden kann gerne selbst eine schreiben und die dann veröffentlichen. Wem das zu viel Arbeit ist, ist mit einem kommerziellen Compiler wohl besser dran.
Eigentlich ist Doku genug vorhanden. Nur nicht unbedingt sooo konzentriert. Man muß etwas graben. Aber hier ist eigentlich schon alles genannt worden, was brauchbar ist, mal abgesehen, von der Eclipse/CDT-Hilfe selber. Außerdem gibt es auch ein Eclipse-Forum(sogar in deutsch). Man muß das alles konzentriert lesen. Es ist eben nicht so einfach und intuitiv. Man hat sehr viele Möglichkeiten und dort die richtige rauszufinden erfordert schon (eigene) Mühe. Mein Eindruck ist, das Du (Spice) dir diese Mühe nicht geben möchtest. Du möchtest ein Kochrezept, was wahrscheinlich keiner hat und wenn du dieses dann nicht verstehst, also was dort eingerichtet wird, dann sind die nächsten Fragen schon vorprogrammiert. Wenn du dann ein Problem hast, stehst du wieder da und schaust wie ein Schwein ins Uhrwerk. Also versuche die "Literatur" die hier angeführt wurde, zu verstehen und die wirst es selber auch hinbekommen. Und gerade bei ARM ist es noch komplizierter als z.B. AVR, da einem das AVR-Plugin einiges mehr abnimmt, als das ARM-Plugin. Wobei auch das ARM-Plugin schon hilfreich ist.
>Mein Eindruck ist, das Du (Spice) dir diese Mühe nicht geben möchtest. Du scheinst ja ein ganz ausgeschlafener zu sein. >Man muß das alles konzentriert lesen. Wenn du meine Beiträge konzentriert gelesen hättest, wüßtest du, dass es mir nicht um fertige Codebeispiele geht, sondern ich die Thematik auch begreifen will... ich zitiere mich ja ungern selbst, aber: >Mein Problem ist nicht von irgendwem ein Rahmencode zu bekommen... Nochmal danke an alle, ich werde mir mal die "Mühe" machen und mich durch die genannten Tutorials durcharbeiten ;-)
Spice schrieb: >>Mein Eindruck ist, das Du (Spice) dir diese Mühe nicht geben möchtest. > Du scheinst ja ein ganz ausgeschlafener zu sein. Jedenfalls soweit, dass ich mit den Infos aus Google u.s.w. in Eclipse ein Projekt anlegen kann. Das geht sogar soweit, dass ich unterschiedliche Projekte für unterschiedliche Plattformen anlegen kann. Hättest du nicht gedacht häh? > >>Man muß das alles konzentriert lesen. > Wenn du meine Beiträge konzentriert gelesen hättest, wüßtest du, dass es > mir nicht um fertige Codebeispiele geht, sondern ich die Thematik auch > begreifen will... ich zitiere mich ja ungern selbst, aber: >>Mein Problem ist nicht von irgendwem ein Rahmencode zu bekommen... Hab ich irgendwo etwas von Rahmencode (Beispielcode) geschrieben? Soviel zu konzentriert lesen und verstehen. Ich klink mich denn mal aus.
Ich kann ja verstehen, das man Eclipse und so nen Kram gerne benutzt, weil es billig ist, aber mal vom Geld abgesehen, wer tut sich sowas freiwillig an? Dann nehme ich doch lieber ne Eval Version von IAR oder notfalls auch Keil und kauf mir für 98,- Euro nen J-Link bei Segger. Damit haben ich dann die gleichen proffesioniellen Tools, mit denen auch in Firmen gearbeitet wird. Ich mein, das ist doch hier unser Hobby, das soll doch Spaß machen.
Was nur solange gut geht, wie du die 32kB-Grenze nicht erreichst. Und dann? Den Keil Compiler möchte ich mir privat nicht kaufen wollen. IAR genauso wenig. Dann doch lieber ein wenig Frust und eine Woche Einarbeitung in freie Tools, die ich dafür durchgängig einsetzen kann. Versteh mich nicht falsch, ich finde die Keil Tools klasse. Wir verwenden die hier an der Hochschule für unsere Labore und man kann ohne großen Frust oder viel Zeit ein Projekt hochziehen. Aber die Preise ziehen einem dafür auch die Socken aus.
> Ich kann ja verstehen, das man Eclipse und so nen Kram gerne benutzt, > weil es billig ist, aber mal vom Geld abgesehen, wer tut sich sowas > freiwillig an? Z.B. ich ! Eclipse als Kram zu bezeichnen ist ein bischen übertrieben, da steckt mehr Arbeit drinnen als Du dir vorstellen kannst und das Zusammenspiel mit CVS ist professionell, besser geht's fast nicht. Aber für C/C++ und embedded Prozessoren ist Eclipse im Grunde halt nur ein Editor und kein vordefiniertes Framework für Anfänger, das alles automatisch einstellt. Weil Eclipse aber erweiterbar ist, haben ein paar nette Leute Plugins gebaut, die das trotzdem größtenteils korrekt machen, aber halt angepasst an die Umgebungen, die sie selbst verwenden. Letztendlich laufen aber immer Makefiles im Hintergrund und man muß halt wissen, was man macht. Nur Schimpfen, weil man sich nicht auskennt, ärgert mich immer ein wenig.
Klaus Falser schrieb: >> Ich kann ja verstehen, das man Eclipse und so nen Kram gerne benutzt, >> weil es billig ist, aber mal vom Geld abgesehen, wer tut sich sowas >> freiwillig an? > > Z.B. ich ! > Eclipse als Kram zu bezeichnen ist ein bischen übertrieben, da steckt > mehr Arbeit drinnen als Du dir vorstellen kannst und das Zusammenspiel > mit CVS ist professionell, besser geht's fast nicht. Nur ergänzend: Auch ohne Anforderungen für ein Versioning-System sollte nicht unerwähnt bleiben: Der Editor Eclipse+CDT (Packet Eclipse for C/C++ Developers) hat deutlich mehr Funktionen als die Editoren vieler kommerzieller IDEs 'für embedded', wie z.B. Keil/ARM µVisions f. ARM oder IAR EWARM, es sei denn sie basieren ohnehin auf Eclipse (z.B. AVR32-Studio, KPIT f. Renesas). Viele dieser Editorfunktionen funktioniert auch einfach so, ohne dass man groß etwas einstellen muss. > Aber für C/C++ und embedded Prozessoren ist Eclipse im Grunde halt nur > ein Editor und kein vordefiniertes Framework für Anfänger, das alles > automatisch einstellt. Ein wenig mehr bei "embedded" ist es für mich schon(=subjektiv): erwähnenswert im Zusammenhang finde ich die brauchbare Debug-GUI ("debug perspective"). Wenn debuggen im System per JTAG über Eclipse/CDT gdb hardware-debgugin-plugin/arm-*-gdb/gdb-Server/OpenOCD nicht inzwischen wirklich gut funktionieren würde (o.k.,o.k. nach eingem Konfigurieren und Ausprobieren), würde ich wohl Entwicklerei für ARM immer noch mit einem simplen Editor (=Programmers Notepad) machen und gelegentlich Insight/GDB anwerfen (Keil Eval hat nicht nur eine 32kB Begrenzung sondern auch eine beachtenswerte Lizenz, insbes. wenn man kommerzielles entwickeln möcht). Mag sein, dass die kommerziellen Debugger für vielerlei RTOS noch spezielle Erweiterungen bieten, selbst sowas bisher aber nicht gebraucht > Weil Eclipse aber erweiterbar ist, haben ein paar nette Leute Plugins > gebaut, die das trotzdem größtenteils korrekt machen, aber halt > angepasst an die Umgebungen, die sie selbst verwenden. > Letztendlich laufen aber immer Makefiles im Hintergrund und man muß halt > wissen, was man macht. > Nur Schimpfen, weil man sich nicht auskennt, ärgert mich immer ein > wenig. Zustimmung. Aber o.k, der Thread heisst "ARM und Eclipse Horror, welche entwicklungsumgebung?" und nicht "warum/wie/Anti-Horror...Eclipse".
Ok, ok, ich wollte ja jetzt Eclipse nicht total schlecht machen. Ich habe ja selbst meine Diplomarbeit in Java darauf geschrieben, und das war echt in Ordnung. Ich arbeite halt täglich mit diversen Entwicklungsumgebungen...ich denke ich kann sogar fast sagen, das ich soweit alle aus dem Embedded Bereich schon in den Fingern hatte. Mir ist es halt wichtig wie schnell ich mit einer Workbench zurecht komme und da hat IAR und so vor Eclipse die Nase vorn. Bei vielen Sachen in Eclipse stecken ganz tolle Ideen dahinter, aber bei anderen ärgert man sich halt schon. Es wird sich halt noch entwickeln und bestimmt immer verbreiteter werden, weil auch immer mehr Firmen nicht bereit sind soviel für kommerzielle Workbenchs zu zahlen. Was mich bei Eclipse sehr stört ist, wenn ich ein Projekt machen will, das dann an einen Kunden geht, dann sind da jede Menge Unterverzeichnisse mit diversen Files, wo man sich fragt, welche gehören jetzt zum Projekt und welche sind über?
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.