Hallo Zusammen, ich habe schon recht viel auf diesem Forum recherchiert, konnte aber keine Antwort auf meine Frage finden. Ich würde gerne mit Eclipse Code für einen Cortex-M3 schreiben. Ich glaube GCC unterstüzt den Thumb2 Befehlssatz des Cortex-M3. Das würde heißen, dass ich keine zusätzlichen Tools mehr einbinden muss. Stimmt das soweit? Brauch ich nicht noch irgendwelche Libs für den Cortex?! Mein nächstes Problem zielt darauf ab einen Keil-Ulink2 Jtag irgendwie an Eclipse anzuginbinden, um zu Debuggen und den code down-zuloaden. Aber eines nach dem anderen. Erstmal muss ich Code schreiben können. ;-) Hatte jemand konkrete Erfahrungen? Ich lese nur immer wieder das es geht, und die links auf die verwiesen wird, sind sehr dürftig. Meist wird auf irgendwelche kommerziellen Toolchains verwiesen, die ich aber nicht benutzten möchte. Vielen vielen Dank schonmal an die Jenigen die sich die mühe machen mir zu antworten.
Qduda schrieb: > Ich würde gerne mit Eclipse Code für einen Cortex-M3 schreiben. Ich > glaube GCC unterstüzt den Thumb2 Befehlssatz des Cortex-M3. Jein, m.W. nicht jede Version. Wohl aber die von Codesourcery.
Ich dachte GNU GCC unterssüzt ab Version 4.3.0 den Thumb2 Befehlssatz. Zumindest ist das so der Documentation zum Projekt zu entnehmen. Wieso verweist also jeder auf die codesourcery? Sehe ich etwas nicht? Oder verstehe ich etwas falsch?
Hi, > Mein nächstes Problem zielt darauf ab einen Keil-Ulink2 Jtag irgendwie > an Eclipse anzuginbinden Der ULINK/U2 ist meines Wissens nach nur für den Gebrauch an uVision bestimmt, dementsprechend gibt es auch keine gdb Treiber. Wenn du einen ULINK oder ULINK2 hast, spricht doch nichts dagegen, die uVision (wenn Demo: <32k Code) zum Debuggen zu verwenden. Für den Flash DL gibt es meines Wissens keine Codegrössenbeschränkung. VG, /th.
Qduda schrieb: > Hallo Zusammen, > > ich habe schon recht viel auf diesem Forum recherchiert, konnte aber > keine Antwort auf meine Frage finden. > > Ich würde gerne mit Eclipse Code für einen Cortex-M3 schreiben. Ich > glaube GCC unterstüzt den Thumb2 Befehlssatz des Cortex-M3. Ja, wie schon geschrieben, gcc ab Version 4.3.0. Codesourcery hatte schon in älteren GCC Unterstützung für CM3 (thumb3, ARMv7) eingebaut. Nichts desto trotz macht man mit einem "arm eabi bare metal" Paket von Codesourercy nichts falsch, erspart Selbstbau der Toolchain und lite Version kostet auch nichts (Alternativen: Angliea SARM, DevkitARM, Rowley, WinARM "testing", letzters nur im Notfall, habe schon eine Weile nichts mehr daran gemacht und nutze es selbst zur Zeit nicht). Wenn es hart auf hart kommt, kann man bei CS auch Support kaufen. (Die Leute von CS tragen viel zur Weiterentwicklung der GNU tools für ARM u.a. bei.) > Das würde > heißen, dass ich keine zusätzlichen Tools mehr einbinden muss. Stimmt > das soweit? Nur zum "schreiben" von Code reicht Eclipse+CDT (gibts als Downloadpacket bei eclipse.org w.r.e. heißt es Eclipse for C/C++ development). Eclipse kann dann ein make (bei Codesourcery cs-make einstellen) mit einem eigenen (=selbst geschriebenen) Makefile aufrufen und auch die Fehlermeldungen auswerten und entspr. Stellen im Code markieren. Mit einer halbwegs brauchbaren makefile-Vorlage ist das kein Hexenwerk. Eclipse kann auch selbst Makefiles erstellen ("managed"), habe ich aber noch nie ausprobiert. > Brauch ich nicht noch irgendwelche Libs für den Cortex?! Von Seiten des Compilers nicht, aber für die Anwendungsentwicklung lohnt es sich schon, nach etwas zusätzlichen "Libs" zu suchen. Ist ziemlich mühsam die HW-Register alle selbst zu definieren. Zumindest eine Headerdatei mit den Registerdefintiionen sollte man haben (ok - ist aber nicht wirklich eine "Lib"). Ansonsten bieten zumindest TI/LMI und STM nützlichen Code mit Hilfsfunktionen (habe mit CM3 von Atmel, NXP und Toshiba noch nichts gemacht, wird da wohl ähnlich sein). Die Herstellercodes ersparen die vielfache Neuerfindung von Rädern. Man kann diese Codes zumindest in Teilen auch zu einer "echten" lib (.a) zusammenbauen aber auch einfach die Quellcodes (.c) direkt einbinden. > Mein nächstes Problem zielt darauf ab einen Keil-Ulink2 Jtag irgendwie > an Eclipse anzuginbinden, um zu Debuggen und den code down-zuloaden. > Aber eines nach dem anderen. Erstmal muss ich Code schreiben können. ;-) Es gibt wohl einen gdb-Server mit ULINK2 Unterstützung von Codesourcery, zumindest wird das in deren Dokumentation erwähnt, habe kein ULINK2 und es somit auch nicht ausprobiert. µVision kann auch mit GNU tools erzeugte elf-Dateien als Eingabedateien zum debuggen nutzen (bei Eval.-Version bis zu einer bestimmten Codegröße). Nur um "down-zuloaden" kann man µVision per Kommandozeile aufrufen. Prinzip: objcopy->hex-datei->uVsion mit Kommandozeilenparametern aufrufen (siehe Online-Hilfe)->uVision schreibt Daten aus hex-Datei in Controller mittels im Workspace eingstelltem Interface. Früher gelegentlich mit einem ULINK"1" gemacht, sollte mit dem neueren Interface auch noch funktionieren. Lässt sich auch in makefile etwas automatisieren und in Eclipse kann man dann ein "make program" make-target anlegen. > Hatte jemand konkrete Erfahrungen? Ich lese nur immer wieder das es > geht, und die links auf die verwiesen wird, sind sehr dürftig. Meist > wird auf irgendwelche kommerziellen Toolchains verwiesen, die ich aber > nicht benutzten möchte. Braucht man auch nicht. Bin selbst ganz zufrieden mit der Kombination Eclipse/CDT/CDT Hardware debugging plugin/OpenOCD/Amontec JTAGkey (jedes andere von OpenOCD unterstützt Interface sollte auch funktionieren). Vielleicht hilft das etwas weiter: http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html#stm32_memcard Darin finden sich fast alle Einstellungen/Optionen, die ich bei den letzten Enwicklungen für STM32 verwendet habe, Vorgehensweise sollte aber einfach auf andere CM3 übertragbar sein. Im Zweifel hier fragen od. E-Mail an die in der readme-Datei angegebene Adresse.
Sehr empfehlen kann ich auch die Yagarto Tool Chain von Michael Fischer, unterstützt jetzt auch CM3. Da kann man dann einfach den GDB Server und J-Link von Segger benutzen. Eine embOS Portierung gibts dafür wohl auch schon, mit der embOS Trial kann man ja alles machen (keine funktionielle Einschränkung) bzw. wenn man kein OS will, hat man zumindest funktionierende makefiles und Hardwareinitialisierung im Source Code.
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.