Hi, ich möchte mir eine Entwicklungsumgebung für ARM Cortex-M0/M3 Controller aufbauen. Bisher kenne ich nur die Keil-Umgebung, die ich in der Firma auf einem DevKit in der Evaluierungsversion mal angetestet habe. Hab mich dann entsprechend mal auf die Suche begeben, und bin momentan bei folgender Kombination gelandet: - Eclipse - CodeSourcery G++ Lite - Olimex ARM-USB-OCD-H So, jetzt klemmt's aber leider ein bisschen, weil natürlich Fragen offen sind: 1. Generell ist erst mal die Frage ob die Kombi funktioniert. 2. Soweit ich gesehen habe, gibt's bei den Cortex-Controllern zwei Arten für's Debugging/Programmieren, JTAG und SWD(?) -> Kann man beides mit dem Olimex Adapter machen? Ich hab's entweder überlesen oder er kann's nicht. 3. Welcher Unterschied besteht zur Keil Umgebung, die einem ja recht viel abnimmt bzw. in der man viel direkt über die IDE(-Fenster) eingeben kann? Welche Einstellungen, etc. muss man von Hand (einmal oder bei jedem Projekt) machen? Debugging mit Breakpoints, Variablen im Watch-Fenster, etc.? Ich vermute mal, dass die Register nicht so angezeigt werden wie bei Keil, sondern als simple Speicheradressen, oder? 4. C++ würde auch mit G++ Lite gehen, nehme ich an. Lohnt sich das auf nem Cortex? Da dürfte der Speicherverbrauch doch ziemlich groß sein, oder? Ich denke mal, Eclipse ist kein Diskussionsthema :) G++ scheint soweit auch geeignet zu sein. Ist der Olimex-Adapter geeignet? Oder gibt's andere Alternativen, die ggf.für kommerziellen Einsatz geeignet sind? Danke. Ralf
was spricht gegen die dinger von den entsprechenden herstellern wenn man eh nicht alle debugger oder so liegen haben will STM gibts das atollic ... eclipse + gcc NXP das LCPXpresso .. auch eclipse + gcc
Ja, aber da ist man wohl mehr oder weniger an die jeweiligen Hersteller gebunden. Wer will das schon? Ralf
@Markus: Danke,werd ich gleich morgen mal unter die Lupe nehmen. Ralf
Guten Morgen, ich hab mir die Yagarto-Seite angesehen, sieht gut aus. Werde ich ausprobieren. Bleibt noch die Frage nach dem JTAG/SWD-Dongle. Ralf
Moin moin, Yagarto verrichtet seinen Dienst auch bei mir. Ist empfehlenswert. Das Jtag Dongle kannst du per OpenOCD verwenden. Verwende bei der Installation des Dongles die Treiber die bei OpenOCD dabei sind, nicht die Olimex. Mit denen läuft es nämlich nicht ;) Per Telnet kannst du die korrekte Funktion von JTAG/OpenOCD dann testen. Viel Erfolg dabei! LG Jan
Hi! Habe STM32 mit codesoucery g++ lite, eclipse, OpenOCD und FreeRTOS in Verwendung. Funktioniert alles bestens. Hat aber auch seine Zeit bei der Einrichtung gebraucht. Bei der aktuellen codesourcery version (Sourcery G++ Lite 2010.09-51 4.5.1) gibt es allerdings Probleme mit mit openOCD und dem gdb... C++ verwende ich auch. Kostet schon Speicher aber man kann damit leben. Mit den ganz kleinen STM32 brauch man nicht damit anfangen. So ab high density kann man schon daruber nachdenken. Gruß Sebastian
Hallo Jan, danke für die Info :) Jetzt bleibt eigentlich nur noch die Frage offen, ob der Olimex SWD unterstützt. Momentan haben meine "Spielzeuge" hier JTAG, aber wenn ich mal welche mit SWD habe brauche ich einen anderen Adapter, das wär natürlich doof... Ralf
Hi, da empfehle ich den Segger JLink Edu (nicht komerziell) für rund 60€, wenns ne private Bastelei ist. Der hat auch gnu debug support, und läuft mit vielen Toolchains, u.a. dem GNU zeug, Keil, IAR, ... Hat den Vorteil, dass du vernünftig debuggen kannst, auf Memory- und Registerebene, und nicht nur mit printf... VG, /th.
Hi Thorsten, danke für die Empfehlung, aber es kann sein, dass die Umgebung auch in der Firma zum Einsatz kommt, also kommerziell. Deswegen prüfe ich grad die OpenSource-Varianten. Ralf
> auch in der Firma zum Einsatz kommt
ahh, ok.
Unterschätze bei deiner Wahl nicht den Mehraufwand bei einer gnu-lösung,
auch in Bezug auf weitere Zusatzkomponenten / -libs.
Solltest du dich mit den gnu Sachen bereits bestens auskennen, ists egal
:-)
Hi! Also ich verwende seid Jahren die Kombination aus Yagarto, OpenOCD und ein OpenOCD-USb Dongle (ca 30€ hier im Shop) und prorammiere damit alles was irgendwie ARM heißt vom 7er bis zum A8. Keine Probleme. Als Editor setze ich allerdings auf ein kommerzielles Teilchen, weil ich meist auf bestehenden Code drauf entwickle und daher sehr viel wert auf schnelle und zuverlässige Reverse-Engineering Funktionen angewiesen bin. Wer das auch macht, soll sich mal das hier ansehen: http://www.sourceinsight.com/ Wer alle Vorteile des OpenOCD mit Cortex und unter Windows nutzen will, sollte sich eine der letzten Versionen aus dem Repository ziehen und diese gegen die FTDI Lib compilieren. Das ist im OpenOCD Forum gut beschrieben. Gruß, Ulrich
Installiere alles in ein Ordner, z.B. C:\WinARM\Eclipse C:\WinARM\Codesourcery C:\WinARM\.... Um die Umgebung auf einem zweiten PC zum Laufen zu bekommen: - Verzeichnis WinARM kopieren - Umgebungsvariablen einrichten Fertig. Und alle haben dann exakt die gleiche Version und der Code kann problemlos getauscht werden. Dann unter C:\WindARM\Projekte\... immer die aktuellen Projekte rein, dann gibt es auch niemals Probleme wegen anderen Orten/Verzeichnisstrukturen. Zum Sichern eines Projektes einfach alles komplett Zippen.
@Ulrich: > Also ich verwende seid Jahren die Kombination aus Yagarto, OpenOCD und > ein OpenOCD-USb Dongle (ca 30€ hier im Shop) und prorammiere damit alles > was irgendwie ARM heißt vom 7er bis zum A8. Keine Probleme. Okay, und der Dongle kann SWD? Muss mal gucken, ob ich im Firmware-Pool was finde... Ralf
> SWD kann nur der JLINK, nicht OpenOCD.
Okay... hm... naja, kann ja dann im Notfall auch einfach die
SWD-Controller ignorieren :)
Ralf
Wollte ich auch gerade sagen. Wenn man auf eine openSource Toolchain setzt, dann muss man auf proprietäres SWD verzichten und nutzt JTAG. Gruß, Ulrich
Aber in dem Fall müsste es ja eigentlich möglich sein, sich einen Adapter selber zu bauen, oder? Also FT2232-D bzw. -H basierend, oder? Ich denke, den Olimex werd ich mir holen, aber rein interessehalber: gibt's OpenSource-Schaltpläne? Ralf
Hi, ich kam mit dem Olimex und meinem STM32 nicht klar. der Jlink von Segger dagegen lief auf Anhieb. Kostet ind er komerziellen Versio so um die 250€. Als IDE hab ich Crossworks und bin damit auch sehr zufrieden. Lief alles ohne Probleme.
Markus Müller schrieb: > SWD kann nur der JLINK, nicht OpenOCD. Letztes Mal als ich da reingeschaut hab gabs einen ersten Patch für SWD in OpenOCD, könnte inzwischen evtl. fertig sein.
Schaue mal diesen JTAG-Stecker an, wenn der auf der Platine ist, dann hast du ziemlich alle Möglichkeiten und der ist viel kleiner als der Standard-JTAG und hat mehr Möglichkeiten. http://www.mikrocontroller.net/articles/JTAG#Der_10-polige_JTAG_Stecker_von_mmvisual Die Features sind im Artikel beschrieben. Mit OpenOCD hatte ich auch mal was wegen SWD gelesen, aber nicht in deren Doku. Somit ist es erstmal "experimentell"
@Thomas: > der Jlink von Segger dagegen lief auf Anhieb. Kostet ind er komerziellen > Version so um die 250€. Das war dann der JLink Pro, oder? @Peter & Markus: >> Letztes Mal als ich da reingeschaut hab gabs einen ersten Patch für SWD >> in OpenOCD, könnte inzwischen evtl. fertig sein. > Mit OpenOCD hatte ich auch mal was wegen SWD gelesen, aber nicht in > deren Doku. Somit ist es erstmal "experimentell" Okay, das heisst man muss nachforschen, ob FT2232D/H basierende Adapter theoretisch doch geeignet sind? Der Olimex ist ja auch ein FT2232x-basierter Adapter. Ralf
@Thomas: >> der Jlink von Segger dagegen lief auf Anhieb. Kostet ind er komerziellen >> Version so um die 250€. > Das war dann der JLink Pro, oder? Vergiss die Frage :) Die Lizenzen für JFlash etc. braucht man ja theoretisch (praktisch?) nicht ^^ Ralf
> Die Lizenzen für JFlash etc. braucht man ja theoretisch (praktisch?) > nicht ^^ Das hängt davon ab, die der Treiber geschrieben ist. Im µVision (Keil) z.B. werden eigene Flash-Algorithmen verwendet, da werden die vom JLink nicht benötigt. IAR nutzt so weit ich weiss die Algorithmen, die der JLink mitbringt, darum haben die gelben JLinks so eine Lizenz mit on Board. Andererseit hat Segger - meine ich - seine Flash Lizenzen seit einiger Zeit freigegeben, so dass man die nicht mehr extra dazukaufen muss.
Ralf schrieb: > Aber in dem Fall müsste es ja eigentlich möglich sein, sich einen > Adapter selber zu bauen, oder? Also FT2232-D bzw. -H basierend, oder? > Ich denke, den Olimex werd ich mir holen, aber rein interessehalber: > gibt's OpenSource-Schaltpläne? > > Ralf Natürlich, aber bei einem Preis von um die 30€ und einer fertig mit SMD bestückten Platine... Man muss nicht alles selber machen. Ich feile mir doch auch keinen Hammer wenn ich einen Nagel in die Wand hauen möchte. Gruß, Ulrich
Thomas Burkhart schrieb: > ich kam mit dem Olimex und meinem STM32 nicht klar. der Jlink von Segger > dagegen lief auf Anhieb. Kostet ind er komerziellen Versio so um die > 250€. Ich habe die Kombination mit OpenOCD-USB empfohlen, weil sie hier an einigen Arbeitsplätzen und bei mir zu Hause an drei verschiedenen Rechnern mit allem was irgendwie ARM hat einwandfrei funktioniert. Außerdem ist die Geschwindigkeit dieser Kombination, wenn man OpenOCD gegen die FTDI Lib linkt, selbst bei vorsichtigen Einstellungen, völlig ausreichend. Natürlich gibt es Leute die erheblich höhere Anforderungen stellen werden, aber dann müssen die auch 250..1000€ anlegen. Oder sieh es so, ich habe mir so lang mit einem analogen Zweistrahler mein Hobbybudget aufgebessert, bis es für einen Agilent DSO reichte. Gruß, Ulrich
@Ulrich: > Natürlich, aber bei einem Preis von um die 30€ und einer fertig mit SMD > bestückten Platine... Du meinst dann das hier: http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=12 Oder? Ralf
Also ich kann den JLink in Verbindung mit Crossworks empfehlen. Einfacher kann der Einstieg bei ARM gar nicht sein :) Damit hat man es nach wenigen Minuten ohne Probleme am laufen.
Nein, den habe ich nie wirklich zum Laufen gebracht. Ich meine den hier: http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=14 Gruß, Ulrich
Hi Ulrich, ah, okay. Stimmt, der kostet nicht die Welt. @Sebastian: Ich schwanke noch :) Der JLink kostet halt doch schon n bisschen mehr ;) Ralf
Danke für diesen Thread und die Erfahrungsberichte! Bin auch grad am STM32 dran und habe mir jetzt für 55€ den Segger JLINK Edu bestellt. Gestern bestellt, heute kam die Versandbestätigung. Muss aber erst noch mein Board fertigbekommen bevors richtig losgehen kann ;-) Als IDE soll dann Eclipse + YATARGO eingesetzt werden, und auf dem µC FreeRTOS laufen. Bin mal gespannt ob das alles auf Anhieb fluppt.
Hi Peterguy, wäre schön wenn du uns ebenfalls mit Erfahrungsberichten versorgst :) Ralf
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.