Hallo Leute, Ich bin einer von vielen avr entwicklern mit eclipse programmieren und auch mit der IDE zufrieden sind. In letzter Zeit dachte Ich nach mir einen ARM zu holen, egal von welchen Hersteller. Ich habe im Internet recherchiert wie man eclipse für einen arm aufsetzt, und bekam eine hülle und fülle an Anleitungen, wovon ich nicht schlauer wurde sondern noch mehr fragen hatte als vorher. Meine Frage an die arm-Experten da draußen, gibt es die Möglichkeit unter eclipse zu entwickeln wo alle ARMs (von allen gängigen Herstellern) auswählbar sind? Vielen dank im voraus.
Moin Schau dich mal bei IAR nach dem Eclipse Plugin um. Atollic ist auch eine Möglichkeit, oder CooCox. MfG Tec
Zum Einstieg kannst du auch Atollic lite nehmen, allerdings haben die seit Version 3.0 ein Code Size Limit von 32 KB, unterstützen dafür aber alle möglichen Plattformen Funktioniert bei mir zusammen mit STM32 problemlos (als Programmiertool kommt der ST-Link v2 zum Einsatz, gibts für ~20EUR bei Digikey)
Chris B. schrieb: > gibt es die Möglichkeit > unter eclipse zu entwickeln wo alle ARMs (von allen gängigen > Herstellern) auswählbar sind? Das Gnu ARM Eclipse plugin kommt dem AVR Eclipse plugin wohl am nächsten. Dazu brauchst du einen ARM-toolchain, das plugin unterstüzt fast alle gängigen. Ob die toolchains dann allerdings alle am Markt verfügbaren ARMs unterstützen, bezweifele ich. Da musst du im Zweifelsfall selber nach den passenden headern suchen. Allerdings ist die ARM-Programmierung einen Schritt komplexer, als die für AVR. Du musst dich schon ernsthaft in das Thema Linkerscripte und Startup-Code einarbeiten. Oliver
Auf coocox bin ich schon gestossen, und so stelle ich mir die endlösung auch vor. Will aber mein bestehendes avr-eclipse erweitern so dass alles aus einer IDE kommt. IAR und Co werde ich mir trotzdem anschauen. @Oliver - die ARMs die ich meine sind die gängigen (Wie NXP,stm32, atmel, oder sogar von Samsung, bei watterott erhältlich...) die auf dem Markt Wie reichen, Conrad und bei den Profis Wie farnell oder digikey. Mehr nicht. Ein weiteres Thema was unweigerlich dazu gehört, ist der programmieradapter. Ich bin gestern bei reichen.de auf ein isp-programmer gestossen der angeblich stm32, avr, NXP, und lpc unterstützt, Damen Prog-S. Man sagt, habe aber die Vorzüge von JTAG nie kennen gelernt, JTAG ist besser! Von olimex gibt es JTAG Adapter für ARM weiß aber nicht worauf man achten soll damit ich mir nicht einen besorge der auf einen arm ausgelegt ist. Vielen dank im voraus.
Chris B. schrieb: > Auf coocox bin ich schon gestossen, und so stelle ich mir die endlösung > auch vor. Will aber mein bestehendes avr-eclipse erweitern so dass alles > aus einer IDE kommt Also ich habe meinen ARM mit Eclipse nach YAGARTO konfiguiert, klappt. IAR - bääh, habe ich für den AVR lange genutzt. Heute lieber WinAVR, GNU is everywhere. Chris B. schrieb: > Ein weiteres Thema was unweigerlich dazu gehört, ist der > programmieradapter. Stimmt. Nach Olimex-Rumbasteln bin ich vor Jahren dann auf den Segger JLink für den privaten Gebrauch übergegangen. Damals so um die 100,-€ für nichtkommerzielle Nutzung. Die ATMEL-Teile werden wohl auch von Segger in Lizenz an ATMEL geliefert, laufen dann aber wahrscheinlich nur mit deren Controllern, da ist der Segger JLINK offener. Mit deren PC-Anbindung hat's überall immer gut geklappt, auch aus VMware heraus. Chris B. schrieb: > Man sagt, habe aber die Vorzüge von JTAG nie kennen gelernt, JTAG ist > besser! Klarer Fall, denn dann kannst du aus der IDE deinen Controller debuggen und Register-/Speicherwerte zurücklesen, während du entwickelst. Mit einem ISP kannst du nur die Firmware flashen. Rate dir auf jeden Fall zum JTAG. Chris B. schrieb: > Von olimex gibt es JTAG Adapter für ARM weiß aber nicht worauf man > achten soll damit ich mir nicht einen besorge der auf einen arm > ausgelegt ist. Da bleibt die Frage, wieviel du bereit bist in die Konfiguration zu stecken. Mit der Ansteuerung über OpenOCD muss man eventuell schon ein Wenig basteln, bis der Kontakt hergestellt ist. Mit dem J-Link geht's i.d.R. einfacher. Meine Meinung, Alternativen gerne zugelassen.
Chris B. schrieb: > Wie reichen, Conrad und bei den Profis Wie farnell oder digikey. > Mehr nicht Da es "den" ARM-Prozessor nicht gibt, sondern nur verschiedene ARM-Kerne, die dann von den Hertsellern mit Zusatzperipherie zu Mikrocontrollern gebacken werden, ist das auch bei den arm-gcc-toolchains so gelöst. arm-gcc kann Code für (vermutlich) alle existierenden Kerne erzeugen. Den passenden Kern kannst und musst du, wie beim AVR-plugin auch, in den Prokejt-Settings auswählen. Der Compiler erzuegt damit dann den passenden Code für den entsprechenden Kern. Genau wie bei den AVR's brauchst du dann aber auch noch die passenden header-Dateien, die die Register-Adressen der herstellerspezifischen Peripherie enthalten. Diese header sind nicht Bestandteil der toolchains, die musst du dir selber besorgen. Selbiges gilt für linker-scripts, und den dazu passenden startup-code. Qullen dafür sind natürlich die Hersteller-download-Seiten, oder auch unzähige im Internet verfügbaren Beispielprogramme. Bei den kommeziellen Produkten (IAR, ...) ist dagegen alles dabei. Das sollt dich aber nicht davon abhalten, es mit den freien toolchains zu versuchen. Im Netz findet man eigentlich alles, was man braucht. Oliver
@gunb - Yartago ist auch ein Name auf den ich immer wieder gestossen bin, konnte es aber nicht zuordnen wegen der informationsflut :) Vielleicht könntest du was über YAGARTO kurz erzählen. (Bitte mich nicht wegen der frage erschlagen) Ist es ein toolchain Wie winavr? Dann gibts noch "Sourcery CodeBench" was für die Entwicklung mit freeRTOS genutzt wird, was der eigentliche Grund dieses threads ist."Hatte mit einem atmega644 und freerots mächtig spass gehabt und will es auf ARM ausweiten" Wegen der bastelei mit dem olimex Adapter, hast du einen link, damit man sich ein Bild machen kann was der Aufwand ist? Vielen Dank im voraus.
Hallo Yagarto ist eine freie toolchain, die Ich auch verwende. Schau mal hier http://www.mikrocontroller.net/articles/ARM Gruß Klaus
Chris B. schrieb: > Vielleicht könntest du was über YAGARTO kurz erzählen. (Bitte mich nicht > wegen der frage erschlagen) Ist es ein toolchain Wie winavr? Hallo, 1. ich erschlage niemanden ;-) 2. Du benötigtst ja eine Toolchain, bestehend aus GCC, GDB, Bilbliotheken. Ferner "make" zum Abarbeiten des makefiles. Du könntest dir das alles selbst zusammenstellen, was Erfahrung und den Willen dazu voraussetzt, oder du nimmst was Fertiges. YAGARTO stellt dir eine solche Toolchain zur einfachen Installation bereit. 3. Du brauchst eine IDE, also eine Oberfläche, mit der du deine Quelltexte schreibst und per Knopfdruck den Compiler anwerden kannst. Dazu nutzen viele Programmierer inzwischen Eclipse, aber auch die kommerziellen IDE-Hersteller bauen ihre Umgebung um Eclipse. YAGARTO gibt dir ebenfalls eine Anweisung an die Hand, wie du die unter 2. installierte Toolchain an Eclipse koppelst. 4. Wenn ein JTAG-Adapter zum Einsatz kommt, dann brauchst du ferner eine Anbindung des Adapters an deine IDE, damit du Online-Debugging betreiben kannst. Dazu wird zwischen IDE und Adapter(-Hardware) ein Server auf deinem Entwicklungsrechner geschaltet, den Ecplipse über GDB dann anspricht und so die Kommunikation zum Adapter und letztendlich Controller ermöglicht. 4a. Beim Olimex-Adapter kommt hier meist der OpenOCD von D. Rath zum Einsatz, 4b. beim Segger JLINK gibt es dazu einen von Segger leicht zu installierenden GDB-Server, der einfach gestartet wird und dann vom GNU-GDB angesprochen werden kann. Zu 4a/b gibt es auf der YAGARTO-Seite Anleitungen, ob diese immer direkt zum Ziel führen, hängt wohl immer noch vom Einzelfall ab. Beim Olimex hatte ich damals mit OpenOCD etwas Schwierigkeiten, da hatte ich die sehr umfangreichen Unterlagen zu OpenOCD hinzuziehen müssen. Diese waren sehr gut beschrieben, hatte aber zu wenig Zeit und bin dann recht schnell auf den JLINK gewechselt. Dieser war lange nur für über 1000,-€ zur allg. Verwendung erhältlich, irgendwann kam dann die Version zur rein privaten Nutzung für ca. 100,-€ raus, wo dann nur der GDB-Server/Breakpoints freigeschaltet war, andere Funktionen zum Produktivbetrieb nicht. War aber egal, da man damit alles machen konnte, was man als Entwickler braucht. Was du letztendlich benutzt, musst du selbst wissen, will hier den JLINK-Adapter nicht allgemeingültig als besser bezeichnen, ich kam damit aber schneller zum Ziel. In kommerziellen IDEs ist dieser ebenfalls meist schon zur Auswahl integriert. Gruß Gunb
@Oliver - vielen danke für die Aufklärung, ich vermute dass Du mit diesen Aspekt zu tun hattest. Was du meinst ist doch z.B. die Register Summary (so im Datenblatt von Atmel) vernünfig in Headerdateien zu stricken. @gunb - verstehe, mit anderen Worden sind die Anpassungen so erschwerlich wie der Jacobsweg. Unter folgenden Link http://embdev.net/topic/129986#new sind setzt verschiedene GCC toolchains aufgelistet, wo ich wieder nicht verstehen kann wer welchen arm unterstützt oder nicht. Vielleicht kannst du diese 8 Kandidaten (inklusive OpenOCD) mal vorstellen. Vielen Dank im voraus.
Chris B. schrieb: > @gunb - verstehe, mit anderen Worden sind die Anpassungen so > erschwerlich > wie der Jacobsweg. Wie schwer? Da ist gar nichts schwer, dir wird doch eigentlich eine komplette Toolchain geliefert. Ein wenig Handarbeit musst du schon aufbringen, wenn du mit AMR und freien Umgebungen starten willst, sonst muss du eben etwas Kommerzielles kaufen. Also ich sehe da kein Problem. Chris B. schrieb: > Vielleicht kannst du diese 8 Kandidaten (inklusive OpenOCD) mal > vorstellen. Du solltest einfach mal selbst anfangen eine freie Toolchain wie YAGARTO aufbauen. Welche Controller von GCC unterstützt werden, findest du in der Dokumentation, und wie schon einmal angemerkt, ich nutze kein OpenOCD für den ARM. Du solltest unterscheiden zischen dem, was GCC unterstützt, und dem, was du mit OpenOCD ansteuern kannst, das sind zwei paar Schuh. Und die Arbeit muss du dir schon selbst machen, besonders wenn du 8 versch. Controller ansteuern willst, was ein Anfänger selten macht. Welchen ARM willst du überhaupt programmieren, wohl kaum 8 verschiedene auf einmal? ARM7, ARM9, Cortex ...?? Darüber musst du dir erst einmal klar werden, dann suchst du, ob dein Typ unterstützt wird und dann fängst du an, die Toolchain aufzubauen. Alles andere ist meiner Meinung nach unrealistisch. Die Einfacheit des AVR ist bei ARM nicht mehr gegeben, das sollte dir klar sein. Gruß Gunb
@gunb - ich habe vor einen cortex-M3 zu nehmen. Entweder NXP oder stm32, bin mir darin nicht sicher. Aber während meiner Recherchen hat sich immer die Erkenntnis aufgehängt dass ich bei einem erst mal anfangen soll, um generell die ARM Architektur kennen zu lernen, wo ich jetzt die Bestätigung bekommen habe. Vielen Dank an alle für die Aufklärung.
Chris B. schrieb: > Aber während meiner Recherchen hat sich > immer die Erkenntnis aufgehängt dass ich bei einem erst mal anfangen > soll, Nun ja, du wirst dich auf einen Controller konzentrieren müssen, sonst kommst du am Ende vollends durcheinander. Ich hatte dazu den ARM7 gewählt, für den ARM9 baue ich per Buildroot ein Linux, also kein direktes anprogrammieren der Controller-Hardware auf Low-Level. Auf jeden Fall einen ARM raussuchen und dann dabei erst einmal bleiben, eher Beispiele anderer ARM-Derivate dann auf diesen übertragen, als hin- und her zu springen. Gruß Gunb
Guten Morgen, Ich hoffe Ihr hättet ein bastelreiches Wochenende. :) Da man es mit der Architektur und toolchain geklärt ist, hätte ich noch eine Frage wegen die auf dem Markt erhältlichen dev-boards. Es gibt welche die arduinokompatibel sind und es gibt welche von olimex. Dann bietet eBay noch boards an die mit Touch lcd, und verschiedenen spielereien die sich ein Entwickler wünschen könnte, aber da es aus China kommt weiß ich nicht ob es was richtiges ist oder nicht. Hat jemand schon mal sowas aus China bestellt?
Chris B. schrieb: > Hat jemand schon mal sowas aus China bestellt? Ja und auch aus Thailand. Bestimmt 20 mal insgesamt. War immer zufrieden. Außer als ich einige usbasp bestellt habe. Einmal haben die 3.6V Z-Dioden gefehlt und ein anderes mal war keine aktuelle Firmware drauf. An Dev-Boards/Tools hab ich aus China: - Cypress EZUSB FX2 - Mini2440 mit 3,5" LCD - MSP430F149-Stamp (+Wiggler) - Ulink-clone (mittlerweile arbeite ich mit JLink-EDU - den hab ich allerdings von hier) Und aus Thailand: - STM32 Board - NXP LPC2368-Board - 8051-Testboard - PIC18-Board Der Zoll hat mich bis jetzt einmal genervt und da war auch noch alles im grünen Bereich. Soll heißen, dass ich da nichts blechen musste. Gruß Oliver
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.