Datum:
Hallo zusammen Trotz guter Beschreibung der STM32 Familie und deren Toolchain blicke ich nicht durch ! Huch. Ich möchte gerne für Private Projekte für Zuhause eine komplette Entwicklungsumgebung im stile einer Keil ARM-MDK auf basis von Eclipse einrichten. Welche Tools rsp. step by step vorgehen muss ich da anwenden ? kann mir da jemand helfen oder gibt es einen Link mit komplettem Tutorial ? Sorry bin Anfänger und komme einfach nicht zurecht mit Eclipse trotz oder vielleicht gerade wegen der vielen Beitrage beim googeln. ich möchte einfach ein möglichst vergleichbare Toolchain wie Keil auf basis von Eclipse für Windows XP. Gruss Yello
Datum:
Nimm zum Einstieg ggf. das Atollic True Studio Lite-Version. Basiert auf Eclipse und GCC. Keine Einschränkung bei Kodegröße. Debug auch ohne Grenze, jedoch nur mit den ST-Link Debugger von STM. (Ist günstig, ca. 25 Euro, schnell und verlässig.) oder über den interen STM UART-Bootloader flashen. http://www.atollic.com/index.php/targets/stm32 Vorteil: Alles ist konfiguriert bei der Installation, läuft sofort, erste LED kann nach wenigen Minuten blinken. Auch die STM FW-Lib ist gleich mit eingebunden. Die sonst so konfuse Installation der Einzelkomponenten entfällt.
Datum:
Danke für die schnelle info ! genau der Artike STM32 verwirrt ! Yargarto Tools ist ja scheinbar eine eigene Toolchain. (bei welcher laut Homepage 3 Tools installiert werden müssen) Beim Artikel unter Zusammenstellung steht: - Eclipse -Yagarto Tools -Codesourcery Light -OpenOCD -Eclipse Plugin ''GDB Hardware debugging'' Ich dachte genau in der Reienfolge sollen diese Tools installiert werden Doch unter Punkt Installation für STM32 verstehe ich die Welt dann gar nicht mehr? Da ist plötzlich die rede von Eclipse Galileo usw. Sind den die Tools im Artikel unter Zusammenstellung eigenständige Toolchanges und wenn Ja Welches ist da das beste ? Gruss Yello
Datum:
Eclipse haben immer Versionsnamen. Als ich damals vor ca. einem Jahr den Artikel geschrieben habe war die Version "Galileo" aktuell. Heute ist die Version "Helios" aktuell. Daher, es reicht die Anleitung von der Yagarto-Seite zu befolgen. Schlussendlich ist es das gleiche, nur bei der Yagarto-Seite ist die Beschreibung für die aktuelle Eclipse-Version. Für völlig unbedarfte und "Neue" ist das Atollic, siehe Posting von Matthias besser geeignet, da man weniger zusammenstupfen muss. Eclipse und GCC ist Freeware und es braucht für eine lauffähige Entwicklungsumgebung nun mal die verschiedenen Tools damit es klappt.
Datum:
Oben genanntes kann ich nur zum Teil bestätigen. Eclipse ist nicht wirklich intuitiv. Ich kann nur empfehlen, die Atollic-Tutorials für die IDE zu studieren. Das Importieren eines Projekts ist ein Krampf, das Hinzufügen einer bestehenden Datei zu einem Projekt ist ein noch größerer Krampf. Die Konfiguration der tool chain ist auch nicht gerade intuitiv. Und außerhalb von Eclipse ist mir die Idee der "Workspaces" noch nie begegnet. Das ist aber bei allen Eclipse-basierten IDEs so. Wenn man da erst einmal durch ist, kann man damit ganz gut arbeiten. Allerdings ist die Atollic Lite-Version etwas eingeschränkt: - gelegentlich kommt ein "Update Now" Nervfenster - es läßt sich nur ein Breakpoint setzen - im Debug-Mode werden keine Peripherieregisterinhalte angezeigt - es wird m.W. nur SWD unterstützt, kein JTAG
Datum:
frame schrieb: > Oben genanntes kann ich nur zum Teil bestätigen. > > > > Eclipse ist nicht wirklich intuitiv. Dies ist ja noch gelinde ausgedrückt ! Aber erst mal vielen Dank für die Inputs. Inzwischen habe ich mich mal auf der Yagarto-Seite durchgelesen. Der Anfang klingt vielversprechend. Nur 3 Tools zum Installieren rsp. Einrichten. Doch dann die Ernüchterung beim Tutorial. Da noch ein Zusatzpacket usw. Huch !!! Ich will einfach nur anstelle der Teuren Keil Lösung im Geschäft eine günstige für zuhause (Privat). Da will man kaum 3000 Euro ausgeben. Aber vermutlich komme ich nicht drumherum mir eine kostenpflichtige Lösung wie etwa Crossworks anzulegen. Gruss yello
Datum:
Ich benutze das das Ganze auch nur privat. Deswegen wollte und konnte ich dafür keine Hunderte Euro abdrücken, wo die Zielhardware (STM32 Discovery) nur ca. 10 Euro kostet. Ich habe Atollic und IAR installiert, benutze meist ersteres und komme jetzt damit recht gut zurecht. Übrigens gibt es für Atollic reichlich Tutorials, auch Step-By-Step Anleitungen von fremden Sites, die mir den Einstieg erleichtert haben. Am meisten stört mich, daß : - die IDEs (Atollic, IAR, Keil) nur unter Windows laufen - ST mit seinem Discovery den USB-Standard verletzt ((noch) kein Treiber dafür unter Linux) - man bei Atollic -jede- Installation neu registrieren muß sonst läuft die Installation nicht durch; Ein JTAG Adapter und Kauf-Compiler würde sich für mich nur bei entsprechend hochpreisiger Zielhardware oder professionellem Einsatz lohnen. GCC Crosscompiler benutze ich z.B. für größere CPUs (Cortex A8 im Beagleboard). Die Einrichtung ist wirklich nicht trivial. Man braucht entweder Erfahrung oder Zeit -UND- Frustresistenz.
Datum:
Eine Alternative wäre noch, eine Linux-Partition einzurichten. z.B. Ubuntu. Da die ganze GCC-Toolchain nativ auf Linux läuft, ist darauf alles ein kleines bisschen einfacher. Ansonsten: Ja, richtig, eine Eclipse-GCC Toolchain zum Laufen zu bringen ist nicht sooo ganz einfach. Schritt-für-Schritt-Infos kann ich Dir leider auch nicht geben, da meine letzte Windows-Installation schon ein Weilchen zurückliegt. Aber glaube einem, der selber schon mehrere Male am Verzweifeln war: Es ist machbar. Und man lernt sehr viel dabei, wie so eine Toolchain funktioniert. Und WENN es funktioniert, dann ist das eine sehr feine Sache. Ein Tipp: Geh schrittweise vor, bottom-up. Also: Zuerst mal OpenOCD installieren. Dann versuchen, über die Kommandozeile mit dem Prozi zu schwatzen. Dann GCC/GDB installieren. Von Hand mal was kompilieren und versuchen, das Compilat über OpenOCD zu brennen, und dann mit GDB zu debuggen. Dann Eclipse obendrauf. Das sollte dann keine Hexerei mehr sein. Gruäss und viel Erfolg! Simon
Datum:
Simon Huwyler schrieb: > Ein Tipp: Geh schrittweise vor, bottom-up. Also: > > > > Zuerst mal OpenOCD installieren. Dann versuchen, über die Kommandozeile > > mit dem Prozi zu schwatzen. > > > > Dann GCC/GDB installieren. Von Hand mal was kompilieren und versuchen, > > das Compilat über OpenOCD zu brennen, und dann mit GDB zu debuggen. > > > > Dann Eclipse obendrauf. Das sollte dann keine Hexerei mehr sein. > > > > Gruäss und viel Erfolg! > > Simon Ohh vielen herzlichen Dank für Dein Tipp¨! Das ist ja schon fast eine Step to Step Anleitung. Gruss Roger
Datum:
frame schrieb: > Und außerhalb von Eclipse ist mir die Idee der "Workspaces" noch > nie begegnet. Das ist aber bei allen Eclipse-basierten IDEs so. Kann mich mit den Workspace Konzept auch nicht anfreunden. Ich würde meine C-Projekte lieber in einzelne Ordner legen, dorthin wo auch die anderen Projektdateien sind. Ginge nur, indem man immer einen anderen Workspace anlegt. Ein neuer Workspace mit einen kleinen C-Projekt besteht aus 17 MByte mit 331 Verzeichnissen und 471 Dateien. Fraglich, was das soll...
Datum:
Simon Huwyler schrieb: > Ein Tipp: Geh schrittweise vor, bottom-up. Also: > > Zuerst mal OpenOCD installieren. Dann versuchen, über die Kommandozeile > mit dem Prozi zu schwatzen. > > Dann GCC/GDB installieren. Von Hand mal was kompilieren und versuchen, > das Compilat über OpenOCD zu brennen, und dann mit GDB zu debuggen. > > Dann Eclipse obendrauf. Das sollte dann keine Hexerei mehr sein. Nun bin ich ein wenig verwirrt auf der Yagarto Homepage sind folgende Tools zum Installieren beschrieben: Introduction For a complete C/C++ development system we need the following components: 1. GDB Server 2. Native GNU ARM toolchain for windows 3. Integrated Development Environment Entpricht nun der GDB Server dem OpenOCD ? der GNU ARM toolchain dem GCC/GDB und 3. IDE dem Eclips (das einzige was mir klar ist) Gruss Roger
Datum:
GDB-Server ist nicht OpenOCD. GDB-Server: Debug-Tool, das anhand der kompilierten ELF Datei mittels TCP/IP Kommandos mit einem Prozessor debuggen kann. OpenOCD: Tool, das über TCP/IP die Befehle vom GDB-Server entgegen nimmt und diese auf die JTAG Hardware (über USB) umsetzt. Damit wäre folgendes denkbar: Mikrocontroller > JTAG-Interface > USB > PC mit OpenOCD > Internet-Verbindung > PC mit Eclipse und GDB-Server Somit ist ein Remote-Debug eigentlich kein Problem...
Datum:
Markus Müller schrieb: > GDB-Server: > Debug-Tool, das anhand der kompilierten ELF Datei mittels TCP/IP > Kommandos mit einem Prozessor debuggen kann. nicht ganz korrekt. Das, was Du beschrieben hast, ist GDB, das geht in obiger Beschreibung unter "Toolchain". Da wir aber remote-Debugging machen, braucht GDB einen Server. Das kann zum Beispiel OpenOCD sein. Insofern stimmt unter dem Strich schon, was Du geschrieben hast. Nur die Nomenklatur stimmt nicht ganz. OpenOCD = GDB-Server Gruäss Simon
Datum:
Das ganze ist sehr verwirrend, ich weiss. Darum mal einige Worte dazu, warum das so kompliziert gemacht wurde. Die "Toolchain" beinhaltet einen Compiler, Assembler, Linker, diverses anderes nützliches Zeug, um aus C-Code Executables zu machen - und eben: GDB, sein Debug-Tool. Üblicherweise schreibt man damit Code, der auf der selben Maschine, auf der er geschrieben und compiliert wurde, auch laufen gelassen und getestet wird. Und zum Testen steht Dir GDB zur Verfügung. Nun nehmen wir mal an, Du schreibst Code für ein Ebedded Linux system. Auf dem willst/kannst du Deine IDE (Eclipse) sowie die ganze Toolchain, also Comiler etc. und GDB nicht laufen lassen. Das soll auf einem (Linux-) PC daneben geschehen. Um nun mit GDB auf dem Target (das Embedded-Linux-Maschinchen) testen zu können, musst Du auf dem Target einen GDB-Server installieren. Mit dem kann GDB, z.B. über Ethernet, schwatzen. Ok. Wir haben aber nicht mal ein Embedded-Linux-System. Wir haben einen kleinen Furz, der nicht mal annähernd genug brains hat, um einen GDB-Server, geschweige denn Linux laufen zu lassen. Was machen wir also? Wir debuggen über JTAG, schwatzen also direkt mit dem Prozi. Nun gibt es zwei Möglichkeiten: 1. (so hat man's nicht gemacht) Man schreibt für GDB ganz neue Interfaces, mit denen es über JTAG mit Prozis reden kann. Für jeden Prozi ein eigenes, notabene. 2. (so hat man's gemacht) Man sagt sich: Scheiss drauf, WO der GDB server ist. Der kann doch auch auf dem Host-Rechner, also auf dem selben Rechner wie GDB hocken. Man schreibt also einen GDB-Server, der weiss, dass er nicht selber auf dem Target hockt, sondern über JTAG mit dessen Prozi schwatzt. Und das ist OpenOCD. Jetzt muss sich GDB nur noch über Localhost mit OpenOCD verbinden, glaubt, es rede direkt mit dem Target, und alles funktioniert wie am Schnürchen. Gruäss Simon
Datum:
Hallo Simi Super !!! Vielen dank Deiner ausführlichen Beschreibung. Gruss Roger PS: Tja warum einfach wenns auch kompliziert geht ! Lustig finde ich auch die Bemerkung auf der Homepage von Yagarto: YAGARTO is a hobby project and supported only by the community. If you want a faster start, a smoother workflow and professional support, take a look at a commercial toolchain like CrossWorks for ARM. Mal schauen ob ich die Geduld und vorallem den Biss habe bei diesem Hobby Projekt YAGARTO zu bleiben. Schon beim Linux musste ich schlussentlich die Flinte ins Korn werfen ! Nachdem dann selbst die Linux gemeinde zum schluss kam Rechner ungeeignet für Linux. Ein herber Schlag für all meine Kollegen die behaupteten Linux sei unkommpliziert und einfach auf jedem Rechner installierbar. Das ist aber natürlich ein anderes Kapitel. Gruss Roger
Datum:
Hallo, ich muss mich nun auch einmal zu Worte melden. Das Problem das die Installation mittels Eclipse und der diversen Tools ein wenig Irreführend ist kann ich nur bestätigen. Ich habe mit den selben Problemen zu kämpfen gehabt. Mittlerweile läuft alles soweit, mit der Ausnahme (zum OpenOCD) das ich den GDB-Server von Truestudio benutze. Dies hat den Grund das auf dem Discoveryboard direkt ein "abgespekter??" ST-Link vorhanden ist und ich persönlich ebenfalls im Besitz eines ST-Links bin. Derzeit bin ich dabei, ein kleines Tutorial zu schreiben in der ich die installation von Eclipse (wenn man das so bezeichnen darf) und CodeSourcery/Yatargo sowie diversen Plug-Ins näher erläutern möchte. Ich werde in diesem Tutorial jeden Schritt erklären - jedoch auch eine kleine Erklärung dazu schreiben warum dies so ist - man siehe es mir nach wenn diese Informationen eher Oberflächlicher Natur sein wird. Ich bin nun mit diesem Tutorial angefangen - aber bei weitem nicht fertig. Sobald dies der Fall sein wird (ich hoffe das ich es nächstes Wochenende schaffe) werde ich dieses entsprechend im STM32 Artikel veröffentlichen.
Datum:
Hallo Björn Wow das wäre fantastisch ! Bin nähmich schon wieder am anschlag und komme mir vor wie ein Vollidiot ! Huch sorry bin halt ein Anfänger was die Eclips Geschichte anbelangt. Nun zu meiner Frage: Laut Yagarto Tutorial folgendes: Download and install For our GDB Server we need the following components here: 1. J-Link "Software and documention pack" 2. YAGARTO Tools (like make, sh, rm, cp and mkdir) 1. J-Link "Software and documention pack": The J-Link is developed by SEGGER, therefore you can download the latest software from the SEGGER J-Link ARM software page. Download the "Software and documentation pack", expand the zip file, and start the setup program. For more information about how to install and setup the J-Link itself, take a look in the J-Link manual (pdf, about 2MB), which can be found at the following SEGGER page. Jetzt kommt da plötzlich noch eine J-Link Software ins spiel ????? Heist das dass die ganze YAGARTO-geschichte nur mit dem SEGGER J-Link funktioniert ??? Gruss Roger
Datum:
nein, Yagarto beinhaltet nur die Routinen für Make, den Compiler, Linker
usw. Was nun erst einmal komplett unabhängig vom Debugger ist.
Das J-Link ist dafür, um den J-Link Debugger an's laufen zu bekommen.
Der Grund ist folgender, GDB selbst ist ersteinmal Debugger unabhängig,
die Treiber jedoch bzw. der Befehlssatz des Debuggers ist es nicht
(Sofern ich da nun falsch liege bitte korrigieren). Demzufolge benötigst
du eine Software, die den Debugger ansprechen kann und ggF. den
Befehlssatz auf den GDB-Befehlssatz mappen kann. Dazu dient die J-Link
Software oder in meinem Falle das True-Studio (nur ausgewählte Programme
{den GDB-Server}).
Datum:
Das heisst ich muss auch im Falle eines Amontec JTAGKey2 die J-Link Software von SEGGER installieren ? Gruss Roger Und vielen Dank für die jeweils schnellen Antworten !
Datum:
Nein. Die erwähnte JLINK-Software ist nun eben wieder so ein GDB-Server. Einer, der explizit nur mit JLINK redet. OpenOCD kann mit recht vielen Geräten reden, auch mit JTAGKey2, und übrigens auch mit JLINK. Gruäss Simon
Datum:
@Björn Cassens Ja, ein Tutorial wäre super! Am besten es als Artikel hier erstellen und zum Artikel STM32 verlinken, dann kann das auch jeder Erweitern... Mache dann auch einen Thread auf, dann wissen es alle. Letztens habe ich auch neu installiert und bin anhand der Yagarto-Seite vor gegangen, das hat gut geklappt.
Datum:
"Unfortunately it is not allowed to distribute binary version of OpenOCD, which is linked to the proprietary library FTD2XX provided by FTDI." Das ist eben der Schmarren an OpenOCD, wenn man mit Windows arbeitet. Kommt es für Dich in Frage, Deinem Rechner eine Linux-Partition zu gönnen? Das macht das ganze Eclipse-GDB-OpenOCD-Zeug einfach viel einfacher. Ansonsten: Das allerwichtigste ist jetzt erst mal Punkt eins, den ich oben nannte: OpenOCD (oder halt einen anderen GDB-Server) zum Laufen zu bringen. Mit Kommandozeile. Für Windows kann ich da leider nichts dazu sagen. Ich hatte damals, als ich noch ein Windowsianer war, ein Build installiert, bevor die Anwälte kamen und Build-Downloads verboten. Aber irgendeine Möglichkeit wird es auch heute sicher noch geben. Wenn Du den mal hast, ist der Rest vermutlich ein Klacks. @Markus: Hast Du OpenOCD installiert? Habe gerade das gesehen: http://forum.sparkfun.com/viewtopic.php?f=18&t=112... Dazu benötigst Du aber doch wieder Cygwin (logischerweise).
Datum:
Hallo, was innerhalb von 30 Minuten zum Ziel führt und das sogar unter Linux ist folgende Kombination, einen Segger J-Link vorausgesetzt. Eclipse CDT installieren. Als IDE. http://www.eclipse.org/downloads/packages/eclipse-... GNU ARM Plugin für Eclipse. Damit man sich nicht selber um Makefiles kümmern muss. So kann dann auch einfach ein Sourcery G++ Projekt angelegt werden. http://sourceforge.net/projects/gnuarmeclipse/ Sourcery G++ Lite installieren. Das ist der Kompiler, Linker usw. http://www.codesourcery.com/sgpp/lite/arm/portal/release1592 Segger J-Link GDB Server für Linux/Windows. Unbedingt das Readme lesen, da wird für die Linux Version genau gesagt wie man den GBD startet usw. http://www.segger.com/cms/jlink-software.html Wenn man das alles installiert hat, gibt es nur noch 3 Hürden zu nehmen. 1.) Man braucht ein Linker Script für seinen uC. 2.) Man braucht den *.asm Startup Code. 3.) in Eclipse muss der GDB eingerichtet werden. -3.) GBD nach diesem Tutorial einstellen: http://deneb.homedns.org/things/?p=113 -2.) STM32 Firmware Lib runterladen und im Ordner
STM32F10x_StdPeriph_Lib_V3.4.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/ |
die passende Datei für den uC auswählen. Beispielsweise für einen STM32F103RB wäre es die Datei:
startup_stm32f10x_md.s |
Die kommt ins Hauptverzeichnis des Eclipse Projekts und wird am Ende von .s zu .asm umbenannt. -1.) Das Linker Script nimmt man auch aus der Lib:
STM32F10x_StdPeriph_Lib_V3.4.0/Project/STM32F10x_StdPeriph_Template/TrueSTUDIO/STM3210B-EVAL/ |
Wenn man das Script öffnet steht ziemlich weit oben folgendes:
Abstract : Linker script for STM32F103VB Device with ** 128KByte FLASH, 20KByte RAM |
Das passt also für den STM32F103RB. Das Script kommt auch ins Hauptverzeichnis, muss aber auch noch in den Projekt Einstellungen beim Linker angegeben werden. Siehe auch: Beitrag "STM32 + Eclipse -> Hilfe" Diese Anleitung sollte auch in den STM32 Wiki Eintrag finde ich. Wer Fragen hat, einfach melden. Bei mir läuft diese Kombination unter Windows und Linux. Viele Grüße Daniel
Datum:
Ach was ich vergessen hab. Man muss auch das GDB Hardware Debugging Plugin für Eclipse installieren...
Datum:
Angehängte Dateien:Matthias K. schrieb: > Kann mich mit den Workspace Konzept auch nicht anfreunden. Ich würde > meine C-Projekte lieber in einzelne Ordner legen, dorthin wo auch die > anderen Projektdateien sind. Ginge nur, indem man immer einen anderen > Workspace anlegt. Ist zwar etwas offtopic, aber das oben zitierte stimmt nicht. Die Projekte müssen nicht zwangsweise im Workspace-Ordner liegen. Man kann sich irgendwo ein Workspace anlegen und dann das eigentliche Projekt außerhalb, also z.B. in dem eigentlichen Projektordner wo der Rest dazu auch liegt. Wenn man ein neues Projekt anlegt, wird nach der Location gefragt (siehe Screenshot im Anhang). Default ist immer im Workspace, aber man kann die Default-Location ändern. In dem Workspace entsteht ein Eintrag zu dem Projekt, aber die eigentlichen Projektdateien liegen dann in der Project-Location, die man angegeben hat.
Datum:
Hallo Zusammen Das ganze ist ja echt zum Kotzen ! Hab mir nun einfach mal stur ohne wirklich den Durchblick zu haben Step by Step die nötigen Dateien runtergeladen und diese versucht zu installieren ! Nun der Hammer Beim eclipse-platform-3.6.2-win32.zip wird ein Passwort verlangt. Hab noch versucht die Datei von verschiedenen Quellen runterzuladen. Aber immer das selbe. Beim entzippen wird ein password verlangt !! Was soll das kann mir da jemand weiterhelfen ?? Gruss Roger PS: An Simi: Nein leider (Oder zum Glück) kann ich bei meinem Rechner (HP TouchSmart) kein Linux draufkriege !! Ich muss also eine Windows Eclipse Umgebung einrichten
Datum:
Hier geladen? http://www.eclipse.org/cdt/ Diese Beschreibung genutzt? http://www.yagarto.de/howto/yagarto2/index.html Ich hab vor ein paar Wochen das gleiche gemacht und es klappte, ohne Passwort!
Datum:
Markus Müller schrieb: > Hier geladen? > http://www.eclipse.org/cdt/ > > Diese Beschreibung genutzt? > http://www.yagarto.de/howto/yagarto2/index.html > > Ich hab vor ein paar Wochen das gleiche gemacht und es klappte, ohne > Passwort! Ja genau gemäss Yargarto !!! Aber eben hab es auch noch von anderen Quellen versucht. Das ganze scheint mir das selbe debakel wie Linux zu sein !!!!!!!!!! Ich möchte mich eigentlich nicht mit unzulänglichkeiten des Systems abkämpfen müssen, sondern so schnell wie möglich mich der eigentlichen Anwendung widmen können. Aber wen wunderts Eglipse kommt ja auch aus der Linux Ecke !! (Zu viele Köche verderben den Brei) Gruss roger
Datum:
Hier ist der Eclipse-Download: http://www.eclipse.org/downloads/ "Eclipse IDE for C/C++ Developers, 87 MB" Den CDT-Download muss man dann mittels Eclipse, wie in der Anleitung gezeigt öffnen.
Beitrag #2139891 wurde von einem Moderator gelöscht.
Datum:
Ja, es ist Freeware, wustelkram, kostenlos, zig Teile müssen wie ein Zahnrad zusammen spielen, wenn nur ein Bug in einem Rädchen ist fällt das ganze wie ein Kartenhaus zusammen. Dafür: Unbegrenzte Codegröße für kostenlos* (*ein paar Tage Einarbeitung und das ganze verstehen) Bei einer Firma, die 3 Progger beschäftigt kann sich das schnell rechnen. Oder man kauft mich ein und ich richte das ganze innerhalb weniger Stunden ein +Schulung (als Dienstleistung, nicht Software)
Datum:
Markus Müller schrieb: > Hier ist der Eclipse-Download: > http://www.eclipse.org/downloads/ > > "Eclipse IDE for C/C++ Developers, 87 MB" > > Den CDT-Download muss man dann mittels Eclipse, wie in der Anleitung > gezeigt öffnen. Und warum ist dieser Link nicht auf der Yagarto homepage ? Nun auf jedenfall vielen dank für den Link Gruss Roger
Datum:
zuckerle schrieb im Beitrag #2139891: > Autor: > > zuckerle (Gast) > > Datum: 10.04.2011 23:31 > > Oh gott ist das ein Wuselkram. > Denn lieber Geld in die Hand nehmen und was > ordentliches kaufen. Wie recht Du hast ! Allzulange tu ich mir dies nicht mehr an ! Rsp. nehme halt die 150$ in die Hand und nehme Crossworks. Aber eben es reizt mich eben doch diese Geschicht zum lauffen zu bringen. gruss Roger
Datum:
Roger Schweizer schrieb: > Hab mir nun einfach mal stur ohne wirklich den Durchblick zu haben > Step by Step die nötigen Dateien runtergeladen und diese versucht zu > installieren ! Genau da liegt Dein Fehler! Hast Du meinen Rat mal befolgt, Schritt für Schritt vorzugehen? Nur eben nicht stur, sondern überlegt? Richtig, so eine Toolchain zu installieren, ist nicht P'n'P. Jetzt kann man - wie Du gerade in Deinem Frust - darüber schimpfen, dass es, wie Linux, ein Murks ist, und dass Du Dich lieber mit der eigentlichen Anwendung beschäftigen willst - oooooder: Du betrachtest Diese Installation als Teil der Herausforderung. (Ich gehe mal davon aus, dass Du das aus Spass/als Hobby machst.) Eins kann ich Dir sagen: Wenn Du wie von mir vorgeschlagen vorgehst, weisst Du nachher, wie das Ganze funktioniert. Und wenn ein Rädchen nicht drehen will, weisst Du, welche Rädchen Du überprüfen musst. Wenn Du aber einfach drauflosinstallieren willst, und keine Ahnung hast, was das eigentlich für Komponenten sind, die Du da installierst, kann das nicht gut gehen. Das ist kein Murks - wie auch Linux kein Murks ist. Aber es ist halt einfach nicht P'n'P. Das musst Du akzeptieren. Oder für viel Geld (es gibt einen Grund, warum die so viel kosten) für eine P'n'P Toolchain investieren. Von wegen: Ist ja klar, es kommt halt auch aus der Linux-Ecke: Ja, richtig. Das ist ein wesentlicher Grund, warum es für Dich jetzt so mühsam ist. Weil es aus der Linux-Ecke kommt. Und Du es auf Windows prügeln willst. Da gibt's nun mal Reibungsverluste. Ich könnte genausogut über Microsoft lästern. Denn es ist verflucht schwierig, deren Programme auf Linux zum Laufen zu kriegen. Diese Idioten von Microsoft kriegen das einfach nicht hin, ihre Tools vernünftig zu programmieren, damit sie auch sinnvoll unter Linux laufen. Kann man sich das vorstellen? ;-) Also: Mit Deiner Einstellung gegenüber Linux solltest Du wirklich auf gekaufte Tools gehen. Das ist keine Polemik, sondern begründet sich in der Tatsache, dass Du mit einer GCC-Toolchain knöcheltief in GNU (was für Nich-Linuxer dasselbe ist wie Linux) eintauchst und Dich mit diesen Konzepten befassen MUSST. Gruäss Simon
Datum:
Hallo Simi Da gebe ich Dir völlig recht. Ich hatte nicht die Geduld mir in einem ersten Schritt OpenOCD zu verinnerlichen ! Hab dann einfach mal versucht die schritte gemäss Yagarto zu verfolgen, um dann meinen frust auf die Linux-Gemeinde abzulassen. Da es für mich wie Du richtig erkannt hast nur Hobby und Herausforderung ist werde ich auch nicht so schnell aufgeben. Ich bleibe dran bis es läuft !! Ich bin auch offen gegenüber Linux nur eben wie schon gesagt meine abneigung gegenüber Linux hat Linux sich schon selber zu verdanken. Das Teil läuft wirklich nicht auf meinem rechner. Ein Linux Fanatiker hat mir dann gesagt erst Liste der unterstützten Rechner konsultieren dann Rechner kaufen und erst danach Linux installieren. Vielen dank für Deine Tips Gruss Roger
Datum:
Yagarto ist ein Hobby Projekt! Wieso sollte man sich das antun wenn man ein Profi Produkt für lau bekommen kann? Sourcery G++ Lite Edition ist kostenlos! Wenn man das so kaufen möchte, dass man nichts mehr selber einstellen muss kostet das ab 399$. Wenn allerdings die erste Hürde schon die Installation von Eclipse ist, wird es natürlich etwas schwieriger mit der Toolchain, da die naturgemäß ja aus mehreren Programmen besteht...
Datum:
yello8247 schrieb: > Ich bin auch offen gegenüber Linux nur eben wie schon gesagt meine > abneigung gegenüber Linux hat Linux sich schon selber zu verdanken. > Das Teil läuft wirklich nicht auf meinem rechner. Ist zwar OT: Nö, das hat Linux nicht sich selber zu verdanken, sondern den HW-Herstellern. Linux läuft nämlich super. Aber wenn man natürlich für jeden Treiber erst mal die HW reverse engineeren muss, geht's halt etwas länger.
Datum:
HI, also ich habe Eclipse, mit CodeSourcery und J-Link bei mir unter Win7 x64 zu laufen. Ich hatte aber mit Yagarto auch keine Probleme das einzu richten nur beim Debuggen hatte ich Fehler aber dazu gibt es einen guten Thread hier der die Einstellungen des J-Link GDB durch probiert :) Versuche es doch mal so: Eclipse CDT installieren GNU ARM plugin installieren (Link habe ich gerade nicht zu hand) GDB Hardwaredebuggin plugin installieren Codesourcery GCC Lite installieren dann in Eclipse ein Prijekt erstellen als ARM Codescourcery Projekt. Ein mein Beispiel Projekt dafür geistert hier auch noch um her Beitrag "Re: STM32 ST-Library Einstieg" Du wirst dich aber damit abfinden müssen dich mit den Tools zubeschäftigen. Aber man versteht dann auch Fehler besser. MfG Tec
Datum:
>Du wirst dich aber damit abfinden müssen dich mit den Tools >zubeschäftigen. Insbesondere auch dem makefile und dem Linker-Script. Wenn man das grob verstanden hat, kann man nette Sachen machen wie z.B. einzelne Programmteile in bestimmte Flash-Positionen linken, womit man ein Bootloader im gleichen Quellcode wie die Applikation proggen kann. Ich denke, wenn man das mit den kommerziellen Tools machen möchte, dann muss man sich auch einlesen/verstehen. Ich habe auch mehrere Anläufe gebraucht, aber hab es hin bekommen. Das lag vor allem daran dass vor ein paar Jahren die ganzen Tools noch nicht richtig funktioniert haben und es im Internet nur begrenzt Lösungen/Hinweise/Anleitungen gab. Das ist heute, danke Eclipse/Yagarto/STM32-Artikel doch viel einfacher geworden.
Datum:
Hallo, bei mir läuft jetzt auch alles unter Eclipse (statt unter Atollic). Als gdb-server benutze ich den von Atollic, da er mit dem STLink auch im SWD-Modus kann. Meine Frage: Beim Einstieg in die Peripherieprogrammierung vermisse ich eine Möglichkeit die Register von Timer, UART und Co auch mal zu sehen. Wenn ich ein Watch auf *TIM4 oder TIM4->SR mache kommt leider nichts raus. Der Degugger zeigt einfach die SFR Werte nicht an. Hat jemand ne Lösung?. Danke, Adib.
Datum:
>Hat jemand ne Lösung?.
Sourceforge: Embsysregview.
HDH.
Frizz
Datum:
Mal ne bescheidene Frage: Willst du programmieren ODER debuggen ODER dich mit den Befindlichkeiten von überfetteten Entwicklungsumgebungen herumschlagen? Bei Controllern von ST geb ich dir ein paar gute Ratschläge: 1. benutze zumindest für den Anfang die Originaltools von ARM, sauge dir also die bei Keil herunterladbare Toolchain. Zum eigentlichen Übersetzen schreib dir eine simple Batchdatei und zum Editieren nimm deinen Lieblingseditor. Die IDE von Keil laß einfach links liegen. 2. um den Code in den Chip zu bekommen benutze den eingebauten Bootlader des IC zusammen mit dem Programmiertool von ST. 3. mache einen RIESENBOGEN um die ST-Treiberlibrary. Die taugt nix und bauscht alles nur auf. We sich darauf einläßt, kriegt Pickel... Lies dich stattdessen in das dicke Referenzmanual ein, wenngleich das auch ein extrem hartes Brot ist. 4. schaff dir auf dem Zielsystem erstmal ein Minimalst-System, also seriell per simplem Polling rein und raus, ein paar Kommandos usw. Damit hast du wenigstens eine eigene Basis für das, was du eigentlich mit dem Chip machen willst. 5. Wenn du dann noch Lust auf Frust haben solltest, kannst du ja immer noch dir so eine Eclipse, GCC usw. installieren und dich damit herumschlagen... Alles Gute W.S
Datum:
Wieso soll er jetzt Eclipse weg werfen, wenn alles geht???
Datum:
W.S. schrieb: > Mal ne bescheidene Frage: > Willst du programmieren ODER debuggen ODER dich mit den Befindlichkeiten > von überfetteten Entwicklungsumgebungen herumschlagen? > > bla bla bla So eine unqualifizierte Aussage. Ich nutze Eclipse + CodeSourcery Lite + JLink schon lange und es funktioniert sehr gut. Da ich mich mit Eclipse auskannte, war das einrichten schnell erledigt. Das alles ergibt eine vernünftige Arbeitsumgebung mit der man sehr gut arbeiten kann. Der Einstieg ist nicht so einfach, das ist wahr. Und mein Lieblingseditor ist schon Eclipse. Da muß erstmal ein Editor rankommen. Ich nutze allerdings auch dort Makefiles ein, weil die einfach flexibler und übersichtlicher sind als die Buildproperties innerhalb Eclipse. Die ST Lib ist zum nachschlagen nicht schlecht, effizienter kann man es selber besser machen. Die Funktionen, die ich genutzt habe funktioierten.
Datum:
Daniel R. schrieb: > Wenn allerdings die erste Hürde schon die Installation von Eclipse ist, > wird es natürlich etwas schwieriger mit der Toolchain, da die naturgemäß > ja aus mehreren Programmen besteht... Hallo Zusammen Habs entlich geschaft wenigstens die Tools gemäss Yagarto zu installieren. Allerdings erst alls ich per Zufall bemerkt hatte das ich Zip-Datei für ein unzip eine Ordnereben höher gehen musste !!!!! Was für eine scheisse !! Die einem unnötig zeit raupt ! Morgen werde ich nun versuchen das ganze noch richtig einzurichten ! Gute Nacht und danke für die vielen Antworten Gruss Roger
Datum:
W.S. schrieb: > 3. mache einen RIESENBOGEN um die ST-Treiberlibrary. Die taugt nix und > bauscht alles nur auf. We sich darauf einläßt, kriegt Pickel... Lies > dich stattdessen in das dicke Referenzmanual ein, wenngleich das auch > ein extrem hartes Brot ist. Das sehe bestimmt nicht nur ich etwas anders. Die LIB ist gerade zum Einstieg gut geeignet. Zu jeder Peripheriekomponente sind Beispiele drin. Man hat schnell ein Erfolgserlebnis, was mit den über 1000 Seiten des Ref.-Manuals bestimmt nicht gelingt. Mag sein, dass die LIB vom Quellcode etwas überladen aussieht, wenn man jedoch sich mal genauer damit beschäftigt erkennt man, das in den Funktionen praktisch nur die betreffenden SFR gesetzt oder gelesen werden. Sollte dies zeitlich ein Problem sein, hat man sowieso den falschen µC ausgewählt.
Datum:
Matthias K. schrieb: > Mag sein, dass die LIB vom Quellcode etwas überladen aussieht, wenn man > jedoch sich mal genauer damit beschäftigt erkennt man, das in den > Funktionen praktisch nur die betreffenden SFR gesetzt oder gelesen > werden. Genau DAS sehe ich ganz anders - und es IST auch ganz anders. Wenn du dir mal die Mühe machen solltest, z.B. das SD-Interface in Betrieb nehmen zu wollen, dann würdest du spätestens beim Debuggen feststellen, daß in einigen Programmteilen alles mitgeschleppt wird ,also dort z.B. die Polling-Version, die Interrupt-Version und die DMA-Version. Dazu werden irrsinnig viele structs und statische Variablen dazu angelegt, die mit der eigentlichen Hardware garnix zu tun haben. Dazu gehören auch massenweise Plausibilitätsprüfungen von Aufrufen, die selbst aus der ST-Lib kommen. Bei Aufrufen, die ein Benutzer in senen Quellcode schreibt, wäre das ja noch zu verstehen, aber innerhalb der Lib?? Und dann stelle ich mir mal vor, wie man sich beim Debuggen totsucht. Nee, diese Lib macht so eine Art Zwischensphäre mit eigenen Begrifflichkeiten zwischen dem Nutzprogramm und der Hardware auf, ohne selbst irgendwelche echten Leistungen (z.B. eigene Fehlerbehandlung, eigene Initialisierung, eigene Geräteverwaltung) zu bringen. Man muß sich also nicht nur mit dem Manual herumschlagen, sondern obendrein auch noch mit all den von der Lib zusätzlich eingeführten Dingen. Viel Wust, viel toter Code, wenig Nutzen. Eigentlich GAR KEIN Nutzen, denn ein Neuling, der damit eine fertige Demo auf einem fertigen Demo-Board zum Laufen gebracht hat, hat von dem eigentlichen Chip noch nix gelernt. Das jähe Erwachen, wenns vom DemoBoard und DemoSoft zum eigentlichen selbst zu entwickelnden System geht, kommt dann, wenn der Betreffende bereits glaubt, genug von dem Chip verstanden zu haben... W.S.
Datum:
W.S. schrieb: > Eigentlich GAR KEIN Nutzen, denn ein Neuling, Warst du auch solch ein Neuling? Hört sich so an! ;-)
Datum:
Ich bin ein ST-Lib-Fan. Ich nutze diese sehr gerne, denn die Demos zeigen einem fast alles. Trotz dieser Lib, die viel extra Code generiert lasse ich meine CPU meist nur mit 8MHz (ohne PLL) laufen, denn der STM32 ist immer noch schnell genug für alles und das spart ein paar mA Strom. So schlecht ist die Lib nun auch wieder nicht!
Datum:
Geschaft !!! Habs nun soweit hingekriegt das ich ein erstes Demo-Projekt Compilieren konnte. Das einrichten des GDB Server werde ich erst bewerkstelligen wenn ich den JTAGKey erhalten habe. Herzlichen dank an alle. Eure inputs waren eine Bereicherung ! Gruss Roger
Datum:
Leute ich glaubs nicht. Vielen vielen Dank für diesen Thread. Was zwei Wochen lang bei mir nicht richtig laufen wollte hat jetzt innerhalb von vielleicht ner halben Stunde funktioniert. Einfach der Anleitung von Daniel R. weiter oben folgen, zusätzlich eine main.c mit folgendem Inhalt im Projekt anlegen:
// Wird vom Startupcode angesprungen void SystemInit() { } int main () { while (1); } |
Und die Sache rennt! Sauber, vielen Dank nochmal!!!
Datum:
Ich habe im Artikel STM32 unter "Programmierung" diese Zeile hinzugefügt: "Tipps für Installation mit Eclipse können in diesem Thread gelesen werden." mit einem Link auf diesen Thread. Ich denke das ist hilfreich.
Datum:
peterguy schrieb: > main.c mit folgendem Inhalt im Projekt anlegen:// Wird vom Startupcode angesprungen > void SystemInit() > { > > } > > int main () > { > while (1); > } > > Und die Sache rennt! Die Funktion SystemInit() ist im Librarymodul system_stm32f10x.c enthalten. Wenn du das aus der ST-Library dazulinkst dann wird der Takt u.s.w. gleich eingestellt. Kann man natürlich auch selbermachen.
Datum:
Hallo Zusammen Nun wie vermutet jetzt folgt der besonders harte integrationsteil ! Nachdem ich über das Tutorial von Yagarto keinen erfolg hatte. Was mich aber nicht wundert da dies ja für eine J-Link GDB Server gedacht ist. Ich habe aber nun einen JTAGKey2 von Amontec ! Nun so dachte ich mir lass ich das teil mal unter Crossworks (30Tage lizenz) laufen. Doch leider weit gefehlt ! Das JTAGKey wird nicht erkannt !!!!! folgende Fehlermeldung erscheint: cannot find FTDI driver for USBdevice... Windows driver von Amontec habe ich Installiert !! Auch sehe ich das USB Devise JTAG Amontec im Gerätemanager von Windows. Was soll das nun ? Hat jemand änliche Erfahrung gemacht oder kann mir Helfen ? Es bleibt einem wohl nichts erspart !!!!!!!!!!!!!!!!!!!! Gruss Roger
Datum:
>Es bleibt einem wohl nichts erspart !!!!!!!!!!!!!!!!!!!! So ist es. Tipp 1: OpenOCD müsste mit dem Amontec gehen, ich habe aber nicht solch ein Teil. Der Download-Link steht hier: STM32 >> "Installation für STM32" Tipp 2: Im Demo-Projekt "ChaN's FAT-Module with STM32 SPI" (auch von hier STM32) gibt es die Parametrierung wie man den OpenOCD unter Eclipse startet und wie man die Debug-Session startet. Die dort anschauen und entsprechend für den Amontec anpassen. Ich nutze den ARM-USB-OCD von Olimex und der klappt gut.
Datum:
skha schrieb: > @peterguy > > > > Auf welchem System? Auf einem STM32-H103 Board von Olimex. Da ist ein STM32F103RBT6 Controller drauf. Nächster Schritt wird FreeRTOS ans laufen zu bringen, das wir sicher auch noch spassig ;-) @900ss: Danke für den Hinweis, das war mir neu. Wie macht ihr das denn mit dem Library verlinken? Kopiert ihr die ganze lib in euer Projekt, oder kann man irgendwo einstellen, daß Eclipse (bzw. der Compiler) sich die Dateien an einem bestimmten Ort suchen soll?
Datum:
Angehängte Dateien:Bei mir sieht das ganze so aus wie im Bild. - inc: meine *.h - lib: alles fremde - lib/cm3 - lib/inc: ST-Lib *.h - lib/src: ST-Lib *.c - out: die kompilierten Dateien (Verzeichnisstruktur wie im Projekt, nur ein out davor) - prj: OpenOCD mit Konfig-Dateien und DLL, Linker-Script, sonstiges - src: meine *.c - scr/usb: meine *.c für USB (optional) Somit lässt sich das Projekt immer kompilieren, mit dem Stand der STM Lib, denn kommt ein Update, dann kann man selbst entscheiden für welches Projekt man das einspielen möchte. Auch OpenOCD ist mit dabei, den das ist das wichtigste Werkzeug für Debug/Download. Bei einem Update kann es sein dass OpenOCD neue/andere Befehle bekommt, daher das hier mit speichern. Um das Projekt zu sichern zippe ich immer das gesamt Workspace Verzeichnis, komplett, auch mit den Eclipse-Dateien. Das sind zwar ein paar MB, dafür sind dann auch alle Eclipse-Parameter dabei. Entzippen und wieder benutzen ist kein Problem.
Datum:
Ok, also ich fasse mal zusammen: 1) Workspace und Arbeitsverzeichnis im gleichen Ordner 2) Alle verwendeten Libraries ins Arbeitsverzeichnis kopieren 3) Linkerscript auch ins Arbeitsverzeichnis 4) Debuggerzeugs ist bei mir in Eclipse eingestellt, da gibts keine separaten files für 5) makefile (?) Ich habe mein Projekt mit dem Projektwizzard erstellt, anscheinend generieret der kein makefile sondern konfiguriert alles unter Projekt -> Properties?
Datum:
peterguy schrieb: > Wie macht ihr das denn mit dem Library verlinken? > Kopiert ihr die ganze lib in euer Projekt, oder kann man irgendwo > einstellen, daß Eclipse (bzw. der Compiler) sich die Dateien an einem > bestimmten Ort suchen soll? Beides funktioniert und noch eine Möglichkeit, du baust eine "echte" Library von der ST-Lib. Dann entsteht eine einzige Datei z.B. stm32lib.a. Diese kannst du dann zu jedem Projekt dazu linken. Da müsstest du dich mal mit den GNU Manuals beschäftigen, wie man eine Lib baut. Das Programm "ar" macht das, nachdem der Compiler alles übersetzt hast. Aus der Lib werden dann vom Linker nur die Teile hinzugelinkt, die auch gebraucht werden. Allerdings setzt das voraus, dass die Lib so für alle Pojekte gleich sein darf. Wenn ein Projekt doch eine Änderung braucht, dann wird es evtl. schwierig in einem anderen Projekt. Alle C-Sourcen in das Projekt kopieren ist auch möglich. Aber dann solltest du beim kompileren und linken jeweils Optionen mit angeben, dass nicht alles hinzugelinkt wird, sondern nur das, was wirklich benötigt wird. Sonst wird dein Programm unnötig groß. Die Optionen hab ich gerade nicht im Kopf. Die Sourcen der Lib an einer zentralen Stelle zu lassen ist evtl. auch unünstig. Wenn du mal an einer Datei (aus der Lib) eine Änderung machen solltest, dann funktioniert evtl. ein anderes Projekt nicht mehr wie auch bei der Library.
Datum:
peterguy schrieb: > makefile (?) Ich habe mein Projekt mit dem Projektwizzard erstellt, > anscheinend generieret der kein makefile sondern konfiguriert alles > unter Projekt -> Properties? Doch, die makefiles werden von Eclips erzeugt und haben die Endung .mk. Sie liegen jewilt im Release oder Debug Verzeichnis. Die Projetdateien für Eclipse heißen .cproject und .project (versteckte Dateien) und liegen im Projektverzeichnis.
Datum:
900ss D. schrieb: > Doch, die makefiles werden von Eclips erzeugt und haben die Endung .mk. > > Sie liegen jewilt im Release oder Debug Verzeichnis. > > Die Projetdateien für Eclipse heißen .cproject und .project (versteckte > > Dateien) und liegen im Projektverzeichnis. Tatsache. Allerdings scheinen die Verzeichnisse + Dateien erst erzeugt zu werden, wenn man das erste mal das Projekt baut. Vermutlich analysiert Eclipse die vorhandenen Verzeichnisse und Dateien und generiert die Makefiles + .mk files dann entsprechend.
Datum:
Angehängte Dateien:Ich habe ein eigenes makefile, mit dem kann ich genau bestimmen was ich haben möchte und wie es gehen soll. Das Original kam, so glaube ich, von MT und habe es angepasst damit der die übersetzten Dateien in ein "out" Ordner speichert, damit ist der Ordner src übersichtlicher (daran hab ich sicher fast ein Tag geknobelt). Anbei die Datei.
Datum:
Existiert eigentlich überhaupt eine sinnvolle Zusammenstellung mit der man mittels Eclipse über openOCD kommerziell einen STM32F107 programmieren kann, ähnlich der AVR32 über WINAVR Variante?
Datum:
Ein "Fix-Fertig-Und-Alles-Geht-Auf-Anhieb-Eclipse-STM32.Setup.exe" gibt es nicht. Da muss man schon Keil oder IAR kaufen. Aber wie ja dieser Thread beweist, bekommen es die Leute hin.
Datum:
Das habe ich inzwischen schon mitbekommen, ich wollte nur wissen ob es eine Konstellation gibt mit der man die Bedingungen erfüllen kann, da ich in den Lizenzen ständig "keine Kommerzielle Nutzung" lese. Beim GDB verweise ja auch alle ständig auf Segger. Mich wundert allerdings, dass noch keiner bis jetzt ein Bündel herausgebracht hat, gerade für Anfänger. Im übrigen habe ich gerade mit openOCD ständig das Gefühl vor verschlossenen Türen zu stehen (nicht funktionierende Links aus teilweise Rechtlichen Gründen ect.) Ich versuche mich gerade durch die Yagato Seite durch zu arbeiten. Ich hoffe der Server läuft auch mit dieser Quelle http://www.gnu.org/software/gdb/download/ANNOUNCEMENT ... aber so richtig verstanden habe ich das hier nicht. Das Problem fängt bei mir schon dabei an, dass man nie weiß wer mit wem zusammen arbeitet und man ständig wieder auf kommerzielle Produkte verwiesen wird. Unterstützt der Segger GDB jetzt auch alle openOCD, muss man trotzdem einen Serial eingeben wenn man das downloaden möchte? Momentan stehe ich wirklich kurz davor den AVR32 mal hallo zu sagen (was ohnehin irgendwann mal geschieht).
Datum:
Auf die Gefahr hin, mich zu wiederholen: Wenn es darum geht, sich über JTAG mit dem uC zu verbinden, um das Programm runterzuladen und zu debuggen, ist jetzt wieder ein Bottom-Up-Ansatz angebracht. Wenn man nämlich einfach mal versucht, Eclipse irgendwie anhand von Tutorials beizubringen, das zu machen, geht garantiert irgendwo irgendwas schief, und man steht wie der Esel am Berg (eigene Erfahrung). Also: Eclipse zumachen. Kommandozeile aufmachen. Und das Manual von OpenOCD. Dann per Kommandozeile mal versuchen, dem Prozi einige Infos zu entlocken. Wieviel Flash hat er? Wie heisst er? Das bedingt natürlich erst mal, dass OpenOCD überhaupt mit dem Interface redet. Dann einfach mal irgendwelchen Code runterladen und wieder zurücklesen. Sich das Kapitel über Reset-Konfigurationen zu Gemüte führen. Im Schema nachsehen, wie Reset und JTAG-Reset verhängt sind. Mal einige Resets ausführen und sehen, ob die das tun, was sie sollen......... Dann, wenn man diesen Layer verstanden hat, kommt GDB dazu. Wieder mit Kommandozeile. Probieren, ob man den compilierten Code durchsteppen lassen kann. Das heisst: .elf file laden, mit OpenOCD verbinden, .bin file runterbrennen (direkt durch Kommandi an OpenOCD oder über GDB "durchgeschlauft"... Und DANN mal Eclipse wieder öffnen und es dazu bewegen, auf Knopfdruck diese Dinge zu machen, die über die Kommandozeile funktioniert haben.
Datum:
stm schrieb: > Das Problem > fängt bei mir schon dabei an, dass man nie weiß wer mit wem zusammen > arbeitet und man ständig wieder auf kommerzielle Produkte verwiesen > wird. Unterstützt der Segger GDB jetzt auch alle openOCD, muss man > trotzdem einen Serial eingeben wenn man das downloaden möchte? Oh mann, es ist, als ob ich in meine eigene (nich so alte) Vergangenheit schaue! :-) Also: "Unterstützt der Segger GDB jetzt auch alle openOCD" Segger macht kein GDB. Sondern ein HW-Teil (JLink) und als Interface für GDB (das ja GNU ist) einen sog. GDB-Server. Man kann also sagen, dass GDB in gewisser Weise in Konkurrenz zu OpenOCD steht. Segger GDB Server: Server, über den GDB mit einem JLink reden kann. Kommerziell. OpenOCD: Server, über den GDB mit ganz vielen Geräten, inkl. JLink reden kann. OpenSource. Fazit: Wenn Du 'nen JLink hast, brauchst Du ENTWEDER einen Segger GDB-Server und GDB, ODER OpenOcd und GDB. Wenn Du einen anderen JTAG Adapter hast, nützt Dir Segger gar nichts. Dann bauchst Du ENTWEDER einen Server vom Hersteller des Adapters, oder (üblicherweise) OpenOCD und GDB.
Datum:
Den Spaß hier?: http://openocd.berlios.de/doc/html/index.html#Top werds versuchen, momentan warte ich halt noch auf die openODC Hardware und dachte ich könnte hier schon mal ein bisschen "trocken" programmieren.
Datum:
ich dachte bisher der GDB und der GDB Server ist das gleiche ;-)
Datum:
http://fun-tech.se/stm32/OpenOCD/index.php Das ist zwar eine Anleitung für Linux, aber ich denke, das durchzulesen, hilft fürs Verständnis.
Datum:
Ich bin dir für jede Hilfe dankbar. Wahrscheinlich tue ich mich mit dem Englisch auch stellenweise etwas scher schäm (also meiste bekomme ich ohne größere Probleme hin, aber es dauert halt und man überließt Dinge gern mal). Wo du sagst, dass dich das hier an deine Anfänge erinnert habe ich langsam das Gefühl, dass der Grund warum es so wenig gute Anleitungen gibt einfach der ist, dass man eine halbe Ewigkeit braucht, um hier richtig durchzusehen und dann schon wieder vergessen hat was einem am Anfang die größten Kopfschmerzen bereitet hat ^^.
Datum:
>dass man eine halbe Ewigkeit braucht, um hier richtig durchzusehen und dann >schon wieder vergessen hat was einem am Anfang die größten Kopfschmerzen >bereitet hat ^^. So in etwa. Dabei hat man sicher 1000 Möglichkeiten ausprobiert und kann sich im Nachhinein nicht mehr korrekt erinnern wie denn die Reihenfolge war. Beispiel: Installation vom Original Olimex USB-Treiber geht nicht mit OpenOCD, also den erst deinstallieren/löschen und dann so machen wie in der OpenOCD Beschreibung beschrieben. Aber das dokumentieren wie man einen falsch installierten USB-Treiber wieder entfernen kann fehlt natürlich überall. (Tipp: Systemsteuerung > Gerätemanager)
Datum:
Hallo, ich habe auch das 10€ STM32 Eval-Tool. Ich habe geplant meine ersten Schritte in der STM32 Welt mit folgendem Tool zu unternehmen : http://www.raisonance.com/mcu_downloads.html Hat jemand damit erfahrungen ? Ich denke für den Einstieg reichts. Ich denke das Paket Ride7 mit zugehörigem GCC besitzt lt. der oben genannten Seite keine Limitierungen und sieht nach einer Installation im Vergleich zu anderen ARM-Paketen recht schlank aus.
Datum:
Hallo stm schrieb: > Im übrigen habe ich gerade mit openOCD ständig das > Gefühl vor verschlossenen Türen zu stehen (nicht funktionierende Links > aus teilweise Rechtlichen Gründen ect.) > Ich versuche mich gerade durch die Yagato Seite durch zu arbeiten. > Ich hoffe der Server läuft auch mit dieser Quelle Hallo Das kann ich nur bestätigen !! Ich habe mehr durch zufall den Download des OpenOCD für (Windows als setup) gefunden. Die angegebenen Links gehen meistens ins leere ??? Nun habe ich entlich den JTAGKey2 von Amontec bekommen und stehe schon wieder an ! Es ist schon unglaublich mit welch schlamperei diverse Firmen umgehen. Auf der Offiziellen Homepage von Amontec ist immer noch ein nicht funktionierender Treiber zum download. Erst in einem Forum fand ich dann den aktuellen. Nach installation läuft nun der JTAGKey mit der Testsoftware von Amontec. Doch zu meinem Frust unter Crossworks will die Scheisse immer noch nicht laufen. Dabei sollte Crossworks ja genau das "Fix-Fertig-Und-Alles-Geht-Auf-Anhieb-Eclipse-STM32.Setup.exe" sein !!!!!! Gruss von eine gefrusteten möchtegern Eclipse (Crossworks) user. Roger
Datum:
Den funktionierenden Download-Link für OpenOCD habe ich hier geschrieben: http://www.mikrocontroller.net/articles/STM32#Inst... Ich selbst habe auch lange danach gesucht, aber der klappt nun seit einem Jahr.
Datum:
na schön, dass für dich die größte Herausforderung bei "Systemsteuerung
> Gerätemanager" lieg @ Markus. Seien wir doch mal ehrlich, wenn ich mir
deine Anleitung anschaue ist das ein ganz guter Wegweiser, aber wie
schon Eingangs bemerkt wurde fehlen eben Dinge die einen Anfänger
verwirren, so z.B. ein Hinweis, dass die Eclipse Versionen verschieden
Namen tragen und du deswegen auf Helios und einmal auf Galileo verweist,
was vielleicht mal angepasst werden sollte. Klar kann man sowas auch
selbst rausfinden, aber in zwei Sätzen beschrieben geht es halt
wesentlich schneller. Und in Massen stiften solche kleinen Dinge halt
eine Menge Verwirrung. Und was nach dem Download dieser Dinge geschieht
wurde zuvor auch nicht beschrieben, also bitte nicht so abwertend.
Datum:
Ja, das ist nur eine absolute Kurzanleitung die ich vor über einem Jahr geschrieben habe und in der Zwischenzeit hat sich nunmal einiges geändert, so gibt es neue Versionen. Damals hat auch die Anleitung von Yagarto nicht funktioniert, heute ist diese angepasst auf das aktuelle Eclipse. Damals hatte ich einige Wochen gebraucht um das ganze zu verstehen und es gab kaum brauchbare Infos im Netz. Heute haben schon viele Eclipse am laufen und können Tipps geben. (Bei Problemen wusste ich zum Teil nicht einmal was ich fragen soll.) Ein anderer User möchte gerade eine Anleitung schreiben, ich habe die Anfänge der PDF schon gelesen. Vielleicht stellt er dies zum Download in den STM32 Artikel ein oder er macht einen eigenen Artikel daraus, dann kann wiederum jeder was beitragen.
Datum:
Was halt meines Erachtens definitiv eine Überlegung wert ist, ist ein Wechsel auf Linux, wenn nicht komplett, dann vielleicht als Zweitpartition für die Programmierung. Denn in der Welt von OpenOCD, GCC, GDB etc. ist Windows einfach ein Fremdkörper. Es funktioniert irgendwie schon. Man kann auch Microsoft Office auf Linux laufen lassen (warum man das auch immer wollen sollte). Aber es ist halt komplizierter als auf Windows. Logischerweise. Und so ist es mit GCC etc. auf Windows. Das sind Linux-Tools. Und werden es immer bleiben. Windows-Distributionen bleiben immer Flickwerke mit darunterliegenden Kompatibilitätslayern. Wenn man zudem noch im Hintergrund behält, dass man vielleicht irgendwann mal ein Linux auf einen ARM9 packen will, macht ein Linux-System auf dem Host noch mehr Sinn.
Datum:
Simon Huwyler schrieb: > Das sind Linux-Tools. Und werden es > immer bleiben. Windows-Distributionen bleiben immer Flickwerke mit > darunterliegenden Kompatibilitätslayern. Ich setze diese Tools schon seit Jahren unter Windows ein (privat wie beruflich) und habe keine Probleme, die mit Windows zusammenhängen. Weshalb erzählst du solch einen Quatsch? Das irritiert Anfänger bloß. Die Toolchains sind für Windows angepaßt (über einen Zwischenlayer eben) und funktioniert klaglos. Ist bei WinAVR z.B. so. Codesourcery für ARM auf Windows: klaglos. GCC für SPARC auf Windows: klaglos.
Datum:
Simon Huwyler schrieb: > Was halt meines Erachtens definitiv eine Überlegung wert ist, ist ein > Wechsel auf Linux, wenn nicht komplett, dann vielleicht als > Zweitpartition für die Programmierung. Tja und was machst Du wenn das Linux sich einfach nicht auf den Rechner installieren lässt ?? (Wie in meinem fall GRRRR!) Bezeichnend für mich sind auch Aussagen von Linux-freaks (In unserem Geschäft) die dann (wenns trotz deren Tips einfach nicht geht) sagen Linux ist ein System für Bastler die es als freude und motivation sehen die vielen knacknüsse zu knacken ! Da musste ich mir dann sagen ok ich bleib bei Windows ! Schliesslich gibt es noch genügend Hürden mit einer Lauffähigen Entwicklungumgebung und den projekten. Aber wie schon mal gesagt, ich habe so langsam das Gefühl die Eclipse geschichte ob nun auf windows oder Linux ist eben die gleiche bastelei. Gruss Roger
Datum:
900ss D. schrieb: > Weshalb erzählst du solch einen Quatsch? Ich schrieb bloss, was Du in Deiner Antwort wiederholt hast. Dass die Tools nativ auf Linux laufen und, um auf Windows zu laufen, Kompatibilitätslayer benötigen. Kein Grund, polemisch zu werden. Ja, richtig, "Flickwerke" ist etwas falsch ausgedrückt. Die laufen schon. Aber eben, dieser Thread zeigt, dass es halt schon nicht sooo einfach geht. Ich schrieb ja nicht, dass man das machen MUSS. Aber es wäre eine Alternative. Warum soll es Quatsch sein, wenn man Alternativen aufzeigt? yello8247 schrieb: > Tja und was machst Du wenn das Linux sich einfach nicht auf den > Rechner installieren lässt ?? > (Wie in meinem fall GRRRR!) Welche Distribution und vor wie langer Zeit? Da hat sich 'ne Menge getan. yello8247 schrieb: > Bezeichnend für mich sind auch Aussagen von Linux-freaks (In unserem > Geschäft) die dann (wenns trotz deren Tips einfach nicht geht) > sagen Linux ist ein System für Bastler die es als freude und motivation > sehen die vielen knacknüsse zu knacken ! Full Ack, so sollte es nicht sein. Meine persönliche Erfahrung mit Ubuntu ist eine ganz andere. Das lief praktisch out-of-the-box. yello8247 schrieb: > Aber wie schon mal gesagt, ich habe so langsam das Gefühl die Eclipse > geschichte ob nun auf windows oder Linux ist eben die gleiche bastelei. Eclipse selber hat unter Windows keine Probleme. Das ist Java. Dass das kein Bastel ist, zeigt die Tatsache, dass x Firmen ihre eigenen IDEs auf Eclipse aufbauen und das ganz gross in ihrer Werbung erzählen, als Garant dafür, dass es ein gutes Tool sei. Was Du vermutlich meinst, ist die darunterliegende Tool-Chain. Und das kannst Du mir glauben: Ein Bastel ist das auch nicht. Das ist sehr sehr ausgereift. Aber eben, sorry, ich wiederhole mich, es kommt aus der Linux-Welt. Linux WIRD damit kompiliert. Ich habe das auch mal auf Windows hingekriegt. Das läuft schon. Aber meine Erfahrung war halt, dass es ein wenig undurchsichtiger war. Und WENN es einen Grund geben sollte, Linux mal auszuprobieren, dann wäre DAS sicher ein sehr guter Grund. Gruäss Simon
Datum:
Das habe ich zufällig gefunden. OpenOCD binary für Windows. Ich glaube zwar, weiter oben habe es schon einen Link, aber offenbar sind solche Windows-Binaries wirklich gesucht (weil laut Urhebern nicht erlaubt). Und bei mir war das damals die grösste Knacknuss. Na denn, hier der Link, nutzt's nicht's schadet's nichts. http://www.ethernut.de/elektor/tools/win/openocd-r...
Datum:
@Simon Huwyler (simi) Diese OpenOCD-Version ist eine URALT Version und sollte nicht verwendet werden! Hier: http://www.mikrocontroller.net/articles/STM32#Inst... Unter "OpenOCD" ist der aktuellste Windows-Setup verlinkt! Und der geht problemlos mit STM32 !!!!
Datum:
Ich hab mal einen Artikel angefangen: STM32 Eclipse Installation Jeder kann hier nun seinen Beitrag hinzufügen.
Datum:
Markus Müller schrieb: > Ich hab mal einen Artikel angefangen: > > STM32 Eclipse Installation > > Jeder kann hier nun seinen Beitrag hinzufügen. Super Idee !! Danke für deine Bemühungen. Könnte man noch zum Bsp. den Titel: JTAGKey Amontec mit OpenOcd einrichten dazufügen Komischerweise gibts zum Segger haufenweise Tutorials nicht aber für die anderen JTAG's (OpenOcd). Gruss Roger
Datum:
@ Markus Müller (mmvisual) Der Wiki Eintrag ist ja nur für Windows?!? Und zudem noch nur für Yagarto...
Datum:
Ja natürlich für Windows. Weiter oben im Thread lese ich die ganze Zeit dass alle Windows-User auf Linux umsteigen sollen, weil es da viel leichter geht, also wieso soll dann das Wiki für Linux sein wenn das für Linux ohne Problemchen geht? Amontec muss ein anderer hinzufügen, ich habe dieses Teil nicht, daher auch keine Ahnung von der Parametrierung. Ich muss aber erst mal ein Leeres "Blink-LED" Projekt machen, gestern hab ich ein Projekt auf die FW-Lib V3.4.0 von ST geupdatend. Dauert aber.
Datum:
"Kompatibilitätslayer" sind meines Wissens in keinem Element der
Toolchain mehr notwendig. Vor Jahren musste man noch an einigen Stellen
herumbasteln, um Compiler-Collection, den GDB (evtl Insight gdb) und die
Binutils als "native" Win32 Anwendung zu kompilieren. Daher wurde ehedem
von Codesourcery und gnuarm.org Cygwin genutzt. (War seinzeit meine
Motivation für das WinARM Paket, da ich mit cygwin(.dlls) zu oft Ärger
hatte). Inzwischen sind m.W. alle etwas verbreiteten freien
vorkompilierten GNU Cross-Toolchains für MS Windows Hosts "native" Win32
Anwendungen (CS G++, Yagarto, DevkitARM). Beim Bau wird evtl. noch ein
Canadian Cross genutzt (w.r.e. von Codesourcery) aber das interessiert
den Endanwender nicht. Bei Leerzeichen in Pfaden sollte man bei allen
Systemen etwas aufpassen ("" helfen oft).
Bei Makefiles von Anwendern unix-artiger System kann man darüber
stolpern, dass darin Shellfunktionen (z.B. der BASH) oder Hilfprogramme
wie sed und/oder awk aufgerufen werden, die bei MS Windows nicht im
Lieferumfang sind. Ist aber dann nicht der Toolchain selbst anzulasten.
Betr. OpenOCD: es sollten sich mindestens genauso viele Tutorials für
OpenOCD als GDB-Server finden, wie für Seggers GDB-Server. Man muss
lediglich darauf achten, dass viele Tutorials etwas älter sind und
OpenOCD zwischenzeitlich heftig weiterentwickelt wurde. Es ist eine gute
Idee, den bereits gegebenen Empfehlungen zu folgen und erstmal OpenOCD
über Telnet Schnittstelle zu erkunden und sich dann hochzuhangeln (gdb
Kommandoziele, Eclipse hardware debugging plugin).
Eine wenig anwenderfreundliche Besonderheit bei OpenOCD unter Win32 ist,
dass man keine Binärversion für die Herstellertreiber von Adaptern mit
FT2232(H) (Treiber sind dann minimal angepasste Versionen derer von
FTDI) weitergeben darf (GPL usw. usf.). Alternative sind auf libusb-w32
basierende Treiber, die in ensprechenden OpenOCD Binärpacketen enthalten
sind (auf Link zu F. Chopins Seite wurde von M. Müller schon verwiesen).
Mit denen können dann aber Programme nicht mehr "reden", die
FTDI-Treiber/DLLs erwarten (aus diesem Grund kompiliere ich mir OpenOCD
von Zeit zu Zeit selbst für FTDI-Treiber). Das kann aber durch
Filter-Treiber evtl. in kommenden libusb und OpenOCD Versionen wieder
nutzerfreundlicher werden, ist aber m.W. nicht spruchreif.
Wehklagen a la "geht nicht" bringen nichts. Man muss das Problem genau
eingrenzen und beschreiben, mit Schritt-für-Schritt Beschreibung und
Beispielcode/-einstellungen damit man es nachvollziehen kann.
Datum:
Martin Thomas schrieb: > "Kompatibilitätslayer" sind meines Wissens in keinem Element der > Toolchain mehr notwendig. Das mag sein, dass selbst die inzwischen nicht mehr da sind. Aber selbst wenn, merkt man es als Anwender ja nicht. Das ist ja alles transparent. Und dass die Installation einer solchen Crosstoolchain unter Linux einfacher sein soll, als unter Windows oder das GCC o.ä. unter Windows Flickwerk ist (wie weiter oben versucht wurde darzustellen), ist Unfug. Es ist in beiden Fällen das Wissen über das Zusammenspiel des gesamten Systems notwendig und dass man seinen Kopf benutzt. ;-) Wenn Wissen nicht da ist oder man nicht bereit ist zu verstehen wie das alles zusammen spielt, nutzt weder Linux noch Windows etwas. Wenn man die Toolchain + Eclipse vernünftig installiert hat, dann laufen sie auf beiden Betriebssystemen gleichermaßen gut. Und Eclipse ist unter Linux wie auch unter Windows nicht unbedingt einfach für den Einsteiger. Aber es funktioniert recht gut :-)
Datum:
Markus Müller schrieb: > Amontec muss ein anderer hinzufügen, ich habe dieses Teil nicht, daher > auch keine Ahnung von der Parametrierung. Hallo Markus Werd ich machen sollte ich das Teil je zum laufen bringen ! Gruss Roger
Datum:
Es wird sicher helfen, wenn ich gezeigt habe wie es mit dem ARM-USB-OCD von Olimex aussieht. Normalerweise muss man nur die andere Datei für den Amontec anfügen.
Datum:
Markus Müller schrieb: > Normalerweise muss man nur die andere Datei für den > Amontec anfügen. Tja und wo findet man diese andere Datei .gdb ?? Laut Anleitung yagarto sind diese ja im Projektordner der Bsp. Projekte (xxx_1.gdb). Doch leider ja eben alle nur für den JLink gedacht. Im ordner von OpenOcd lassen sich nur .cfg Dateien finden. Gruss Roger
Datum:
Ich habe nun im Artikel STM32 Eclipse Installation ein Demo-Projekt hoch geladen, darin sind die Einstellungen für den Olimex ARM-USB-OCD Dongle sowie für den Segger J-Link. Die aktuelle OpenOCD.EXE sowie alle nötigen Dateien sind drin. Einfach den Ordner entpacken und mit Eclipse unter "File" > "Switch Workspace" auf dieses Projekt wechseln. Ctrl+B >> Build Kann das bitte jemand testen? Die Amontec Konfigurationsdateien sind unter: C:\WinARM\OpenOCD_0_4_0\interface Suche in den Dateien nach "Amontec", z.B. jtagkey.cfg
Datum:
Auch wenn ich mich damit jetzt wohl lächerlich mache, ich hab das hier noch gefunden: http://www.jeroenhermans.nl/openocd-and-eclipse Was mich jetzt mal interessiert, hier wird ständig über darüber geschrieben, dass FTDI verbietet seine Tools mit GPL zu verknüpfen. Wenn man jetzt den normalen OpenOCD von z.b. Olimex nimmt haben die aber eigentlich nichts zu melden und man könnte das Teil sogar kommerziell einsetzen oder liege ich da falsch?
Datum:
Markus Müller schrieb: > Die Amontec Konfigurationsdateien sind unter: > C:\WinARM\OpenOCD_0_4_0\interface > Suche in den Dateien nach "Amontec", z.B. jtagkey.cfg Komme mir langsam blöd vor. Huch Diese .cfg hatte ich schon auch gefunden. Unter Eclipse gemäss yagarto tutorial ist aber nur die rede von .gdb dateien. Sind das nun die selben Dateien ? Now change to the "Startup" tab and use the following settings: A file called sam7x256_ram_jlink.gdb is part of the example. Copy and paste the contents of the test file into the "Initialization Commands" area 1. Note: The setup for the Cortex M3 examples are slightly different. For these examples you will find two separate script files called xxx_1.gdb and xxx_2.gdb within the project folder. Copy the contents of xxx_1.gdb into the text box under Initialization Commands (1) and copy the contents of xxx_2.gdb into the text box under Run Commands (2). Do not check the boxes "Set Breakpoint at:" or "Resume". Gruss Roger
Datum:
stm schrieb: > Wenn > man jetzt den normalen OpenOCD von z.b. Olimex nimmt In dem Olimex-Teil ist auch ein FTDI drin. Aber Du musst Dir da wohl keine grossen Gedanken machen. Binaries mit verlinkten Treibern anzubieten ist wohl juristisch irgendwie grenzwertig, weswegen die offizielle Seite das nicht mehr macht. Ich denke, das Ganze geht in die Richtung, dass etwas angeboten wird, ohne es selber geschrieben zu haben. Aber wenn Du doch irgendwie zu so einem Treiber kommst, darfst Du ihn bestimmt auch verwenden. Auch kommerziell. Wie gesagt, das ist ein Hüftschuss, wie es genau aussieht, weiss ich nicht.
Datum:
stm schrieb: > Auch wenn ich mich damit jetzt wohl lächerlich mache, ich hab das hier > noch gefunden: > http://www.jeroenhermans.nl/openocd-and-eclipse > > Was mich jetzt mal interessiert, hier wird ständig über darüber > geschrieben, dass FTDI verbietet seine Tools mit GPL zu verknüpfen. Wenn > man jetzt den normalen OpenOCD von z.b. Olimex nimmt haben die aber > eigentlich nichts zu melden und man könnte das Teil sogar kommerziell > einsetzen oder liege ich da falsch? Hammer !!!! ueber deinen Link bin entlich auf was brauchbares gestossen. http://www.makingthings.com/documentation/tutorial... Nun verstehe ich auch den Unterschied .gdb zu.cfg Dateien Und vorallem schön erklärt wie man den OpenOCD in eclipse einbindet !! Cool vielen dank Gruss Roger
Datum:
yello8247 schrieb: > Unter Eclipse gemäss yagarto tutorial ist aber nur die rede von > .gdb dateien. Sind das nun die selben Dateien ? Ich kenne weder Yagarto noch das Tutorial. Aber .gdb-Dateien sind wohl Init-Scripts für GDB. .cfg-Dateien hingegen sind Konfigurationsscripts für OpenOCD.
Datum:
>... > Was mich jetzt mal interessiert, hier wird ständig über darüber > geschrieben, dass FTDI verbietet seine Tools mit GPL zu verknüpfen. Wenn > man jetzt den normalen OpenOCD von z.b. Olimex nimmt haben die aber > eigentlich nichts zu melden und man könnte das Teil sogar kommerziell > einsetzen oder liege ich da falsch? Woher kommt die Information, dass "FTDI verbietet"? "Ständig" habe ich dies bisher noch nicht gelesen. Mein Stand der Dinge ist, das die GPL unter der OpenOCD steht die Bindung an "closed source" Binäre im gleichen Adressraum verbietet. Tut aber auch nicht wirklich etwas zur Sache - wenn man OpenOCD nicht selbt bauen kann oder will, muss man mit dem zurecht kommen, was fertig kompiliert angeboten wird.
Datum:
Nun hab ich das Demo-Projekt und die nötige Installation etwas ausführlicher beschrieben: http://www.mikrocontroller.net/articles/STM32_Ecli... Wenn jemand Zeit hat, dann testen. @yello8247: Hier ist auch beschrieben wie man auf das Amontec JTAG Interface umstellen könnte.
Datum:
Markus Müller schrieb: > Nun hab ich das Demo-Projekt und die nötige Installation etwas > ausführlicher beschrieben: > http://www.mikrocontroller.net/articles/STM32_Ecli... > > Wenn jemand Zeit hat, dann testen. > > @yello8247: > Hier ist auch beschrieben wie man auf das Amontec JTAG Interface > umstellen könnte. Super arbeit Markus ! da hast Du aber mindestens ein Bierchen verdient. Kommst Du aus Deutschland oder der Schweiz ? (Sorry der indiskreten Frage, aber vielleicht kann ich Dich dann mal auf ein Bierchen einladen ?) Eine Frage noch Du hast nun genau den Teil beschrieben der mir immer gefehlt hatte (Auf Yagarto leider nicht zu finden) nähmlich "External Tools Configuration..." Super ! nun weiss man wo überhaupt die .cfg Dateien einzubinden sind. Bei Yagarto ist leider nur die "Debug Configuration..." beschrieben. (Oder ich hab das übersehen ?) Kann ich nun für den JTAGKey die dort eingebundenen .dbg Dateien belassen, oder müssen diese auch noch extra editiert oder mühsam gesucht werden! Gruss Yello
Datum:
Zum Bierchen trinken wohne ich wohl mindestens 1500km zu weit weg. In meinem Demo hab ich keine DBG Datei drin. Vermutlich sind das GDB / GDB-Server Befehle, die können bei der grünen Käfer Debug-Taste, schwarzer Pfeil nach unten >> "Debug Configurations..." >> Im Reiter "Start" eingegeben werden. Alle Befehle die mit "monitor" beginnen werden direkt an den GDB-Server (OpenCOD) weiter geleitet, alle anderen sind für den GDB bestimmt. Die Yagarto-Seite ist schon sehr Umfangreich, es fehlen leider immer in paar Puzzleteile, denn das ganze ist schon sehr komplex. Kannst Du den Amontec in mein Demo-Projekt einbinden? Einfach meine OpenOCD-Einträge kopieren und entsprechend ändern. Dann, wenn es geht mir das Projekt mailen, dann kann ich es in das Demo im Artikel übernehmen.
Datum:
Huch Doch noch eine zusätzliche Frage: Gilt die Angabe des Installation-Pfades von C:\WinARM nur für die Zusatztools und das Projekt ? Bei Yagarto steht Eclipse soll ins Verzeichnis C:\Eclipse installiert werden. Let's start with the JRE (1). If the JRE was not installed on your PC, start the installer and follow the instructions. After the JRE installation you must unzip the Eclipse file (2). Assumed you had unzipped it on drive C:\, you will see a folder named C:\eclipse. In that folder you will find the eclipse application itself, please create a shortcut on your desktop now. You can use this shortcut later to start the eclispe application. Gruss Yello
Datum:
Yagarto ist ja nur ein Zip, das kann problemlos nach C:\WinARM\ entpackt werden. Ich mache alles immer nach C:\WinARM denn dann kann ich den Stand einfach Zippen und hab somit eine Datensicherung, falls ich mal irgend was kaputt mache. Und ich weiß ganz genau, dass die gesamte Entwicklungsumgebung nur in dem einen Verzeichnis drin ist. So habe ich auch ein Verzeichnis: C:\WinARM\Examples mit den Demo-Codes aus dem WWW C:\WinARM\Install mit den ganzen Setup-Paketen, die verwendet wurden. Damit ist das ganze aufgeräumt und man behält den überblick. (C:\WinARM ist 750MB dick und hat 13000 Dateien) Wenn ich mal irgend was neues installieren möchte, dann benenne ich C:\WinARM nach C:\WinARM_Geht um und mache ein neues C:\WinARM auf und darin installiere ich die neue Version. Wenn es nicht geht, einfach löschen und das alte C:\WinARM_Geht wieder zurück umbenennen. Ist also eine ganz einfache Sache.
Datum:
Markus Müller schrieb: > Yagarto ist ja nur ein Zip, das kann problemlos nach C:\WinARM\ entpackt > werden. > > Ich mache alles immer nach C:\WinARM denn dann kann ich den Stand > einfach Zippen und hab somit eine Datensicherung, falls ich mal irgend > was kaputt mache. > Und ich weiß ganz genau, dass die gesamte Entwicklungsumgebung nur in > dem einen Verzeichnis drin ist. > > So habe ich auch ein Verzeichnis: > C:\WinARM\Examples mit den Demo-Codes aus dem WWW > C:\WinARM\Install mit den ganzen Setup-Paketen, die verwendet wurden. > > Damit ist das ganze aufgeräumt und man behält den überblick. > (C:\WinARM ist 750MB dick und hat 13000 Dateien) > > Wenn ich mal irgend was neues installieren möchte, dann benenne ich > C:\WinARM nach C:\WinARM_Geht um und mache ein neues C:\WinARM auf und > darin installiere ich die neue Version. Wenn es nicht geht, einfach > löschen und das alte C:\WinARM_Geht wieder zurück umbenennen. > Ist also eine ganz einfache Sache. Demnach installiert Du auch Die IDE (Eclipse) ins Verzeichnis C:\WinARM\Eclipse\ ???? Macht das Sinn ? Die IDE könnte man ja auf C:\Eclipse belassen ? Gruss Yello
Datum:
Ja, macht Sinn, wegen der einfacheren Sicherung und Test von Updates, da auch in das Eclipse diverse PlugIn's mit installiert werden.
Datum:
Markus Müller schrieb: > Kannst Du den Amontec in mein Demo-Projekt einbinden? > Einfach meine OpenOCD-Einträge kopieren und entsprechend ändern. > Dann, wenn es geht mir das Projekt mailen, dann kann ich es in das Demo > im Artikel übernehmen. Hallo Markus Schade 1500 Km sind schon ein wenig zuviel für ein Bierchen. Ich werde dies versuchen. Heute abend vielleicht wenn ich es entlich zum laufen bringe. jetzt aber ruft die Pflicht und ich muss (sollte) mich wieder einmal meiner Familie widmen. Bis später Yello
Datum:
Unglaublich !!! Da wird man stundenlang geplagt von irgendwelchen errors. Support kann auch nicht helfen !! Und dann macht man mit der Familie einen Ausflug kommt nach Hause ändert rein gar nichts und plötzlich läuft die Scheisse !! Nun wenigstens weiss ich jetzt das mein Eval-Board mit JTAGKey2 und Crossworks funktioniert ! Und kann nun beruhigt an die Eclipse Geschichte ranngehen. Gruss Yello
Datum:
Super!! Da hat sich wohl beim ständigen hin und her der USB Treiber im Hintergrund aufgehängt.
Datum:
Hallo ! Jetzt weiß ich warum mir keiner antwortete - Roger hat das ganzen Forum für sich in Anspruch genommen sodass mir keiner mehr antworteten konnte ;-) Ne, spaß bei Seite. Ich bin nun kurz davor das ganze Zeugs in die Tonne zu treten (Olimex und JLink). Ich hab mich genau nach Yagarto's Installation gehalten und das ging auch bis auf ein paar klitze kleine Sachen - aber die konnte ich beheben nur aber das Ding will einfach nicht debuggen. Er connected sich mit dem J-Link EDU und es wird auch alles sauber erkannt. Wenn ich auf Debug Configurations gehe und dann auf den Button Debug dann kommt erstnochmal der Connect - schreibt wie wild auf der Console und löscht sie dann. Dann kommt ne Fehlermeldung-Box und bei Details steht "continue" The programm is not running. Wenn ich jetzt auf die andere Perspektive gehe und <Ctrl>-F11 (run) eingebe dann kommt The selection can not be launched usw. In Yagartos howto steht drin dass die "Commands" beim M3 slightly different sind, aber wie soll ich wissen was man da reinschreiben muss. Wer kann mir weiterhelfen ? Gruß Uli zermürbt
Datum:
Uli B. schrieb: > Ich bin nun kurz davor das ganze Zeugs in die Tonne zu treten (Olimex > und JLink). Hallo Uli Da war ich auch kurz davor ! Ich kann Dir leider noch nicht weiterhelfen. 1. Hab kein Olimex 2. Bin froh mein Zeugs entlich mal auf einem sogenanten "Fix-Fertig-Und-Alles-Geht-Auf-Anhieb-Eclipse-STM32.Setup.exe" lösung von Crossworks zum laufen gebracht zu haben. Die haben übrigens einen super Support !! Der Typ hat sogar am Sonntag geantwortet. Von Amontec (JTAG Anbieter) habe ich bis jetzt noch keine Rückmeldung. Nun ich brauchte eine Pause will mich aber nochmals der Eclipse Geschichte annehmen. Einfach nur interessehalber. Schlussentlich werde ich mich wohl für die Crossworks lösung für 150$ entscheiden. Super Tool eine Installation und fertig ! Es kommen noch genügend probleme bei der findung der richtigen Einstellungen. Da ist man froh nicht noch Tage an der Installation zu verbraten ! Ich habe vollstes Verständnis zu Deiner Verärgerung. Viel Glück und bis später Roger
Datum:
Leute was bastelt ihr denn da immer mit Yagarto rum ?!? Hier hab ich mal in Kurzform geschrieben wie es geht: Beitrag "Re: STM32 Eclipse Entwicklungsumgebung" Das geht so für Windows und Linux. Gerade mit einem J-Link in minutenschnelle !! Kostenlos !! Ohne irgendwelche Begrenzungen !! Wer dazu Fragen hat kann sich melden. Am besten hier, weil einige das ja schon so am laufen haben die hier geschrieben haben. Viele Grüße Daniel
Datum:
Und in diesem Artikel: STM32 Eclipse Installation steht noch das drin was in der Yagarto-Seite fehlt. Das Demo-Projekt unterstützt den Olimex und JLink. Der Artikel ist zwar ziemlich am Anfang, aber dennoch hilfreich. Vielleicht hat ja noch jemand Zeit etwas rein zu schreiben.
Datum:
Warum findes Du Yagarto so gut? Das ist nur ein Hobby Projekt. Der Sourcery G++ Kompiler ist wesentlich besser. Er hat außerdem eine einfache Installationsroutine.
Datum:
Der "arm-none-eabi-..." ist doch der Sourcery G++, oder nicht? Und der ist in dem Yagarto-Setup drin. Somit muss ich eine Seite weniger besuchen um ein Setup zu laden. In jedem Fall klappte meine letzte Installation mit Yagarto relativ leicht, da ich zuvor schon Eclipse mit älterer Version nutzte.
Datum:
Hallo ! Erstmal danke für die aufmunternden Worte ! Ich hab mir die STM32 hier durchgelesen und hatte halt das Gefühl das Yagarto am besten für mich passt. Ich hab das Gefühl bei Sourcery G++ Lite - das dies eine Version ist dass wenn ich ein bestimmtes Problem habe und genau diese Funktion (etc...) brauche dann popt so ein nettes Fensterchen auf - Wenn Sie diese Funktion haben möchten - dann überweisen Sie an Paypal oder sonstwo das Geld. So hab ichs mal erlebt. An Yagarto störte mich als einzigstes das er von Cygwin weg will. Ich arbeite aber schon lange mit Cygwin und ebenso Linux. Aber ich wollte das ganze erstmal mit Win ausprobieren. Ach ja - ich hab mir die Atollic-geschichte gezogen und beim start sah das ganze genauso Fatal aus - wie halt in Eclipse üblich. Hat auch nicht funktioniert. Dafür bekomme ich jetzt jedenfalls von denen wahrscheinlich immer schöne Mails. O.K. ich muss zugeben ich bin von ATMEL sehr verwöhnt. Was ich allerdings nicht brauchen kann sind Einschränkungen und Lite klingt halt schon so... bin aber für alles offen... Ich werd mir mal die unteren Tipps von Euch morgen reinziehen und vielleicht tut sich ja doch mal was. Aber jetzt erst mal guts Nächtle Gruß Uli
Datum:
Lite bedeutet da nur, dass es nur Konsolen Tools sind, was bei Yagarto eh der Fall ist. Die Lite Version hat sonst keine Einschränkungen. >Der "arm-none-eabi-..." ist doch der Sourcery G++ Glaube nicht. >Somit muss ich eine Seite weniger besuchen Du musst doch auch auf die Yagarto Seite um runter zu laden ?!? Sourcery G++ runterladen, installieren und fertig. Dann hast Du Kompiler, Linker usw... Ich hatte beides mal ausprobiert, also Yagarto und Sourcery G++. Daher kann ich aus Erfahrung sagen, dass Sourcery G++ besser funktioniert. Probiert es aus und entscheidet selbst... Viele Grüße Daniel
Datum:
Das Lite hießt, es ist nur der GCC Kommandozeilenkompiler, ohne extra Tools. Codesourcery darf dafür kein Geld verlangen, denn der ursprüngliche Code kommt vom GCC. Dennoch ist der ohne Codelimit und ohne jegliche Begrenzungen. In Verbindung mit Eclipse und make reicht das vollkommen aus.
Datum:
>Ich hatte beides mal ausprobiert, also Yagarto und Sourcery G++. Daher >kann ich aus Erfahrung sagen, dass Sourcery G++ besser funktioniert. >Probiert es aus und entscheidet selbst... Wie wirkt sich das "besser funktioniert" denn aus?
Datum:
Uli B. schrieb: > Ich bin nun kurz davor das ganze Zeugs in die Tonne zu treten (Olimex > und JLink). Was heißt das genau? Du hast ein Olimax-Jtag-I/F und einen J-Link und beides funktioniert nicht. Oder du ast einen J-Link und ein Board von Olimex? Welchen Controller genau? Das Debuggen ist auch nicht so einfach. Vielleicht wirst du im Seggerforum fündig? segger.com und dann Forum. Ob du YAGARTO oder Codesourcery verwendest ist im Prinzip egal. Beides sind volle Versionen. Das Lite steht bei Codesourcery nur für die kostenfreie Version ohne Support. Die Kaufversionen von Codesourcery hat nur ein paar Extras, die aber auch in Yagarto nicht enthalten sind. Außerdem gibt es eine auf Eclipse basierende IDE dazu. Poste mal ein paar Screenshots was du genau konfiguriert hast und was wann an Fehlermeldungen erscheint. "Es funktioniert nicht" ist keine Fehlermeldung ;-)
Datum:
Hallo ! Wie heißt es: Gestern standen wir noch vor dem Abgrund... Heute sind wir einen Schritt weiter ... @900ss: Ein Olimex Board (das mit der LCD Anzeige) und den JLink EDU. Ich konnte irgendwie Eclipse kitzeln dass er mir die Error Log anzeigt. Viele Fehlermeldungen wie z.B. Internal Error org.eclipse.cdt.debug.mi.core Ich denke auch es ist egal welches Tool man nimmt sobald Eclipse ins Spiel kommt ist es sch...ön. Das Debuggen ist nicht einfach ? Meinst Du etwa die Console wo man direkt mit dem gdb quaseln kann ? Nun selbst da hatte ich selbst in Linux keine Schwierigkeiten, aber wir sprechen hier von Eclipse und das heißt bei mir Klicki-Bunti. Ich installiere doch kein Eclipse um nachher auf der Console rumzutippen. Aber um diese Internal Error wegzukriegen - kann man nicht irgendwie ein reinstall machen oder ist bei der Installation was falsch gelaufen ? Ich vermute genau aus diesem Grund funktioniert das debuggen nicht. Gruß Uli
Datum:
Welches dieser vielen Programme sagt "Internal Error"? Screenshot?
Datum:
Uli B. schrieb: > Das Debuggen ist nicht einfach ? Das bezog sich auf das Einrichten. Das Eclipse mit dem ARM-GDB quatscht und dieser dann mit dem Segger GDB-Server. Aber solange du nicht schreibst, wann genau was passiert ist es schwer dir zu helfen. Auch deine Angabe zu dem Controller ist nicht so genau. Olimex mit LCD...??? Uli B. schrieb: > Ich installiere doch kein Eclipse um nachher > auf der Console rumzutippen. Wo steht denn dass du das machen sollst? Uli B. schrieb: > kann man nicht irgendwie ein reinstall machen Klar kann man das irgendwie machen. Besser ist aber richtig. Ist doch recht einfach und in Sekunden erledigt. Eclipse mit der CDT installieren. Dann die Eclipse GDB Debugger Integration installieren. Fertig.
Datum:
Angehängte Dateien:Wenn du nach dem Installieren im Menu RUN->Debug Configuration öffnest, dann er scheint der Dialog (siehe Anhang) wo du die Debug Configurationen einstellen kannst. Soweit warst du wohl schon. Wichtig ist der rot eingekreiste Teil. Der muß da sein. Unter diesem Punkt mußt du deine Debug-Konfiguration einrichten, also mit '+' hinzufügen.
Datum:
Angehängte Dateien:Ich habe folgende Einstellungen nur zum Flashen einer Anwendung eingestellt: siehe Anhänge. Unter dem Startup-Tab sind 4 Initialization Commands zu sehen. Mehr sind dort nicht drin. Der Controllertyp ist wichtig in der Zeile "monitor flash device" Leider geht das debuggen damit nicht. Hab mich nicht länger damit beschäftigt. Zum Debuggen hab ich mir eine andere Config. eingerichtet. Die sieht im Prinzip genauso aus wie die zum Flashen, aber ich habe "Load image" im Startup-Tab deaktiviert. Damit kann ich dann debuggen. Du darfst auch die JTAG-Speed nicht zu hoch setzen. Ich habe die Zahlen nicht im Kopf, mußt du mal im Manual vom JLink schauen. Das hängt vom Controllertakt ab. Die Portnummer unter "Debugger" muß zu der eingestellten im GDB-Server für den JLink passen. Am GDB-Server kann man auch viel "kaputt" konfigurieren :-)
Datum:
In den Bildern, die Zeile ganz unten, da steht "Using GDB (DSF) ...." Den anklicken und umstellen auf: "Using Standard GDB Hardware Debugging Launcher" Im dritten Bild ist rechts ein Scrollbalben, da kommen noch die "Run Commands". Wast steht da drin? Vermutlich fehlt unter "Initialize Commands" das: monitor flash breakpoints = 1 Aber ich sehe auch nicht alle Zeilen. Die bitte markieren und hier posten.
Datum:
Markus Müller schrieb: > In den Bildern, die Zeile ganz unten, da steht > "Using GDB (DSF) ...." > > Den anklicken und umstellen auf: > "Using Standard GDB Hardware Debugging Launcher" Weshalb? Ich habe es probiert und ich habe im Verhalten beim Flashen wie auch Debuggen keine Änderung. Und meines Wissens ist GDB DSF Variante die "tollste" ääh die richtige. > Im dritten Bild ist rechts ein Scrollbalben, da kommen noch die "Run > Commands". Wast steht da drin? Die sind bei mir leer. Überall. > > Vermutlich fehlt unter "Initialize Commands" das: > monitor flash breakpoints = 1 Wofür? Ich hab alles was ich brauche. Solange ich die zur Verfügung stehenden Hardware-Breakpoints nicht überschreite ist alles gut. Wenn ich nicht irre sind es 6 HW Breakpoints die zur Verfügung stehen. Soviel brauche ich selten. > > Aber ich sehe auch nicht alle Zeilen. Die bitte markieren und hier > posten. Wovon?
Datum:
Ich habe es gerade mal probiert mit den Breakpoints. Ich habe nichts in den Initialization Commands verändert. Ich konnte mehr als 6 Breakpoints setzen. Er macht scheinbar automatisch Flashbreakpoints jetzt, wenn die HW Breakpoints nicht ausreichen.
Datum:
In dem Artikel: STM32 Eclipse Installation hab ich ein Demo-Projekt, darin ist auch die JLink-Konfiguration drin und die geht. Schon mal probiert?
Datum:
Nein, meine Konfiguration funktioniert ja. Oder meinst du zum testen?
Datum:
Ja, zum Test. Damit sollte problemlos debuggen möglich sein. Von Segger habe ich gerade die Version V425k und das ganze ist als SWD parametriert.
Datum:
Angehängte Dateien:Hallo ! O.K. zu Olimex und LCD... [[http://shop.embedded-projects.net/index.php?module...]] @Markus Müller (mmvisual): Welches dieser Programme...: Soviel ich jetzt in Eclipse verstanden habe ist das programmieren und debuggen getrennt - also in perspectives unterteilt. D.h. wenn ich in der Perspektive debuggen auswähle. Meintest du das ? Ich hab mal ein Screenshot angehängt. Das kommt schon bevor ich überhaupt noch irgendwas in Eclipse gemacht habe. @900ss D. (900ss): Das sieht wie in den Bildern bei dir ähnlich aus: -> siehe Anhang. Nur beim Main-Teil kann ich nicht wie oben Debug auswählen. Da gibts nur Standart oder Active. Also Speed und alles andere funktionieren denn der gdb-Server von JLink reagiert ja drauf. Ich hab hier auf Auto eingestellt aber ich habe gesehen dass er dann auf 5kHz steht. Ich könnt aber explizit auf 5kHz einstellen. Das ganze steht schon auf: Using Standard GDB Hardware Debugging Launcher. Ich hoffe ihr könnt mit meinen Angaben was anfangen. Gruß Uli
Datum:
Angehängte Dateien:Jeder, der die ersten Eclipse-Start-Versuche macht sollte man Besten das Demo-Projekt vom Artikel: STM32 Eclipse Installation laden und damit versuchen. Das hat die Vorteile: - Ich habe auch den Code und weiß wie es konfiguriert ist - Bei mir geht die Einstellung - Alle anderen Forum-Teilnehmer können den gleichen Code laden und auch Helfen. Damit hat man zumindest ein Projekt, das prinzipiell funktioniert und kann somit auch Installationsfehler finden. Daher bitte mein Demo-Code laden und damit starten. Meine Debug-Ansicht sieht etwas anders aus, da gibt es oben noch ein extra Fenster, vermutlich hast Du es zufällig geschlossen. Anbei ein Screenshot.
Datum:
Angehängte Dateien:Hier der Vergleich, diesmal J-Link und der Segger GDB-Server.
Datum:
Uli B. schrieb: > Ich hoffe ihr könnt mit meinen Angaben was anfangen. Mach mal das Errorlogfenster zu. Das macht einen ja ganz raschelig. ;-) Im Ernst, da pinselt Eclipse allen möglichen "Müll" rein. Ist in den seltensten Fällen von Interesse. Ich schaue da kaum rein. Vergiß erstmal was da steht. Das Debugfenster (View) was der Markus vermißt, hast du schon offen nur etwas versteckt. Das ist in deinem ersten Screenshot der Reiter ganz links neben deinem Errorlogreiter. Ich habe mal genau deine Debug-Konfiguration eingestellt und bei mir läuft es problemlos damit :-O Fragen: 1) Wie flasht du dein Programm? Bitte genau beschreiben. Evtl. Screenshots von der Konfiguration dafür posten. 2) Läuft dein Programm wenn du es nur flasht ohne Debugger? 3) Wenn du den Debugger startest, was passiert genau, welche Fenster gehen auf? Wenn du dann in der Debug-Perspektive landest, klick mal auf den Debugreiter und ziehe das Fenster größer und poste mal den Screenshot. Es sollte so aussehen wie bei Markus seinem letzten Screenshot. Auch den Segger GDB-Server sollte nach dem starten des Debuggens alle Lampen an haben ;-) Also 4-mal grüne "Lampen". Auch so wie in Markus seinem letzten Screenshot. Hast du eigentlich das ARM-Plugin auch installiert und damit das Projekt erstellt oder wie hast du das Projekt kompiliert und gelinkt?
Datum:
Hallo ! Erstmal danke an Markus und 900ss ! @Markus: Ich glaube auch dass das Demo-Projekt erstmal wichtig ist. Ich werde heut Abend versuchen das ganze auf das Demo mal umzustellen. @900ss: O.K. ich denk auch ich mach Error-Log erstmal zu. Das Debugger-Fenster mit den Variablen sieht man im letzten Screenshoot. Aber da rennt der Debugger schon. Ich habe das gefühl ich muss ihn erst anhalten bevor ich die Variablen und deren Inhalt sehen kann. Wäre eigentlich logisch. Oh - das läuft bei Dir .. O.K. 1. Flashen: Im Augenblick weis ich noch nicht wie man das Programm flasht, denn es läuft noch das Testprogramm was mit dem Board mitgeliefert wurde ! Ich vermute nach dem flashen ist das Testprogramm zumindest mal weg, wäre aber O.K. Bei den ATMELS habe ich halt über "Build & RUN" automatisch geflasht. Ich dachte das müßte hier ähnlich sein. 2. Hier kann ich noch nichts sagen. 3. Das Fenster wie bei Markus sieht identisch aus, nur das der Thread bei mir auf running steht. Das JLink-Fenster mit 4 LEDs sind nachdem ich Eclispe im Debug-Modus gestartet habe alle 4 an. Das ARM-Plugin habe ich nach Yagarto installiert also downgeloaded und dann über Archive das jar File eingebunden. Irgendwie sah das gut aus weis aber nicht wie ich überprüfen kann ob das Plugin auch wirklich reingezogen bzw angezogen wurde. Wie gesagt versuche heut Abend das Demo-projekt zum laufen zu bekommen. Gruß Uli
Datum:
Uli B. schrieb: > Das Debugger-Fenster mit den Variablen sieht man im letzten Screenshoot. Nein, das ist die Debug-Perspektive. Die Debug-View öffnest du dann mit dem Tab links unten (Grüner Käfer wo DEBUG dransteht). Das Fenster hat Markus offen in seinem letzten Screenshot. > Aber da rennt der Debugger schon. Ich habe das gefühl ich muss ihn erst > anhalten bevor ich die Variablen und deren Inhalt sehen kann. Ja das ist so. Wenn das Programm rennt, werden keine Variablen vom Target gelesen. Obwohl es CPUs und Debugger gibt, die das können. Beim Cortex sollte das über SWV auch gehen aber das führt hier zu weit. > 1. Flashen: Im Augenblick weis ich noch nicht wie man das Programm > flasht, denn es läuft noch das Testprogramm was mit dem Board > mitgeliefert wurde ! Und die Einstellungen von deiner Debugkonfiguration sind dann zu dem Projekt des Demoprogrammes? > Ich vermute nach dem flashen ist das Testprogramm > zumindest mal weg, wäre aber O.K. Ja. > Bei den ATMELS habe ich halt über "Build & RUN" automatisch geflasht. > Ich dachte das müßte hier ähnlich sein. Mit dem AVR-Studio? Mit Eclipse ist es auch anders. > 2. Hier kann ich noch nichts sagen. Wenn es eine Demo ist, dann solltest du doch wissen, was sie machen soll? > 3. Das Fenster wie bei Markus sieht identisch aus, nur das der Thread > bei mir auf running steht. Das JLink-Fenster mit 4 LEDs sind nachdem ich > Eclispe im Debug-Modus gestartet habe alle 4 an. Immerhin. Die Verbindung arm...gdb zum JLink GDB-Server funktioniert. Probier entweder die Demo von Markus aus oder nimm die Einstellungen, die ich oben gepostet habe. Damit flasht du das Projekt auch. Das wird durch den Haken bei "Load program" ausgelöst. Beitrag "Re: STM32 Eclipse Entwicklungsumgebung" Wenn du in dem 3. Screenshot unten "Set program counter aktivierst und als Adresse 4 (nicht 0!) einträgst, dann sollte das Programm direkt nach dem Flashen auch richtig starten. Das klappte bei mir bisher nicht. Hab ich aber gerade mal ausprobiert. Du mußt 4 eintragen, da dort der Einsprung ins Programm steht. Auf Adresse 0 steht der Wert, mit dem der Stackpointer nach Reset geladen wird.
Datum:
Hallo ! Ich hab jetzt mal das Demo-Projekt von Markus gezogen und wie folgt abgeändert dass der Port C Pin 12 blinken sollte. An dem Olimex-Board hängt auf PC12 direkt eine LED.
int main(void)
{
// Init system and clock
Sys_Init(); // Dieser Aufruf MUSS zu Anfang stehen!
Clk_Init(); // Erst danach hat die CPU die richtige Geschwindigkeit
// Benutzerdefinierte INIts
IO_InitApp();
Timer_TaskInit();
while(1)
{
Timer_Task();
GPIO_WriteBit(GPIOC, GPIO_Pin_12, tBlink); // Port C.12 blinken
// Auf PC12 ist die LED beim Olimex-Board
}
return 0;
}
|
void IO_InitApp(void)
{
SAVE_PC();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC , ENABLE);
GPIO_InitTypeDef GPIO_InitSt;
GPIO_InitSt.GPIO_Pin = GPIO_Pin_0; // Ausgang PA0
GPIO_ResetBits(GPIOA, GPIO_InitSt.GPIO_Pin);
GPIO_InitSt.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitSt.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitSt);
GPIO_Pin_13; // Ausgang Port D
GPIO_InitSt.GPIO_Pin = GPIO_Pin_12; // Ausgang Port C
GPIO_ResetBits(GPIOC, GPIO_InitSt.GPIO_Pin);
GPIO_Init(GPIOC, &GPIO_InitSt);
}
|
O.K. das abgeänderte Programm ist im IO_InitApp-teil von mir nicht sauber programmiert, da ich die Funktionsaufrufe noch nicht kenne. Dazu hab ich bei Markus in den Debug-Konfigurationen den letzten Teil verwendet der auch den Segger Adapter unterstützt. Also Konfig: <BlinkLED Segger Reset Load Debug> Nun testprogramm ist weg - war ja voraus-zu-sehen. Aber da blinkt nichts. >> Bei den ATMELS habe ich halt über "Build & RUN" automatisch geflasht. >> Ich dachte das müßte hier ähnlich sein. > > Mit dem AVR-Studio? Mit Eclipse ist es auch anders. Mit AVR-Studio... O.K. >> 2. Hier kann ich noch nichts sagen. > > Wenn es eine Demo ist, dann solltest du doch wissen, was sie machen > soll? Ich hab das Demo-Test-Programm von Yagarto verwendet: Folgender Link: http://www.yagarto.de/howto/examples/index.html Und davon das STM32Test. Gruß Uli
Datum:
Anbei die angepasste Routine mit etwas Kommentar:
void IO_InitApp(void) { SAVE_PC(); // Für Debug-Zwecke RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC , ENABLE); // Enable von Clock für den Port C (sonst geht nichts) GPIO_InitTypeDef GPIO_InitSt; GPIO_InitSt.GPIO_Pin = GPIO_Pin_12; // Pin 12 GPIO_ResetBits(GPIOC, GPIO_InitSt.GPIO_Pin); // PortPins vorinitialisieren GPIO_InitSt.GPIO_Mode = GPIO_Mode_Out_PP; // Portdefinition GPIO_InitSt.GPIO_Speed = GPIO_Speed_50MHz; // Geschwindigkeit GPIO_Init(GPIOC, &GPIO_InitSt); // PortC mit Portdefinition initialisieren } |
Der Segger GDB-Server ist auch an? (Run External Tools)
Datum:
Hallo Zusammen Nachdem nun meine IDE Crossworks läuft will ich mich nochmals der Eclipse Geschichte (Sprich Yagarto rsp. STM32 Forum) widmen. Dazu nochmals eine Frage betreffend Eclipse Installation. Unter dem Link via Yagarto sind folgende Eclipse Download Varianten angegeben: 1.Eclipse SDK >eclipse-SDK-3.6.2-Win32.zip 2.Platform Runtime Binary >eclipse-platform-3.6.2-Win.zip 3.platform SDK >eclipse-platform-SDK-3.6.2-Win.zip Punkt 2 wird bei Yagarto als die benötigte Zip-Datei angegeben. Ist es aber richtig dass alle 3 Zip-Dateien Funktionieren würden ? @Markus Dein Link gibt nun wieder eine völlig ander Zip-Datei an ! 4.Eclipse IDE for C/C++ developers > eclipse-cpp-helios-SR2-Win32.zip Ist es Richtig dass es keine Rolle spielt, welche 4 Varianten ich nun entzippe und in das Verzeichnis C:\WinARM\Elipse kopiere ? Handelt es sich bei all diesen Zip-Dateien im Grunde um dass selbe nämlich die Eclipse IDE mit unterschiedlichen Plug-Ins ? Wenn ja sollte ich da nicht von anfang an Eclipse SDK nehmen ? Diese ist nähmlich die mit Abstand grösste Datei ! Gruss Roger
Datum:
Ich habe die 4. installiert und kenne die anderen nicht. Dazu das CDT Plugin, so wie in Yagarto beschrieben.
Datum:
Es gibt doch eine Version, wo die CDT schon dabei sind. Die ist genau richtig und spart die Extrainstallation der CDT.
Datum:
900ss schrieb: > Heißt Eclipse for C/C++ Developers Also genau die 4.Version eclipse-cpp-helios-SR2-Win32.zip diese entspricht wohl der bei Yagarto angegebenen: eclipse-platform-3.6.2-Win.zip + Installation der CDT-master-7.0.2 Oder ? Gruss Roger Es scheint zwar ein detail zu sein sollte aber unbedingt noch genauer bei der STM32 Installation beschrieben werden
Datum:
@markus Hast Du für das Demo folgendes Verzeichnis ? C:\WinArm\Projekt\BlinkLED oder C:\WinArm\Projekt\Proj_Demo\BlinkLED Gruss Roger
Datum:
yello8247 schrieb: > Also genau die 4.Version > eclipse-cpp-helios-SR2-Win32.zip Ja > diese entspricht wohl der bei Yagarto angegebenen: > eclipse-platform-3.6.2-Win.zip > + Installation der > CDT-master-7.0.2 Ja, da kommt am Ende das selbe heraus. Die waren halt so freundlich und haben das schon für uns zusammen in ein Paket gepackt. :-)
Datum:
C:\WinArm\Projekt\Proj_Demo\BlinkLED Wobei man einfach das ganze nach C:\WinArm\Projekt\ entpackt.
Datum:
Uli B. schrieb: >> Mit dem AVR-Studio? Mit Eclipse ist es auch anders. > > Mit AVR-Studio... O.K. Wenn du es genauso haben öchtest, dann kannst du dir das einrichten, wenn du weißt wie das geht ;-) Mach erstmal alles schrittweise. 1) Compileren und linken (klappt wohl schon) 2) Flashen (eine Debug Konfiguration, heißt Debug, flasht aber nur) 3) Eine Debug Konfiguration zum Debuggen. Alles zusammenfassen kannst du immer noch, wenn du mit Eclipse mehr vertraut bist. Und Schritte 2/3 habe mit 1 nicht das Geringste zu tun in Eclipse. Das wird an völlig verschiedenen Stellen konfiguriert.
Datum:
Schön dass sich dieses Themas hier mal ein paar Leute annehmen. Die Anzahl der Antworten zeigt wie dringend das ist. Vor über 2 Jahren habe ich OOCD/Eclypse später auch Yagarto auch schon mal probiert zu installieren und dann frustriert aufgegeben und viel Geld für etwas kommerzielles ausgegeben. Viele Leute werden den Hickhack um OOCD mit breitem Grinsen vergnügt lesen, denn wenn es den nicht gäbe, würden sie nichts verkaufen. Nun zur Gegenüberstellung der Qualität einer kommerziellen Lösung, in meinem Fall einen Hitex Tantino: Wer meint, er hätte viele Probleme los, indem er Geld für eine kommerzielle Lösung ausgibt, irrt sich in vielen Fällen. Nur hier ist man etwas hartnäckiger weil es viel Geld gekostet hat. Gut- mein Tantino hat die Seriennummer 2, aber trotzdem gibt es auch für alte Assemblerprogrammierer kaum eine Chance ohne Support auszukommen. Alle mitgelieferten Hitex Debug-Beispiele sind für Cortex-A8 eingestellt und mit einem M3 fliegt man fürchterlich auf die Fresse. Schliesslich will man ja nicht nur einen Debugger sondern auch eine Schulung dazu verkaufen. Weiter geht es mit dem Manual: Im Gegensatz zu Segger und anderen gibt keine einzige Stelle in der Doku wo beschrieben ist, wie das Zielsystem für die Fälle JTAG und SWD auszusehen hat. Datenblätter sind dazu i.d.R. ebenso ungeeignet und offensichtlich gibt es den jüngsten Artikel von mmvisual auch nicht umsonst. Aber schliesslich will man bei Hitex ja auch eine Entwicklungsdienstleistung verkaufen. Weiter geht es mit dem Compiler. Hier ist ein GCC sowie die Demoversion von Tasking beigepackt. Ursprünglich gab es bei ST Beispiele für Hitex - darunter verstand man dann die Tasking Version. Versuche mit dem Hitex GCC die GCC Version zu übersetzen endeten immer in einer Exeption beim Versuch den Code laufen zu lassen, weil der GCC Assembler das Thumb bit nicht gesetzt hat. Spätestens hier hat man nicht nur als Anfänger das Problem auf die Idee zu kommen, den Startup Code der ST Lib abzuändern damit überhaupt irgendwas geht. Aber schliesslich soll man ja nicht nur einen Debugger sondern auch einen kommerziellen C-Compiler dazu kaufen. Offensichtlich der einzige Grund, warum sich der Hitex GCC buildt in Details von den anderen unterscheidet. Mit dem Kauf eines Compilers ist es dann ja nicht getan, denn man soll ja auch noch den Support dazu kaufen usw. Nach unzähligen Bugfixes ist die Hitop Oberfläche zwischenzeitlich eine Version weiter geschritten. D.h. wenn ich jetzt einen STM32F2xx nehmen will, muß ich das Tool noch einmal kaufen, weil ich mit meiner Version das vermutlich nie flashen kann. Neben weiteren ständigen Abstürzen mal genug zu kommerziellen Lösungen. Summa Summarum ist die Zeit längst reif, daß es DAU Artikel zu OOCD, stabile Install und ansehliche Oberflächen zum GDB gibt und nicht jeder selbst bei Max und Moritz anfangen muß. Der ST Lib bin ich anfänglich wegen dem vielen Code auch kritisch gegenüber gestanden. Nach Portierung von einem F103 auf einen F107 bin ich aber überzeugt. Es hat einfach alles auf Anhieb funktioniert und ohne ST-Lib wäre das nicht so gewesen. Also, weiter so und vielen Dank - ich werde demnächst bei Gelegenheit auch mal wieder einen Installationsversuch probieren und mein Projekt anschliessend vom Hitex GCC auf einen Codesourcery GCC umstellen. Das Tantino Teil kann ich dann hoffentlich in die Tonne treten, wie das ein Kollege vor mir schon länger getan hat. Er hat dann übrigens notgedrungen bei IAR investiert.
Datum:
J. V. schrieb: > Nun zur > Gegenüberstellung der Qualität einer kommerziellen Lösung, in meinem > Fall einen Hitex Tantino: Wer meint, er hätte viele Probleme los, indem > er Geld für eine kommerzielle Lösung ausgibt, irrt sich in vielen > Fällen. Hallo Bin Grundsätzlich der selben Meinung wie Du. Nur das mit der Gegenüberstellung kommerzieller Lösungen bin ich ganz anderer Meinung ! Wir arbeiten bei uns in der Firma mit Keil MDK-ARM. Das sind natürlich Welten betreffend Bedienung und Inbetriebnahme ! Kostet aber auch dementsprechend. Für eine Firma rechnen sich aber diese Kosten bei weitem ! Wenn ich denke wie viele Stunden ich schon verbraten habe ein kostenloses System wie Eclipse vergebens fehlerfrei in Betrieb zu nehmen im Gegensatz zu Keil (max.2Std dann läuft die Geschichte). Als privater aber will man natürlich nicht 3000.-Euro auf den Tisch blättern nur für ein paar Hobbyprojekte ! Als sehr gute Zwischenlösung gibt es Crossworks. Sehr schnelle Inbetriebnahme. Allerdings auch hier unmengen an parameter welche man einstellen kann (muss).Hier hat man aber wenigstens den Support So langsam kann ich aber verstehen warum Professionelle Lösungen wie Keil oder IAR so teuer sind. Denn im Grundegenommen müssen diese ja auch die verschiedensten SW-Module zu einer einzigen benutzerfreundlichen IDE zusammenführen. Und das hat wie wir ja alle schmerzhaft erfahren müssen nicht ganz so einfach. Frohe Ostern und viel vergnügen beim weiter Basteln Roger
Datum:
Markus Müller schrieb: > C:\WinArm\Projekt\Proj_Demo\BlinkLED > > Wobei man einfach das ganze nach C:\WinArm\Projekt\ entpackt. Hallo Markus Hast Du somit Dein Workspace von Eclipse wie folgt eingestellt? C:\WinArm\Projekt\Proj_Demo Ich frage deswegen weil eclipse bei mir die c. files nicht findet (erst bei aktualisieren F5). In .metadaten sind ja sämtliche Eclipseinstellungen gespeichert ? von daher glaube ich ist es richtig den Workspace so einzustellen C:\WinArm\Projekt\Proj_Demo\.metadata Aber eben damit findet er keine Source-Dateien. oder muss ich den Workspace auf C:\WinArm\Projekt einstellen ? Dann würden aber zwei .metadaten verzeichnisse entstehen. Eines von Eclipse generiert und das ander vom Proj_Demo. Sorry für meine pingeligen Fragen Roger
Datum:
Das Workspace ist C:\WinArm\Projekt\Proj_Demo darin ist dann das Projekt (= Verzeichnis) BlinkLED. Immer wenn man eine Datei von wo anders verändert hat, dann möchte Eclipse ein Refresh (F5) haben, damit liest er alles neu ein. Ich arbeite auf zwei PC's mit dem gleichen Projekt, wenn ich die Dateien rüber kopiere, dann muss ich auch immer mit F5 aktualisieren, dann geht es weiter mit dem anderen Rechner. (PC Werkstatt/Wohnung)
Datum:
Ok vielen Dank Das bedeutet aber das Eclipse zu jedem Projekt ein eigenes .metadaten Verzeichnis hat und demensprechend auch bei jedem aufstarten von Eclipse auch ein neues Workspace (nähmlich das vom gerade zu bearbeitendem Projekt) angegeben werden muss ? Bei keil sind halt sämtliche IDE Einstellungen im Projektfile abgespeichert. Da muss kein Workspace beim aufstarten der IDE angegeben werden da diese ja beim öffnen eines Projektes automatisch festgesetzt werden. Gruss Roger
Datum:
Im Workspace ist das .metadata sowie die Verzeichnisse der Projekte. In einem Workspace können mehrere Projekte drin sein. Im Projekt BlinkLED sind auch wiederum Eclipse Dateien drin, die projektspezifischen Einstellungen beinhalten. Im Workspace-Verzeichnis habe ich eine Batch-Datei drin, diese kann alle (mir bekannten) Verzeichnisse aufräumen und ein make clean ausführen, somit ist das Projekt etwas kleiner beim Zippen. Diese Batch-Datei muss natürlich von Hand angepasst werden. Ich glaube, du hast Workspace und Projekt verwechselt.
Datum:
Markus Müller schrieb: > Ich glaube, du hast Workspace und Projekt verwechselt. Nein Nein ich glaub eher das wir aneinander vorbeireden. Für mich ist eben Dein Projektverzeichnis \Proj_Demo irreführend. Ich denke folgende Verzeichnisstrucktur wäre besser verständlich: C:\WinArm\Projekte\BlinkLED Das DemoProjekt (Hier können natürlich noch ander projekte sein) C:\WinArm\Projekte\ Workspace C:\WinArm\Projekte für Eclipse (Zugriff auf .metadata) So kann ich das Workspace für Eclipse fix auf C:\WinArm\Projekte eingestellt lassen. zusätzliche Projekte können dann unter C:\WinArm\Projekte dazugefügt werden Dein zusätzliches Verzeichnis Proj_Demo geht natürlich auch ist aber von der Namensgebung ein wenig verwirrend ! Wie Du ja ab meiner blöden Fragerei bemerkt hast. Gruss Roger
Datum:
Unter C:\WinArm\Projekte\ habe ich all meine Workspaces (Verzeichnisse). Natürlich könnte ich auch alles in einer Workspace drin halten, aber ich denke es ist besser mehrere Workspaces zu haben. Wenn jetzt mehrere Leute an mehreren Projekten arbeiten ist das wichtig, denn sonst könnte man die nicht so leicht austauschen, weil die Projekt-Infos der Workspace in irgend welchen Eclipse-Dateien vergraben ist. Ich zippe immer das gesamte Workspace immer komplett und habe so eine vollständige Sicherung, unabhängig von anderen Workspaces. Natürlich könnte man: C:\WinArm\Projekte\ nach C:\WinArm\Workspaces\ umbenennen, aber mir ist die deutsche Bezeichnung da lieber.
Datum:
Angehängte Dateien:Hallo !
Ein Bild sagt mehr als tausend Worte...
Ich weiß aber dennoch nicht weiter.
Bei manchen Debug Konfigs kann ich durchsteppen aber wenn ich mir die
Watch-Variablen anzeigen lassen will, dann kommt
<error(s)_during_the_evaluation>
Target request failed mi_cmd_var_create: unable to create variable
Object.
Gruß Uli
Datum:
Uli B. schrieb: > Ich weiß aber dennoch nicht weiter. Es sieht so aus, als wenn du die Debug-Konfiguration für OpenOCD verwendest, aber einen Segger GDB-Server benutzt. Das paßt nicht zusammen. Hin und wieder, wenn das Debuggen nicht klappt, also Eclipse bricht ab, dann sollte man mal mit dem Windows Taskmanager schauen, ob wirklich Starter.exe und der ARM...GDB.exe beendet wurden. Das vergoßt Eclipse manchmal oder kann diese beiten Tasks aus mir unbekannten Gründen nicht beenden. Das muß man dann "mit der Hand" nachholen.
Datum:
Markus Müller schrieb: > Natürlich könnte man: > C:\WinArm\Projekte\ > nach > C:\WinArm\Workspaces\ > umbenennen, aber mir ist die deutsche Bezeichnung da lieber. Dann müßte Dein Verzeichnis "C:\WinArm\Arbeitsbereich" heißen. Markus Müller schrieb: > Ich zippe immer das gesamte Workspace immer komplett und habe so eine > vollständige Sicherung, unabhängig von anderen Workspaces. Es reicht, wenn du den Projektordner sicherst. Da ist alles drin, was für das Projekt wichtig ist. Es gibt in jedem Projektverzeichnis die versteckten Dateien .cproject und .project. Darin stehen die Projekteinstellungen.
Datum:
Hi Markus, da du schon mit dem Beitrag angefangen hast, versuche ich gerade den bisherigen Text von mir mit deinem zu mergen. Die Frage ist, welches Eval-Board du da in dem Artikel expliziet meinst, wenn du das Discovery-Board angedacht hast, würde ich vorschlagen dieses expliziet aufzuschreiben. Jedoch ist auf dem Discovery-Board ja eigentlich der ST-Link verbaut, so dass die in Betriebnahme der beiden äquivalent wäre. Daher würde ich evtl. eine andere Überschrift wählen. Ansonsten wenn du nichts dagegen hast das ich dir da ein wenig rein pfusche, würde ich dieses Unterthema gern beschreiben.
Datum:
Hallo Bjoern, Es soll ein einfaches Demo-Projekt sein, ohne Bindung an ein spezielles Board. Die Ports für die Blink-LED kann man relativ leicht "umbiegen". Das Demo-Programm lässt auch schon unterschiedliche Portpins Blinken, damit hat man schon das ein oder andere Board abgedeckt. Wenn Du die Konfiguration für einen ST-Link hast, dann kannst du mir das in das Demo-Projekt einfügen und mir mailen, dann kann ich diese Einstellung (External Program / Debug-Konfig) mit in das Demo übernehmen. Irgend wann einmal hat man so ein "Master-Demo" das alle möglichen Adapter drin hat und jeder kann sich daraus seines laden. Ich hatte gehofft, dass du auch den Artikel erweiterst und vielleicht Schaubilder wie das zusammenhängt einfügst.
Datum:
Markus Müller schrieb: > Es soll ein einfaches Demo-Projekt sein Ich gerade probiert, dein Projekt zu kompilieren. Dazu habe ich nicht Yagarto + Tools installiert da ich eine funktionierende Toolchain u.s.w. habe. Den Aufruf von "gmake" habe ich in den Projekteinstellungen zu "make" geändert. Der Buildprozess (make) läuft nicht durch. Das liegt daran, dass du in deinem Makefile
SRC += src/timer_task.c |
stehen hast und die Datei in Wirklichkeit
Timer_Task.c |
heißt. Also Groß- und Kleinschreibung sind unterschiedlich. Wenn man das korrigiert, dann funktioniert es. Mit den Yagartotools (habe dann nur die Tools installiert) funktioniert es auch, da das "Make" von Yagarto scheinbar nicht Case-Sensitiv ist. Das ist recht ungewöhlich für "Make" und eine Speziallösung. Solche Dinge solltest du in deinem Artikel erwähnen, dass das normalerweise nicht so ist. Die Leute, auf die dein Artikel abziehlt wissen diesen feinen Unterschied oft auch nicht und wundern sich, wenn sie mal eine andere Umgebung haben bzw. wenn sie selber einen Makefile schreiben der dann in einer anderen Umgebung nicht funktioniert. Das Debuggen hab ich noch nicht probiert, dazu muß ich erst noch das Testprogramm an meine Hardware anpassen.
Datum:
Vielen Dank für den Hinweis. Ich habe den Name Timer_Task.c im makefile geändert. Außerdem habe ich den Stack gleich auf 20K initialisiert, dann sollte es mit den meisten Demo-Boards (mit STM32F103xB) gehen. Wegen "Make" wo steht das? Ich habe eine neue Version vom Demo gerade in den Artikel geladen: STM32 Eclipse Installation Und den Hinweis auf gmake direkt beim Download-Link hinzugefügt. Wenn ich das gmake bei mir auf make ändere kann ich nicht mehr kompilieren, da ich auch Delphi auf dem Rechner habe.
Datum:
Markus Müller schrieb: > es ist besser mehrere Workspaces zu haben. Nun dann ist es aber doch wie ich anfangs vermutet habe ! Beim aufstarten von Eclipse (Je nach projekt welches man gerade bearbeiten will) wird eine ander Workspace ausgewählt. Oder ? Gruss Roger
Datum:
900ss D. schrieb: > Es reicht, wenn du den Projektordner sicherst. Da ist alles drin, was > für das Projekt wichtig ist. Es gibt in jedem Projektverzeichnis die > versteckten Dateien .cproject und .project. Darin stehen die > Projekteinstellungen. Dann wäre eine Verzeichnisstruktur von C:\WinArm\Projekte\ Fixe Workspace-Einstellung für Eclipse da neben den Projektordnern ja auch noch der Ordner .metadata steht. In den Projektordern selber kann dann auf den Order .metadata verzichtet werden. (Resp.wird ja von Eclipse auch gar keines mehr angelegt) Verstehe ich das richtig so ? Gruss Roger
Datum:
Markus Müller schrieb: > Ja. Hallo Markus Dein Ansatz hat den Vorteil das Du somit pro Projekt nicht nur die Projekteinstellungen gesichert hast sondern auch immer noch die Eclipse Einstellungen auch wenn dies in der Regel die selben bleiben. (Ausser man wechselt die Kontrollerplattform) Nachteil: Beim Starten von Eclipse ist jedesmal die Workspace neu zu wählen. Mein beschriebener Ansatz würde nur die Projekteinstellungen sichern. Dafür kann ich eine fixe Workspace bei Eclipse einstellen und müsste beim aufstarten dann diese nicht immer wieder neu wählen. Dein Demo-projekt beinhaltet somit sämtliche Eclipse-Einstellungen. Somit genügt es die Eclipse-Tools zu installieren und danach einfach Dein Projekt öffnen. Die Einstellerei gemäss Yagarto kann man sich sparen ? Richtig so ? Gruss Roger
Datum:
yello8247 schrieb: > Verstehe ich das richtig so ? Ja. In den Projektordnern wird nur alles zum kompilieren des Projektes gespeichert. Die Debugkonfiguration leider nicht. Die ist aber schnell hergestellt wenn man es erst einmal begriffen hat. Ich verstehe auch nicht warum die nicht im Projekt abgelegt werden ist aber leider so.
Datum:
Markus Müller schrieb: > Wegen "Make" wo steht das? Make kommt aus der Unixwelt und da sind Dateinamen case-sensitive. Bei Yagarto ist das ein Sonderfall, hat er wohl selber umgebaut. Ist mir sonst noch nie so begegnet. Wenn du zum Beispiel die Codesourcery Toolchain nimmst (da heißt das dann cs-make, ist aber ein GNU make) das ist case-sensitive. Eigentlich kann man ein beliebiges (evtl. schon installiertes) GNU-Make nutzen. Wenn man z.B. auch die WinAVR Toolchain installiert hat, dann kann man das Make benutzen (muß im Pfad stehen). > Und den Hinweis auf gmake direkt beim Download-Link hinzugefügt. Wenn > ich das gmake bei mir auf make ändere kann ich nicht mehr kompilieren, > da ich auch Delphi auf dem Rechner habe. Das liegt an den Pfaden. In deinem Pfad ist dann der zu dem Make von Delphi als ersten vorhanden. Wenn du den zu den Yagarto Tools als erstes in deinem Pfad einbaust wird er beim bauen von dem Demoprojekt das richtige Make nutzen. Dann funktioniert das bauen von Delphi--Projekten wahrscheinlich nicht mehr :-)
Datum:
Hallo 900ss ! Wegen Deiner Antwort: Beitrag "Re: STM32 Eclipse Entwicklungsumgebung" Nachdem ich so oft gehört habe - das man den OpenOCD unbedingt braucht - habe ich ihn halt installiert. Ich benutze ihn nicht da ich im Augenblick nicht weiß was noch alles gebraucht wird. Ich hab nur das Demo-Projekt von Markus installiert. Wie der OpenOCD da rein kommt weiß ich nicht. Die Namen sind aber nur in der Debug Konfiguration als Überschrift so angegeben. Im Reiter "Debugger" wird meist der arm-none-eabi-gdb verwendet - falls ich Eclipse richtig verstanden habe. O.K. der OpenOCD ist offensichtlich ein On-Chip-debugger (der event. später zum Einsatz kommt - wenn mal Land in Sicht ist) aber mir würde es schon reichen wenn ich Programme debuggen könnte und dann auch flashen könnte. Gruß Uli
Datum:
Es werden für openocd und Jlink unterschiedliche Kommandos verwendet. Die ich bei dir sehen konnte waren für openocd.
Datum:
hmm das kann ich gern machen... ob ich dann heute schon dazu komme, das Beispiel einzupflegen weiß ich nicht, da ich heute Abend erstmal Windows XP in der VM installieren muss. Ich werde dieses dann direkt ausnutzen und zu jedem Schritt Screenshots machen, so dass man diese dann später in dem Artikel wieder verwenden kann.
Datum:
Hallo 900ss ! O.K. heißt das nun dass das OpenOCD nicht rchtig installiert ist oder wie sollte ich jetzt weiter vorgehen ? Gruß Uli
Datum:
Uli B. schrieb: > Hallo 900ss ! > > O.K. heißt das nun dass das OpenOCD nicht rchtig installiert ist oder > wie sollte ich jetzt weiter vorgehen ? > > Gruß Uli Du brauchst für den JLink kein OpenOCD. Kannst es getrost vergessen. OpenOCD ist ein freien GDB-Server der mit verschiedenen JTAG Debuggern (Olimex, Amontec, ....) zusammenarbeitet. Bei dieses Debuggern wird kein GDB-Server mitgeliefert sondern da mußt du den OpenOCD nutzen. Anders bei dem JLink von Segger. Dort ist der GDB-Server dabei. Der Segger GDB-Server eben. Den mußt du starten bevor du im Eclipse das Debuggen startetst. Du kannst den GDB-Server auch von Eclipse aus starten. Dafür mußt du dir das unter "External Tools" einrichten. Aber du mußt ihn auch dann extra und bevor du das debuggen aufrufst, starten. Du solltest eine Debugkonfiguration in Markus seinem Beispielprojekt haben die da heißt: "BlinkLED Segger Reset Load Debug". Die mußt du benutzen um dann das debuggen zu starten. Alle anderen sind für OpenOCD so wie der Name ja auch schon sagt.
Datum:
Angehängte Dateien:Hallo Zusammen Wage mich wieder ans Eclipse Projekt. Ich gehe davon aus dass wenn ich das BlinkLED projekt von Markus in Eclipse Lade, sämtliche Einstellungen stimmen. Natürlich mit der Ausnahme des OpenOCD .cfg File für mein JTAGKey2. Dieses habe ich in das Verzeichnis kopiert und in der Configuration von OpenOCD geändert. Trotzdem bekomme ich keine Verbindung zu meinem Evalboard hin. Die Fehlermeldung kann man auf dem Printscreen sehen. Weiss da jemand was ich falsch mache ?
Datum:
Angehängte Dateien:Ich vermute mal das ist der USB-Treiber. Versuche mal diese DLL (Anhang) auch in das prj Verzeichnis zu kopieren und dann nochmals versuchen. Wenn das nicht geht, dann muss der USB Treiber deinstalliert und erneut installiert werden. Mit dem Setup von OpenOCD müssten "drivers" dabei sein.
Datum:
So ich habe auch wenn es im Artikel leicht OT sein könnte die Installation des GDB-Servers und Linux für das ST-Link hinzugefügt. Das Projekt selbst ist noch Beta, jedoch habe ich bisher keine Probleme feststellen können. Die Einrichtung vom ST-Link unter Windows werde ich dann die Tage weiter fortführen. Ich hoffe das dies genehm ist.
Datum:
Angehängte Dateien:Markus Müller schrieb: > Ich vermute mal das ist der USB-Treiber. > Versuche mal diese DLL (Anhang) auch in das prj Verzeichnis zu kopieren > und dann nochmals versuchen. > Wenn das nicht geht, dann muss der USB Treiber deinstalliert und erneut > installiert werden. Mit dem Setup von OpenOCD müssten "drivers" dabei > sein. Hallo Markus Also dass mit der DLL ins Verzeichnis kopieren funktioniert nicht ! Ich habe ja auch die neuesten USB FTDI Treiber installiert siehe PDF im Anhang. Grossworks erkennt ja auch das FTDI Device (JTAGKey2) und funktioniert einwandfrei mit diesen Treibern. Auch Grossworks verwendet ja den OpenOCD im hintergrund ? Was mach ich falsch ? Auch habe ich in verschiedenen Foren gelesen das man den neuesten USB-JTAG Treiber von Amontec für den Betrieb mit OpenOCD installieren muss !
Datum:
@Björn: Vielen Dank! @yello8247: Starte doch einfach mal den OpenOCD über Grossworks und versuche dich darüber mit Eclipse zu verbinden. Ob jetzt Grossworks oder Eclipse OpenOCD startet ist egal.
Datum:
Markus Müller schrieb: > @Björn: Vielen Dank! > > @yello8247: > Starte doch einfach mal den OpenOCD über Grossworks und versuche dich > darüber mit Eclipse zu verbinden. > Ob jetzt Grossworks oder Eclipse OpenOCD startet ist egal. Also ich habe nochmals folgende möglichkeiten durchgeführt: 1. OpenOCD Treiber installiert Eclipse wie auch Crossworks funktioniert nicht ! 2. Treiber von Amontec Homepage installiert Eclipse wie auch Crossworks funktioniert nicht ! 3. Neuester Treiber von Amontec (komischerweise nur über Forums Downloadbar) Eclipse funktioniert nicht !! Crossworks Funktioniert einwandfrei ! 4. Crossworks gestartet und mit JTAGKey verbunden. Zusätzlich Eclipse gestartet aber trotzdem keine verbindung zum JTAGKey möglich. Ich glaube es liegt nicht am Treiber sondern eher an einer Einstellung unter Eclipse. Schon unglaublich welch hindernisse einem Eclipse hier in den Weg legt ! Gruss Yello8247
Datum:
Dann ist es wichtig heraus zu finden wie Crossworks OpenOCD startet, also welche Start-Parameter Crossworks dem OpenOCD übergibt.
Datum:
Markus Müller schrieb: > Dann ist es wichtig heraus zu finden wie Crossworks OpenOCD startet, > also welche Start-Parameter Crossworks dem OpenOCD übergibt. OpenOCD sollte in der Windows-Console so starten. Dann ist alles gut. Was Crossworks da speziell macht funktioniert bei einem anderen schon nicht mehr. yello8247 schrieb: > Ich glaube es liegt nicht am Treiber sondern eher an einer Einstellung > unter Eclipse. Ja. > Schon unglaublich welch hindernisse einem Eclipse hier in den > Weg legt ! Seit wann ist Eclipse für die Einstellungen zuständig (siehe oben)? Also den Schuh must du dir anziehen. Für die Unzulänglichkeiten der Bediener kann Eclipse nichts. ;-) Kannst du denn OpenOCD in der Windows Console (Cmd) starten? Das würde ich erstmal versuchen. Wenn das geht, dann sollte es auch von Eclipse aus gehen. Pfade solten stimmen. Die Konfigurationsdateien die selben. Das es von Crossworks aus geht zeigt, das es auch von Eclipse aus gehen sollte. Ich nutze OpenOCD aus verschiedenen Gründen nicht mehr und kann es deshalb auch nicht für dich probieren.
Datum:
900ss D. schrieb: > Seit wann ist Eclipse für die Einstellungen zuständig (siehe oben)? Also > den Schuh must du dir anziehen. > Für die Unzulänglichkeiten der Bediener kann Eclipse nichts. ;-) Nun gut ich gebe mich geschlagen ! Da hast Du natürlich recht. > > Kannst du denn OpenOCD in der Windows Console (Cmd) starten? Können schon. Nur genau da erwarte ich bei einer IDE wie Eclipse dass mir dies erspart bleibt ! (Bei crossworks muss ich ja auch nicht noch auf consolenebene rumwursteln.) Aber ich werde es versuchen. Danke Yello8247
Datum:
Hallo ! Ich möchte mich nochmals zu Wort melden, da ich es mittlerweile aufgegeben habe das ganze zum laufen zu bekommen. Es scheitert ja schon am durchsteppen des Programms BlinkLED von Markus. Nun was mir mittlerweile auffällt ist mit welcher Vehemenz das ganze versucht wird unter Eclipse zum laufen zu bekommen. Ich möchte bei diesem Thread weder Markus noch sonst jemand stören, nur wenn es schon an der Entwicklungs-Umgebung scheitert - dann ARMes Deutschland.... Ob ich eine andere Lösung habe ? Ja, offensichtlich gibt es die - nur ich kenne mich halt zu wenig aus um die Einstellungen richtig hinzubekommen. Ich erinnerte mich an früher zum Beispiel der ddd (Data-Display-Debugger). Den hab ich immer als Debugger genommen. Durch einen Zufall las ich in den JLink-Manuals dass die offensichtlich mit JLink funktionieren ! Gut O.K. Roger wird jetzt sagen das sind Linux-Geschichten und die laufen ja glaube ich bei ihm nicht. Es gibt aber die Möglichkeit Cygwin zu installieren und die beinhalten diese Tools die unter WinXX laufen ! Halt keine Panik davor - Diese Tools werden per Setup downgeloaded und installiert und hier gibt es kein Wenn und Aber wie bei Eclipse - installieren - läuft ! Wie ich meine sind diese Tools sehr viel transparenter als Eclipse. Ich habe es geschafft ddd und insight zwar mit den JLink zu connecten aber hier sind die Einstellungen nicht korrekt. Aber der ddd ist sehr angenehm im Handling und jeder sollte mal sich überlegen ob sich diese enorme Mühe lohnt das ganze unter Eclipse zum laufen zu bekommen. Gut bei dem wo es läuft ist es ja schön - aber die, die dran scheitern sollten es vielleicht mal mit Cygwin probieren. Nähere Auskünfte dazu kann ich gerne geben nur bei den Einstellungen kann ich nichts sagen. Gruß Uli
Datum:
yello8247 schrieb: > (Bei crossworks muss ich ja auch nicht > noch > auf consolenebene rumwursteln.) Das soll doch nur ein Test sein, ob OpenOCD überhaupt läuft. Wenn du OpenOCD in der Konsole am laufen hast, dann solltest du dich mittels Eclipse verbinden können, also mit der Debugkonfigartion von Markus seinem Beispielprojekt. Wenn das geht, dann kannst du versuchen von Eclipse aus das OpenOCD zu starten. Um zwei Mausklicks kommst du aber trotzdem nicht rum :-) Der erste startet OpenOCD, der zweite das Debuggen. Uli B. schrieb: > nur ich kenne mich halt zu wenig aus um > die Einstellungen richtig hinzubekommen Da liegt das Problem und nicht bei Eclipse. Einfach kopflos mal eben was machen klappt halt nicht. Man muß schon verstehen, was dahinter werkelt. Eclipse ist nicht eine alles umfassende rundum-sorglos Lösung. Es ist komplex zu konfigurieren, das stimmt. Dafür kann ich aber auch fast jede Toolchain daran korken. Wenn du Crossworks oder sonst eine All-In-One Lösung nimmst, die kann auch nur das eine. Eclipse nutze ich für AVR, ARM und SPARC. Ach ja... kleine PC-Programme entwickel ich auch damit. Und ich hab keinen Pfennig dazubezahlt ;-)
Datum:
Meines erachtens nach wissen die meisten leider nicht, welche Arbeit eine Toolchain abnimmt. Das mache ich keinem zum vorwurf auch nicht das man sag - hmm es läuft alles das reicht mir, aber der punkt ist schnell erreicht, wo alles zusammen kracht und die hürde die man anschließend nehmen muss ist schon sehr hoch ist um das Problem zu lösen. Das merke ich selbst derzeit an Linux - solange alles vernünftig läuft ist alles super aber kommt nur ein kleiner fehler - dann steht man wie ein Ochs vorm Berg davor. Das gleiche gilt auch für den Umstieg vom AVR zum STM32F10X. Eclipse kann viel - nur vergessen die Leute meist (und oft auch wegen unwissenheit) wieviel Arbeit dahinter steckt, damit Eclipse so läuift wie man es sich vorgestellt hat.
Datum:
Björn Cassens schrieb: > Eclipse kann viel - nur vergessen die Leute meist (und oft auch wegen > unwissenheit) wieviel Arbeit dahinter steckt, damit Eclipse so läuift > wie man es sich vorgestellt hat. Nun das verstehe ich schon (Mittlerweile)! Für mich heisst die Lösung für Zuhause Crossworks ! 150 $ sind für Private zwecke noch verkraftbar. Aber meine Sturrheit lässt es nicht zu die ganze Geschichte nicht doch noch unter Eclipse selber zum laufen zu bringen. Es ist mir auch bewusst dass dies gerade als Greenhorn nicht ein einfaches unterfangen ist. Vielen Dank an all Eure intressanten Beiträge und verzeiht meiner zwischendurch etwas polemischen Sprüchen. Gruss Roger
Datum:
Mal eine Frage an die Leute die es nicht hinbekommen. Habt Ihr beruflich mit solchen Dingen zu tun oder ist das nur Hobby? Mit runterladen und installieren brauche ich 15 Minuten unter Windows oder Linux und das ganze läuft. Allerdings ohne Yagarto und mit ein wenig Erfahrung im Umgang mit Eclipse. Das hat nichts mit wochenlangem rumtüfteln zu tun! Zu dem wie, das habe ich hier weiter oben ja schon geschrieben... Zu Eclipse. Die sind quasi Marktführer ohne für Ihr Produkt bezahlt zu werden. Es gibt keinen Editor der so bequem und komfortabel ist. Man kann alle möglichen Tool-chains einbinden und so den gleichen Editor für alle möglichen Plattformen benutzen. Nur das Visual Studio von MS kommt da mit. Das allerdings nicht für so viele Plattformen und auch nicht kostenlos.
Datum:
Also ich habe beruflich wie privat viel mit Eclipse zu tun. Ich kann sagen, wenns einmal läuft ist das Tool hervorragend. Allerdings muss ich trozt mehrjähriger Eclipse Erfahrung immer wieder auf Hilfe von Kollegen oder Foren zurückgreifen. Das Hauptproblem von Eclipse liegt in meinen Augen darin, daß die Konfiguration einfach unkomfortabel und intransparent ist. Dazu kommen dann die unterschiedlichen Namen der Eclipse Versionen (Ganymede, Europe, Helios, ....), das Installieren von PlugIns und das erstmal gewöhnungsbedürftige Workspacekonzept. Und was ich bis heute nicht raffe: Wieso bekommt man das Eclipse auf einmal innerhalb von 15 min korrekt konfiguriert, wo man davor über eine Woche vergebens rumgedoktort hat? Wie gesagt, ein super Tool das (fast) alles kann, aber extrem zickig. Fast wie ne Frau ;-)
Datum:
Daniel R. schrieb: > Mit runterladen und installieren brauche ich 15 Minuten unter Windows > > oder Linux und das ganze läuft. Achtung nicht falsch verstehen. Das runterladen und installieren ist ja auch nicht das Problem. Die Einstellungen sind die Knacknüsse ! Das hat vielleicht auch nicht direkt was mit Eclipse zu tun. (OpenOCD Make usw.) Man verwendet dann halt als Ueberbegriff Eclipse. Gruss Yello8247 PS: Ich habe Beruflich wie auch privat damit zu tun. Wenn man aber in der Firma mit professionellen Tools (KEIL ... usw) zu tun hat, braucht man sich nicht um details wie make usw. zu kümmern. Von da her fehlt einem dann das nötige KnowHow !
Datum:
900ss D. schrieb: > Kannst du denn OpenOCD in der Windows Console (Cmd) starten? > > Das würde ich erstmal versuchen. Wenn das geht, dann sollte es auch von > > Eclipse aus gehen. Hallo 900ss D Habs nun versucht. Doch leider genau die gleiche Fehlermeldung ! c:\WinARM\OpenOCDTest>openocd -f jtagkey2.cfg -f stm32.cfg Open On-Chip Debugger 0.4.0 (2010-02-22-19:05) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html 1000 kHz jtag_nsrst_delay: 100 jtag_ntrst_delay: 100 Error: unable to open ftdi device: device not found Command handler execution failed Was mach ich da falsch ? Die .cfg dateien für JTAGKey2 sowie STM32 sind ja bereits bei OpenOCD vorhanden. Auch gemäss Anleitung von OpenOCD sollte es doch funktionieren (openocd -f jtagkey2.cfg -f stm32.cfg) Gruss Yello8247 PS: oder muss ich da noch in den .cfg files änderungen vornehmen ?
Datum:
> Error: unable to open ftdi device: device not found > Command handler execution failed > > Was mach ich da falsch ? Die .cfg dateien für JTAGKey2 sowie STM32 > sind ja bereits bei OpenOCD vorhanden. OpenOCD muss für den passenden Treiber kompiliert sein. Überprüft? Vgl. auch Beiträge weiter oben im Thread, STM32-Artikel und http://www.freddiechopin.info/index.php/en Eintrag vom Tuesday, 23 February 2010 18:46
Datum:
Martin Thomas schrieb: > OpenOCD muss für den passenden Treiber kompiliert sein. Hmmm ?????????? kompiliert ??????? Da blick ich nun devinitiv nicht durch ! Ich benutze Windows und kein Linux. Ich dachte da muss ich eh schon eine kompilierte Version für Windows herunterladen ? Bei Linux gibt es die Binary-Versionen. Oder hab ich da was kommplett übersehen ? Gruss Yello8247
Datum:
Martin Thomas schrieb: > Vgl. > auch Beiträge weiter oben im Thread, STM32-Artikel Hallo Martin Hier steht aber dass die Windows Version schon kompiliert ist !! * OpenOCD: Kompilierte Version für Windows: http://www.freddiechopin.info/ >> Download >> Software >> OpenOCD installieren nach "C:\WinARM\OpenOCD_0_4_0" ist auch auf der Seite Yagarto.de beschrieben. Was meinst Du ?? Gruss Yello8247
Datum:
Ich kann auch nicht kompilieren. Warum man das sollte verstehe ich auch nicht. Denn mit Crossworks geht das ganze doch, ohne neu kompilieren! Somit: Es müssen irgend welche andere Kommandozeilenpparameter sein / bzw. in den Dateien steht was anderes drin.
Datum:
Martin Thomas schrieb: > OpenOCD muss für den passenden Treiber kompiliert sein. Überprüft? Hallo Martin So langsam habe ich folgende Befürchtung: Auf der Yagarto Homepage kann man folgendes lesen: An OpenOCD installer based on libftdi can be found at the page from Freddie Chopin. Genau auf dieser homepage habe ich den OpenOCD Installer für Windows heruntergeladen.(Ist ja auch der einzig verfügbare !!!) Kann nun sein, dass diese OpenOCD Version nur mit libftdi läuft und somit meinen JTAGKey2 von Amontec nicht unterstützt ! Ich musste ja für Crossworks auch die neuesten Treiber von Amontec (Die leider nur in Foren zu finden sind) runterladen. Vielleicht hast Du recht das leider diese compilierte Version nicht mit meinen Treibern läuft ! Scheisse. (Wobei seltsamerweise ist ja eine JTAGKey2.cfg Datei vorhanden?) Crossworks hat natürlich versteckt einen selbst compilierten OpenOCD. Gruss Yello8247
Datum:
Ich glaube nicht, dass Crossworks OpenOCD benutzt. Die haben ihren eigenen Debugger und eine Schnittstelle für FTDI-basierte JTAG-Adapter: http://www.rowley.co.uk/documentation/arm_1_7/inde... Mit deiner Befürchtung hast du recht, das hat Martin auch mit "OpenOCD muss für den passenden Treiber kompiliert sein" gemeint.
Datum:
Flo G. schrieb: > Mit deiner Befürchtung hast du recht, das hat Martin auch mit "OpenOCD > muss für den passenden Treiber kompiliert sein" gemeint. Na dann, muss ich wohl zähneknirschend mein Vorhaben begraben !!! 1. Linux lässt sich nicht auf meinem Rechner installieren !! (Damit hätte ich die chance eine compilierte version für JTAGKey2 zu generieren) 2. Einen J-Link werde ich mir nicht extra dazukaufen, nur um die OpenOCD für Windows zum laufen zu bringen. Schade aber nun kann ich mich voll auf Crossworks konzentrieren. Gruss Yello8247 PS: jetzt ist mir auch klar warum das Tutorial auf der YAGARTO-Homepage für einen Segger J-Link (Eigener GDB-Server) geschrieben ist. Da gibts die wenigsten Probleme !! Alle ander können sich die Zähne ausbeissen !!! Super
Datum:
yello8247 schrieb: > 1. Linux lässt sich nicht auf meinem Rechner installieren !! > (Damit hätte ich die chance eine compilierte version für JTAGKey2 zu > generieren) Man kann OpenOCD mit dem FTDI-Treiber auch unter Windows kompilieren: http://www.openpilot.org/OpenOCD_Compile_on_x86 oder http://www.openpilot.org/OpenOCD_Compile_on_x64 Habe ich selber aber nie ausprobiert. Grüsse Flo
Datum:
yello8247 schrieb: > PS: oder muss ich da noch in den .cfg files änderungen vornehmen ? Hi Yello, ich kann die zu OpenOCD leider keine weiteren konkreten Tips geben, da ich den nach erfolgreicher Installation vor langer Zeit dann doch nicht weiter nutzen wollte. Aktuelle Versionen kenne ich nicht. Ich habe mir den JLink gekauft. Der tut es ohne großen Aufwand. Einfach so :-) Thomas hat sich ja schon eingeklingt. Der wird dir sehr viel mehr dazu sagen können.
Datum:
Flo G schrieb: > Man kann OpenOCD mit dem FTDI-Treiber auch unter Windows kompilieren: Vielen Dank Flo ! Ich werde es versuchen
Datum:
Flo G schrieb: > Man kann OpenOCD mit dem FTDI-Treiber auch unter Windows kompilieren: > > http://www.openpilot.org/OpenOCD_Compile_on_x86 oder > http://www.openpilot.org/OpenOCD_Compile_on_x64 Hallo Zusammen ich will noch nicht aufgeben und habe mir mal den Cygwin heruntergeladen und installiert. Nun bin ich ein bisschen unsicher wie weiter ? Gemäss Tutorial openpilot: INF Files The driver from the FTDI site has the USB identifiers set for the FTDI devices and not those from Olimex, so that these drives are recognised as the correct drivers for the Olimex devices you need to change a couple of areas in the .inf files. If you wish you can download the already changed versions of the INF files here, these should work with any version of the drivers from FTDI. There are also two two more of the files in this archive, these will not be used. Diese Aenderungen der .inf files betreffen ja wiederum den Olimex und nicht den JTAGKey2 ! Oder geht es hier nur um den Treiber für Windows den ich ja eh von Amontec schon installiert habe (Mit .inf files von Amontec) ? kann ich somit diesen Punkt edit INF Files überspringen, und direkt mit Build OpenOCD weiterfahren ? Gruss Yello8247 (Roger)
Datum:
Ja genau, den Schritt brauchst du dann nicht. Versuch mal OpenOCD zu kompilieren (die aktuelle stabile Version 0.4, nicht die aus der Anleitung). Grüsse Flo
Datum:
Angehängte Dateien:Flo G. schrieb: > Versuch mal OpenOCD zu kompilieren (die aktuelle stabile Version 0.4, > nicht die aus der Anleitung). Hab ich schon versucht hat aber nicht Funktioniert ! Absolute Funkstille. Bin dann auf diesen Link gestossen. (Etwas aktueller beschrieben) http://piconomic.co.za/fwlib/index.html Aber auch da bekomme ich folgende Fehlermeldung: configure: error: unrecognized option: -mno-cygwin Siehe auch PDF-Anhang Gruss Yello8247
Datum:
@Yello8247 Wenn Du mal auf deinen Amontec ein paar Tage verzichten kannst, dann könnte ich das mal testen. Schreibe mir dann ein PN.
Datum:
Sind das wirklich Anführungszeichen auf dem Screenshot?
Datum:
Flo G schrieb: > Sind das wirklich Anführungszeichen auf dem Screenshot? Scheisse !! Natürlich nicht ! Danke für den Hinweis. Nun geht was. Ob es Funktioniert muss ich noch testen. Ergebnisse folgen. Auch Du hättest mindestens ein Bierchen verdient. Aber warscheinlich wohnst Du auch wie Markus 1000km entfernt ? Gruss Yello8247
Datum:
>Halten wir fest: >Geht nicht mit Eclipse/OpenOCD/Yagarto: >- Amontec JTAG Key Woher kommt diese Information? Da betr. OpenOCD und JTAGkey(2) scheinbar etwas Verwirrrung herrscht: Es gibt im Grund zwei "Treiberfamilien" für die FTDI-ICs wie sie z.B. in den JTAGkeys stecken. (1) Treiber des Chipherstellers (FTDI). Hersteller von Adaptern auf FT2232*-Basis wie z.B. Amontec oder Olimex nehmen diese Treiber, änderen USB-VID, PID und einige Zeichenketten in der/den INF-Datei(en), lassen (hoffentlich) von MS neu signieren und stellen das dann als Treiberpaket bereit. Treiber sind closed source, daher darf OpenOCD, das unter GPL Lizenz steht, nicht als Binärversion (="EXE" bei MS Windows) mit integrierter Unterstützung für die FTDI-Treiber weitergegeben werden. Man darf sich aber natürlich aus dem OpenOCD Quellcode eine Version mit Herstellertreibersupport zusammenbauen. Das mache ich hier und daher sind die Informationen im folgenden Punkt 2 nicht aus eigenen Versuchen. (2) Treiber libusb(-w32) mit libftdi: Lizenz dieser Treiber ist kompatibel zur Lizenz von OpenOCD und damit darf man Binärfassungen von OpenOCD dafür weitergeben, wie es z.B. F. Chopin tut. Man bekommt also die eine vorkompilierte Version, muss dann aber auch dafür sorgen, dass libftdi/libusb-Win32 als Treiber für den JTAG-Adapter in der Gerätesteuerung verwendet wird und nicht der von FTDI. Dann kann es aber sein, dass andere Programme (z.B. Crossworks) nicht mehr mit dem Adapter "sprechen" können, da diese den Herstellertreiber erwarten. Abhilfe aus dieser Endanwenderunfreundlichkeit dürfte ein Open-Source Filter schaffen, der zwischen OpenOCD und dem FTDI-Herstellertreiber liegt. Dann kann der FTDI-Treiber installiert bleiben und auch eine OpenOCD-Binärfassung dafür weitergeben werden. Sowas ist wenn richtig erinnert auch Plan bei libftdi und/oder libusb, kenne aber den allerneusten Stand nicht.
Datum:
Hallo Zusammen Nun das kompilieren des Openocd für ftd2xx Treiber hab ich nun hingekriegt. Doch nun habe ich andere Fehlermeldungen. Mit Eclipse: Open On-Chip Debugger 0.4.0 (2011-04-30-19:26) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html 1000 kHz jtag_nsrst_delay: 100 jtag_ntrst_delay: 100 Warn : Unable to open FTDI Device tried: 'Amontec JTAGkey' and 'Amontec JTAGkey A' Error: unable to open ftdi device: 2 Error: ListDevices: 2 Error: 0: "Amontec JTAGkey-2P A" Error: 1: "Amontec JTAGkey-2P B" Command handler execution failed Ohne Eclipse Openocd mit cmd von Windows: gleiche Fehlermeldung Gruss Yello8247
Datum:
mthomas schrieb: > (2) Treiber libusb(-w32) mit libftdi: Lizenz dieser Treiber ist > kompatibel zur Lizenz von OpenOCD und damit darf man Binärfassungen von > OpenOCD dafür weitergeben, wie es z.B. F. Chopin tut. Man bekommt also > die eine vorkompilierte Version, muss dann aber auch dafür sorgen, dass > libftdi/libusb-Win32 als Treiber für den JTAG-Adapter in der > Gerätesteuerung verwendet wird und nicht der von FTDI. Dann kann es aber > sein, dass andere Programme (z.B. Crossworks) nicht mehr mit dem Adapter > "sprechen" können, da diese den Herstellertreiber erwarten. Klingt einleuchtend ! Ich werde dies gleich versuchen. Danke Deiner Info Gruss Yello8247
Datum:
Aus der Hüfte geschossen (Nach kurzem googeln): Versuch mal jtagkey2.cfg statt jtagkey.cfg. Eventuell könnte es auch Probleme geben wenn du beide Treiber installiert hast (FT2xx und libftdi). Grüsse Flo
Datum:
Flo G schrieb: > Aus der Hüfte geschossen (Nach kurzem googeln): Versuch mal jtagkey2.cfg > statt jtagkey.cfg. Also eher umgekehrt ! ich habe bis jetzt immer mit jtagkey2.cfg versuche gemacht. Aber es geht auch mit jtagkey.cfg nicht ! Also ich denke die Sache ist Hoffnungslos. Ich habe in der Zwischenzeit auch die Idee von mthomas verfolgt. Leider ohne Erfolg ! Sobald ich die treiber von OpenOCD installiert habe. wird das ftdi device wieder nicht mehr erkannt ! Ich glaube es geht nur wenn man OpenOCD neu compiliert und zwar mit den ftdi Treiber von Amontec ! Leider betreffen die Tutorials nur das compilieren mit den Treibern libusb(-w32)/libftdi: Diese aber können leider mein JTAGKey2 nicht erkennen. Gruss Yello8247 PS: Vielleicht findet sich ja noch ein Tutorial welche das compilieren resp. die nötigen Anpassungen für JTAGkey2 beschreibt. Es kann doch nicht sein das ich der einzige bin der diesen JTAG in Verbindung mit OpenOCD verwenden will.
Datum:
Ich habe mir, weil es vor ein paar Jahren auch nicht klappen wollte, einen zweiten angeschafft. Vielleicht musst Du auch in den sauren Apfel beißen und entweder einen Olimex oder J-LINK EDU kaufen. Beide kosten etwa gleich viel, wobei der J-Link nur privat verwendet werden darf und der Olimex einen zusätzlichen COM-Port hat. (Ich habe beide und mit beiden gehts)
Datum:
Es sind nur zwei Konfigurationsoptionen zu ändern, um OpenOCD für FTDI-Treiber zu bauen. Mein "Skript" für Cygwin+mingw-Toolchain:
#!/bin/bash ./bootstrap ./configure --enable-parport --enable-parport_giveio --disable-parport-ppdev --enable-ft2232_ftd2xx --with-ftd2xx-win32-zipdir=/home/mthomas/src_ftd2xx/ --enable-maintainer-mode --enable-static CC="gcc -mno-cygwin" make strip src/openocd.exe |
betr. "zipdir" (benötigt wird zum Bau nur die .h- und einer der .lib-Dateien, zur Laufzeit dann die ftd2xx.dll):
mthomas@dontcare ~/src_ftd2xx $ pwd /home/mthomas/src_ftd2xx mthomas@dontcare ~/src_ftd2xx $ ls CDM 2 04 16 Release Info.doc ftd2xx.h ftdibus.inf__ i386 amd64 ftdibus.cat ftdiport.cat ftd2xx.dll ftdibus.inf ftdiport.inf |
> Es kann doch nicht sein das ich der einzige bin der diesen JTAG in > Verbindung mit OpenOCD verwenden will. Ist auch nicht so. Habe diesen JTAGkey2-Adapter und den Vorgänger auch mit OpenOCD im Einsatz, allerdings, wie oben geschrieben, mit den FTDI/Amontec-Treibern und selbstkompiliertem OpenOCD (das dank Lizenzkettenrasseln und Drohung mit GNU-Rechtsabteilung in der OpenOCD-dev-Mailingliste nicht mehr von mir zum Download bereitgestellt wird).
Datum:
@yello8247 Schreibe mir ein PN, ich denke ich kann weiterhelfen. MT hat mich gerade auf eine Idee gebracht, aber Posten darf ich es aus GNU rechtlichen Gründen nicht.
Datum:
Martin Thomas schrieb: > Es sind nur zwei Konfigurationsoptionen zu ändern, um OpenOCD für > FTDI-Treiber zu bauen. Mein "Skript" für Cygwin+mingw-Toolchain: Nun Blick ich nicht mehr durch ! Genau das habe ich ja durchgespielt mit dem Resultate: Open On-Chip Debugger 0.4.0 (2011-04-30-19:26) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html 1000 kHz jtag_nsrst_delay: 100 jtag_ntrst_delay: 100 Warn : Unable to open FTDI Device tried: 'Amontec JTAGkey' and 'Amontec JTAGkey A' Error: unable to open ftdi device: 2 Error: ListDevices: 2 Error: 0: "Amontec JTAGkey-2P A" Error: 1: "Amontec JTAGkey-2P B" Command handler execution failed Dann der hinweis von Dir: Man bekommt also die eine vorkompilierte Version, muss dann aber auch dafür sorgen, dass libftdi/libusb-Win32 als Treiber für den JTAG-Adapter in der Gerätesteuerung verwendet wird und nicht der von FTDI. Dies hat dann gar nicht Funktioniert (Ftdi device wird nicht erkannt) !!! Muss ich nun doch den in den Tutorials angegebenen zu modifizierenden Treiber ($ unzip CDM20602.zip -d ftd2xx) installieren ????? Im Forum SparkFun aussert sich Amontec auch nur dahingehen dass man den neuesten Treiber von Amontec und zusätzlich noch Openocd für windows kompilieren muss. Trotz diesen Angaben hat es aber der Typ vom Forum auch nicht zum laufen gebracht !! Danach war Funkstille. Link: http://forum.sparkfun.com/viewtopic.php?f=18&t=25328 Gruss Yello8247
Datum:
yello8247 schrieb: > Martin Thomas schrieb: >> Es sind nur zwei Konfigurationsoptionen zu ändern, um OpenOCD für >> FTDI-Treiber zu bauen. Mein "Skript" für Cygwin+mingw-Toolchain: > > Nun Blick ich nicht mehr durch ! Das heißt aber jetzt hoffentlich nicht, dass alles nochmal von vorne losgeht. > Genau das habe ich ja durchgespielt mit dem Resultate: > Open On-Chip Debugger 0.4.0 (2011-04-30-19:26) > Licensed under GNU GPL v2 > For bug reports, read > http://openocd.berlios.de/doc/doxygen/bugs.html > 1000 kHz > jtag_nsrst_delay: 100 > jtag_ntrst_delay: 100 > Warn : Unable to open FTDI Device tried: 'Amontec JTAGkey' and 'Amontec > JTAGkey A' Mit welchen Parametern aufgerufen? Für den JTAGkey2 sollte da stehen:
... Warn : Unable to open FTDI Device tried: 'Amontec JTAGkey-2' and 'Amontec JTAGkey-2 A' ... |
Hinweis von Flo G./20:51 betr. jtagkey2.cfg wirklich beachtet? > > Error: unable to open ftdi device: 2 > Error: ListDevices: 2 > > Error: 0: "Amontec JTAGkey-2P A" > Error: 1: "Amontec JTAGkey-2P B" > Command handler execution failed Scheinbar ein JTAGkey2P, dafür gibt es eine jtagkey2p.cfg (unterscheiden sich nur im "descriptor string", habe den *P zwar auch hier, aber noch nicht verwendet, bisher nur JTAGkey"1" und JTAGkey2 genutzt). der Reihe nach: - OpenOCD ist wie von mir oben beschrieben für die ftd2xx konfiguriert und gebaut? - Treiber von Amontec/FTDI ist installiert? Im Gerätemanager nachgeschaut? - Wie ist die Ausgabe nach folgendem Aufrufen?
openocd.exe -d3 -f interface/jtagkey2.cfg -f target/stm32.cfg -c init |
bzw.
openocd.exe -d3 -f interface/jtagkey2p.cfg -f target/stm32.cfg -c init |
> Dann der hinweis von Dir: > Man bekommt also die eine vorkompilierte Version, muss dann aber auch > dafür sorgen, dass libftdi/libusb-Win32 als Treiber für den JTAG-Adapter > in der Gerätesteuerung verwendet wird und nicht der von FTDI. > > Dies hat dann gar nicht Funktioniert (Ftdi device wird nicht erkannt) > !!! Welche Parameter wurden configure beim Bau von OpenOCD mitgegeben? Im Zweifel die Augabe von configure in einen Datei umleiten und diese an eine Mitteilung hier anhängen. > Muss ich nun doch den in den Tutorials angegebenen zu modifizierenden > Treiber ($ unzip CDM20602.zip -d ftd2xx) installieren ????? Wenn OpenOCD mit --enable-ft2232_ftd2xx konfiguriert wurde, kann der Treiber von Amontec installiert werden (ist bis auf PID und Strings in der INF-Datei identisch mit dem Treiber von FTDI). Hiermit ist gemeint: der Treiber für MS Windows, der dann in der Gerätesteuerung auch angezeigt wird. Modifikation an den INF-Dateien ist nicht wirklich erforderlich. Amontec-Treiber basiert zwar auf einer etwas älteren Version des FTDI-Treibers, reicht aber. Verwende die hier wg. WHQL-Signatur auch. Wenn es sein muss, kann man später dort noch eine neue Baustelle einrichten. Betr. "unzip": in dem zip-Archiv sind die Dateien zum Bau von OpenOCD für ftd2xx enthalten (.h .lib), die lib-Datei enthält die stub-Funktionen über die zur Laufzeit die Funktionen der ft2xx.dll aufgerufen werden, die wiederum mit dem FTDI-Treiber "reden". > Im Forum SparkFun aussert sich Amontec auch nur dahingehen dass man den > neuesten Treiber von Amontec und zusätzlich noch Openocd für windows > kompilieren muss. Wenn, dann auch vollständig: Da steht 'OpenOCD für Windows _mit ftd2xx-Support_' kompilieren. > Trotz diesen Angaben hat es aber der Typ vom Forum auch nicht zum laufen > gebracht !! Woraus wird das geschlossen? >Danach war Funkstille. Wahrscheinlich, weil keine Fragen mehr offen sind. > Link: > http://forum.sparkfun.com/viewtopic.php?f=18&t=25328 Der darin angegeben Link http://piconomic.co.za/fwlib/_b_u_i_l_d___o_p_e_n_o_c_d.html gibt doch gute Information. Welche Fragen bleiben offen?
Datum:
Martin Thomas schrieb: > Der darin angegeben Link > http://piconomic.co.za/fwlib/_b_u_i_l_d___o_p_e_n_o_c_d.html gibt doch > gute Information. Welche Fragen bleiben offen? Tja genau nach diesm Link bin ich ja auch vorgegeangen (siehe oben im Threat). Die parameter zum aufruf der ./configure entsprechen ja auch genau Deinen Angaben. Es hat ja auch was verändert: Ich bekomme nicht mehr die Fehlermeldung Ftdi device not found !!! Sondern eben wie oben beschrieben. Betreffend .cfg File bin ich mir 100% sicher das ich jtagkey2.cfg benutzt habe (Kann man auch in einen meiner Threat mit PDF sehen) Aber eine jtagkey2p.cfg habe ich nicht gefunden ! Im verzeichnis von OpenOCD stehen nur die Jtagkey.cfg Jtagkey2.cfg und jtagkey-tiny.cfg Dateien. Der unterschied P ist ja auch nur das dass JTAGKey2p mehr Strom liefern kann als das JTAGkey2. Gruss Yello8247
Datum:
Nachtrag: Sorry vom vielen ausprobieren hatte ich die falsche Fehlermeldung gepostet (für jtagkey.cfg) bei einstellung jtagkey2.cfg bekommme ich folgende Fehlermeldung: Open On-Chip Debugger 0.4.0 (2011-04-30-19:26) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html 1000 kHz jtag_nsrst_delay: 100 jtag_ntrst_delay: 100 Warn : Unable to open FTDI Device tried: 'Amontec JTAGkey-2' and 'Amontec JTAGkey-2 A' Error: unable to open ftdi device: 2 Command handler execution failed Gruss Yello8247
Datum:
yello8247 schrieb: >... >Aber eine jtagkey2p.cfg habe ich nicht gefunden ! >Im verzeichnis von OpenOCD stehen nur die Jtagkey.cfg Jtagkey2.cfg und >jtagkey-tiny.cfg Dateien. Es gibt eine jtagkey2p.cfg im OpenOCD-git. >... > Der unterschied P ist ja auch nur das dass JTAGKey2p mehr Strom liefern > kann als das JTAGkey2. (a) nicht "mehr", 2P bietet Möglichkeit zur Stromversorgung, 2ohneP nicht (b) nicht nur "der unterscheid", es gibt zumindest einen weiteren bei der Device Descriptor Zeichenkette, die, wenn angegeben, auch von OpenOCD bzw. ftd2xx.dll verwendet wird, vgl. Funktion ft2232_init_ftd2xx, in src/jtag/drivers/ft2232.c. Problem ist mglw. einfach die Abweichung zwischen Angabe in .cfg-Datei und Rückgabe aus der Hardware. In einer Kopie von jtagkey2.cfg ein P an die Descriptor-Zeichenkette anhängen und damit testen. Statt:
ft2232_device_desc "Amontec JTAGkey-2" |
dies:
ft2232_device_desc "Amontec JTAGkey-2P" |
Datum:
Martin Thomas schrieb: > In einer Kopie von jtagkey2.cfg ein P an die > Descriptor-Zeichenkette anhängen und damit testen Hmm Sorry so langsam komme ich mir vor wie ein vollidiot ! Wie kann ich diese .cfg Datei editieren ? Mit einem Text editor entsteht eine .txt Datei sobald ich speichere. Bei Crossworks entsteht eine Datei Und mit Eclipse öffnet es mir automatisch den .txt editor !!!! Das .cfg file selber habe ich im netzt nicht gefunden. Nur immer die Angaben was man editieren soll. Sorry meiner doofen Grundlagenfragen. Gruss Yello8247
Datum:
yello8247 schrieb: > Wie kann ich diese .cfg Datei editieren ? Sorry hat sich erledigt ! Dateierweiterung einblenden und es funzt ! Gruss Yello8247
Datum:
Martin Thomas schrieb: > einfach die Abweichung zwischen Angabe in .cfg-Datei und Rückgabe aus > der Hardware. In einer Kopie von jtagkey2.cfg ein P an die > Descriptor-Zeichenkette anhängen und damit testen. Statt:ft2232_device_desc "Amontec JTAGkey-2" > dies:ft2232_device_desc "Amontec JTAGkey-2P" Hmm zum verrückt werden !!! Jetzt bekomme ich folgende Fehlermeldung: Open On-Chip Debugger 0.4.0 (2011-04-30-19:26) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html Runtime error, file ".\prj\jtagkey2P.cfg", line 1: invalid command name "#" Gruss Yello8247
Datum:
Angehängte Dateien:>... >... invalid command name "#" Wenn so etwas erscheint, schaut man sich die Datei nochmal genauer an, im Zweifel mit einem hex-Viewer. Wahrscheinlich mit einem Texteditor hantiert, der mit den Unix-Zeilenendungen nicht zurecht kommt. Kopie jtagkey2p.cfg-Datei aus dem OpenOCD git im Anhang.
Datum:
Martin Thomas schrieb: > Kopie jtagkey2p.cfg-Datei aus dem OpenOCD git im Anhang. Vielen Dank für die Datei. Hmmm Nun bekomme ich wieder die selbe Fehlermeldung wie mit der jtagkey2.cfg Datei: Open On-Chip Debugger 0.4.0 (2011-04-30-19:26) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html 1000 kHz jtag_nsrst_delay: 100 jtag_ntrst_delay: 100 Warn : Unable to open FTDI Device tried: 'Amontec JTAGkey-2P' and 'Amontec JTAGkey-2P A' Error: unable to open ftdi device: 2 Command handler execution failed Ich versuche mal OpenOCD neu zu kompilieren. Vielleicht ist da was schief gelaufen ?? Gruss Yello8247
Datum:
Geil es klappt !!!!!!!! Ich hatte noch die alten Treiber bei Windows installiert ! Open On-Chip Debugger 0.4.0 (2011-04-30-19:26) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html 1000 kHz jtag_nsrst_delay: 100 jtag_ntrst_delay: 100 Info : device: 6 "2232H" Info : deviceID: 67358712 Info : SerialNumber: 556RX0PIA Info : Description: Amontec JTAGkey-2P A Info : max TCK change to: 30000 kHz Info : clock speed 1000 kHz Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3) Info : JTAG tap: stm32.bs tap/device found: 0x06414041 (mfg: 0x020, part: 0x6414, ver: 0x0) Info : stm32.cpu: hardware has 6 breakpoints, 4 watchpoints Vielen Dank für Die Unterstützung. Gruss Yello8247
Datum:
Martin Thomas schrieb: >>... >>... invalid command name "#" > Wenn so etwas erscheint, schaut man sich die Datei nochmal genauer an, > im Zweifel mit einem hex-Viewer. Wahrscheinlich mit einem Texteditor > hantiert, der mit den Unix-Zeilenendungen nicht zurecht kommt. Fast. Das ist die UTF-8 Byte-Order Mark, von Editoren wie notepad eingefügt, um anzuzeigen, dass es eine UTF-8 Datei ist. Die wird man los z.B. durch bearbeiten mit Notepad++, da kann man unter "Format" dann "UTF-8 ohne BOM" auswählen, und dann speichern.
Datum:
NPP (Notepad ++) hätte ich auch empfohlen: http://notepad-plus-plus.org/release/5.9 Das trägt sich in das Explorer-Menü ein und man kann mit Rechtsklick jede Datei öffnen und Editieren.
Datum:
Markus Müller schrieb: > NPP (Notepad ++) hätte ich auch empfohlen: Cool ! Danke Gruss Yello8247
Datum:
Hallo Zusammen Ich habe in der Zwischenzeit noch herausgefunden das es gar nicht nötig gewesen wäre openocd neu zu kompilieren !!! Das ganze läuft jetzt mit der richtigen .cfg Datei auch mit der .exe von F. Chopin. Gruss und guten Wochenstart Yello8247
Datum:
Hallo Zusammen Im Moment blicke ich nicht mehr Durch ! In der Firma will die Sache noch nicht laufen. Ich werde nochmals minutiös testen mit welcher openocd.exe das jtagkey2p.cfg funktioniert. Gruss Yello8247
Datum:
Hallo Markus Ich habe festgestellt, dass bei Deinem aktuelles Projekt (BlinkLED) beim Aufstarten von Eclipse keine Projekteinstellungen mehr vorhanden sind (Eclipse bleibt leer) ! Was hat sich da geändert. Bei Deiner ersten Version die Du ins Forum stelltest war dies nicht so ! Gruss Yello8247
Datum:
Ich habe diese Batch-Datei ausgeführt, die alle temporären Dateien löscht, damit wurde das ZIP um einiges kleiner. Kannst du ein Screenshot machen wie das aussieht?
Datum:
Angehängte Dateien:Markus Müller schrieb: > Ich habe diese Batch-Datei ausgeführt, die alle temporären Dateien > löscht, damit wurde das ZIP um einiges kleiner. > Kannst du ein Screenshot machen wie das aussieht? Hier das Screenshot PS:Wenn ich das alte Projekt öffne ist das Projekt sowie auch die Einstellung vorhanden. Gruss Yello8247
Datum:
Ich kümmere mich heute Abend darum, ich hab nur darauf gewartet dass ich einen Grund habe die neue FW-Lib ein zu binden, das mache ich gleich mit.
Datum:
Angehängte Dateien:Im Anhang das geänderte Demo, jetzt auch mit FW-Lib 3.5.0 Irgendwie kann ich das nicht in den Artikel laden: http://www.mikrocontroller.net/articles/Datei:Proj_Demo.zip @yello8247: Kannst Du das in den Link hochladen?
Datum:
Markus Müller schrieb: > @yello8247: Kannst Du das in den Link hochladen? Ich werde es versuchen, nachdem ich es getestet habe. Auch die entsprechende Openocd für JTAG2P werde ich Dir noch bereitstellen. Gruss Yello8247
Datum:
Hallo ! Kurze Zwischenfrage zum Cortex M3... Ich habe wie etwas weiter oben beschrieben das Olimex-Board und den Jlink-EDU Adapter. Gibt es die Möglichkeit auch Trockenschwimm-Übungen d.h. quasi Simulator-mäßig ohne(!) angeschloßener Hardware Programme zu debuggen ? Gruß Uli
Datum:
Hallo Zusammen Ich habe es endlich geschafft !! Das Demo-Projekt von Markus läuft nun einwandfrei mit dem JTAGKey2P -Adapter und OpenOCD 0.4.0 (Neu Compiliert) Unter Eclipse kann ich nun auch den Code Debuggen. Allerdings erst nachdem ich realisiert hatte das man die CDT-Master 7.0.2 von YAGARTO unter Eclipse noch intallieren muss !! (GDB Hardware Debugging usw.) Aufgefallen ist mir noch folgendes: Unter der Anleitung YAGARTO wird beim C/C++ Build -Settings der GNU Elf Parser aktiviert und nicht wie im Demo-Projekt den Elf Parser. Welchen Unterschied haben diese Einstellungen ? Vielen Herzlichen Dank für die Unterstützung aller. Nun kommt noch die Knochenarbeit sich in die Umgebung von Eclipse einzuarbeiten. Diese scheint mir mit der enormen einstellvielfallt nicht so intuitive und einfach wie zum Bsp. bei Keil zu sein. Gruss Yello8247
Datum:
Hallo, habe nun auch einen Teil des Wochenendes damit verbracht Eclipse zum laufen zu bringen. Leider stecke ich nun schon seit Stunden fest und vielleicht kann mir ja einer von euch den entscheidenden Tipp geben. Als Adapter kommt ein J-Link zum einsatz. Folgende Schritte habe ich abgearbeitet: + Installation: Java Runtime + Installation: Eclipse IDE for C/C++ Developers, 87 MB nach C:/WinARM/Eclipse http://www.eclipse.org/downloads/ + Installation: CodeSourcery nach C:/WinARM/CodeSourcery ... http://www.codesourcery.com/sgpp/lite/arm/portal/p... + Installation: Segger J-Link Software + Installation: GNU ARM Plugin for Eclipse http://sourceforge.net/projects/gnuarmeclipse/ über Eclipse -> Help -> Install New Software + Installation: GDB Hardware Debugging http://www.eclipse.org/cdt/downloads.php über Eclipse -> Help -> Install New Software wie auf dem ersten Bild von http://deneb.homedns.org/things/?p=113 zu sehen. + Download des Beispielprojekts hier aus dem Thread. Das Beispielprojekt aus dem Artikel ( http://www.mikrocontroller.net/articles/STM32_Ecli... ) konnte ich mit Eclipse hingegen nicht öffnen. ============================================ Nun der Status: 1. Eclipse an sich läuft, das Beispielprojekt kann geöffnet werden. 2. Der Segger J-Link GDB Server kann von Eclipse aus geöffnet werden. Eine Verbindung mit dem Target kann hergestellt werden. Über die arm-none-eabi-gdb.exe von Codesourcery kann ich mittels Kommandozeile auf den GDB Server zugreifen ( http://www.punctr.com/joomla/index.php?option=com_... ) 3. Das Projekt lässt sich nicht kompilieren. Das liegt vermutlich daran dass er cs-make nicht kennt und wie in der Anleitung beschrieben ein gmake erwartet.
**** Build of configuration Default for project BlinkLED **** (Cannot run program "gmake": Launching failed) |
Ich habe kurzerhand in den Projekteinstellungen gmake in cs-make umbenannt mit dem Ergebnis dass nun eine andere Fehlermeldung auftritt mit der ich allerdings auch nicht mehr anfangen kann. Auch wenn ich in den Projekteinstellungen cs-make mit vollständigem Pfad angebe
**** Build of configuration Default for project BlinkLED **** cs-make all Das System kann den angegebenen Pfad nicht finden. arm-none-eabi-gcc (Sourcery G++ Lite 2011.03-42) 4.5.2 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. "-f" kann syntaktisch an dieser Stelle nicht verarbeitet werden. cs-make: *** [start] Error 255 |
Hier hänge ich nun schon seit einiger Zeit und weiß nicht wo ich noch rumschrauben soll. Hat von euch einer eine Idee was hier falsch laufen könnte bzw. was ich übersehen haben könnte?
Datum:
Hallo, erstell doch mal selber ein Projekt in Eclipse und wähle dabei G++ als Kompiler aus. Dann eine Datei erstellen, und zwar so in dieser Art: Beitrag "Re: STM32 Eclipse Entwicklungsumgebung" Zudem musst Du noch wie hier beschrieben: Beitrag "Re: STM32 Eclipse Entwicklungsumgebung" Das Linker Skript angeben und den Startup Code reinkopieren. Falls ich mal dazu komme mache ich dazu ein Tutorial mit screenshots. Viele Grüße Daniel
Datum:
Angehängte Dateien:Anbei das aktuelle Demo-Projekt. Mit dabei ist ein zweites OpenOCD, kompiliert für FTDI-Treiber. In dem Demo sind die Parameter für Segger J-Link, Olimex ARM-USB-OCD und Amontec Jtagkey. Die passenden DLL's für die FTDI-Version sind nicht im ZIP. USB Treiber auch nicht.
Datum:
Hat jemand einen Tipp wie ich einen Jtag von NGXtechnologies einbinden kann? Ich bin gerade im external tools und müsste jetzt wohl etwas installieren und dann dort die Verknüpfungen eingeben.
Datum:
Der Adapter basiert ebenfalls auf einem FTDIChip IC, IDs und Initialisierung dafür sind aber im aktuellen git von OpenOCD soweit gesehen nicht enthalten. Mit etwas C-Kenntnissen kann man die Initialisierung anderer Adpater als Vorlage nehmen und selbst erweitern (Datei ft2232.c im OpenOCD Quellcode). Erforderliche Daten finden sich in der Dokumentation im Abschnitt Crossworks-Konfiguration und im Schaltplan. Evtl. ist die GPIO-Belegung kompatibel zu einem anderen Adapter, dann kann man mittels OpenOCD-Anweisung ft2232_vid_pid die IDs "unterschieben" und per ft2232_layout verschiedene GPIO-Layouts durchprobieren.
Datum:
Kostenlos und Eclipse basierend : http://www.coocox.org/ Ich hab es erst seit ein paar Tagen in Benutzung, bin aber bisher begeistert.
Datum:
Danke, ich guck mir coocox mal an. Als ich das erste mal von Eclipse mit Open OCD gehört habe hatte ich irgenwie nicht verstanden, dass man sich alles selbst schreiben muss. o.O Es muss doch ein Tutorial geben wie und wo man die Daten dafür bekommt bzw. was man wie schreiben muss und warum. So dass man es in einer endlichen Zeit hinbekommt ein Programm zu schreiben. Naja da ich erstmal zu potte kommen möchte werde ich mir wohl doch den olimex Jtag bestellen. Hat jemand einen Plan ob es einen Unterschied gibt zwischen dem "ARM-USB-OCD" und dem "ARM-USB-OCD-H" außer dem geringen Spannungsunterschied und was der Unterschied sein soll? Bzw. vielleicht kennt auch jemand einen schnellen Händer dafür?
Beitrag #2225407 wurde von einem Moderator gelöscht.
Datum:
Hallo, J-Link macht Dir das Leben auf jeden Fall leichter. Viele Grüße Daniel
Datum:
Ich werd verrückt !!!!!!! Hab heute die coocox IDE ausprobiert und oh Wunder Funktionierte auf anhieb wunderbar sogar mit dem JTAGKey 2 !!!!!!!!!!!!!! Es geht also doch !!!!! Ein einziges Install-file runterladen installieren und fertig !! Gruss Yello
Datum:
Hallo Yello ! Auch ich hab mir das Teil mal angesehen und ich muss wirklich sagen, das ist wirklich gut. Scheint irgendwie eine auf ARM basierende Eclipse-Umgebung zu sein. Was ich als Anfänger sehr gut finde ist das Repository mit dem man sich einen vordefinierten Code anzeigen/erzeugen lassen kann. Das macht den Einstieg etwas einfacher. Ich weiß jetzt nur noch nicht ob ich auch mit der CooCox-IDE meinen J-Link-EDU anbinden kann. Das wäre aber nicht so schlimm, denn im Augenblick sind trocken-schwimm-Übungen angesagt und da wäre es schön wenn man einen internen Debugger/Simulator anschmeissen könnte ohne gleich das Target anschließen zu müssen. Aber sieht soweit gut aus ! Gruß Uli
Datum:
J-Link wird in der nächsten Version unterstützt. http://www.coocox.org/Forum/topic.php?id=547 Ebenso ein externer GDB (und damit dann auch ST-Link für STM32) http://www.coocox.org/Forum/topic.php?id=537 Eine Linux Version ist langfristig auch geplant. http://www.coocox.org/Forum/topic.php?id=535
Datum:
Hallo ! Ich hab doch gestern Abend noch ein paar Fragen gehabt. Da hatte ich noch die IDE 1.2.4 und da ging der J-Link EDU noch nicht. Als ich heute mir die Seite anschaute stellte ich fest dass es schon die 1.2.5 gibt und siehe da - auch der J-Link funktioniert jetzt. CooCox ist bis jetzt das beste was ich gesehen habe ! Gruß Uli
Datum:
Uli B. schrieb: > Hallo ! > > Ich hab doch gestern Abend noch ein paar Fragen gehabt. Da hatte ich > noch die IDE 1.2.4 und da ging der J-Link EDU noch nicht. Als ich heute > mir die Seite anschaute stellte ich fest dass es schon die 1.2.5 gibt > und siehe da - auch der J-Link funktioniert jetzt. > CooCox ist bis jetzt das beste was ich gesehen habe ! > > Gruß Uli Moin, Ich habe mirgerade mal die Seite angeschaut und war positiv überrascht. Freie Eclipse IDE mit integriertem RTOS und vielem mehr, ich bin begeistert. Werds mal ausprobieren, Danke für den Tip. MfG Tec
Datum:
Angehängte Dateien:Mit der neuen CoIDE Version funktioniert nun auch ST-Link und somit Debuggen auf dem preiswerten STM32 Discovery Board. (Mittels ST-LINK_gdbserver.exe aus der Atollic Lite Entwicklungsumgebung) Über eine Batchdatei konnte ich den Zugriff auf das JFlash Tool auf ST-LINK_CLI.exe umleiten, und so funktioniert auch das Flashen/Erase über das Menü. Allerdings hat CoIDE scheinbar Probleme mit Leerzeichen in Pfadnamen beim Aufruf externer Programme. Unter Windows 7 wird aber alles nach "C:\Program Files" installiert. Unter Windows 7 sollte man daher CoIDE am besten gleich nach C:\CooCox installieren. Den Inhalt der Batchdatei und die Einstellungen hab ich mal angehängt. Eine leere Datei config.jflash muss man noch anlegen, sonst meckert die IDE. @echo off if "%4"=="-auto" goto flash if "%4"=="-erasechip" goto erase goto error :flash set file=%2 c:\ST-LINK\ST-LINK_CLI.exe -c SWD -P %file:~5,-1%" %3 goto end :erase c:\ST-LINK\ST-LINK_CLI.exe -c SWD -ME goto end :error echo flasher.bat : Error, no valid command found ! :end
Datum:
Ich hab die Infos mal hier mit aufgenommen: http://www.mikrocontroller.net/articles/STM32#Programmierung
Datum:
Mal ne Frage: ich habe CooCox 1.25 mit einem J-Link laufen, und das funktioniert sowiet auch. Zumindest kann ich debuggen Wenn ich aber das Programm nur flashe, dann wird es nicht automatisch gestartet. Ich muss immer erst auf Debuggen gehen und dort das Programm manuell starten. Ziehe ich den JTAG Stecker ab und mache mein Board einmal stromlos, dann läuft das Programm von alleine los. Gibt es ne möglichkeit, das mein Programm nach dem Flashen automatisch gestartet wird? Jedesmal den Debugmodus anwerfen ist bischen umständlich. Evtl. wird da von der JTAG Schnittstelle die Resetleitung gesetzt oder so...ich weiss es nicht genau. Aber evtl. hat jemand das Problem ja schon gelöst?
Datum:
achso...die JTAG Verbindung ist etwas...nunja...wacklig. Manchmal bricht ohne erkennbaren Grund die Verbindugn ab usw. Ich weiss aber nicht, inwiefern das evtl auch an meinem JLink Clone liegt
Datum:
Ich schätze den J-Link haben Sie kurz vor Veröffentlichung des letzten Release noch schnell eingebaut. Das Tab "Download" in der Config ist dort (noch ?) leer. Bei den anderen Programmern kannst du da auswählen dass vor dem debuggen ein Download durchgeführt wird, und das debuggen startet danach dann auch sofort. Zumindest ist das bei meinem Signalyzer Lite so (CoLink als Programmer ausgewählt).
Datum:
Jep, der JLink Support ist erst in der 1.25 dazugekommen. Evtl ist das wirklich noch Baustelle
Datum:
WOW....ich habe dank Beitrag "Re: STM32 Eclipse Entwicklungsumgebung" es endlich geschafft, ein hex File zu erzeugen!! Nach soviel EclipseFrust und Flucherei freu ich mir gerade ein zweites Loch in den Ar... Ich habe aber noch ein Problem, was ich in Beitrag "Re: STM32 + Eclipse -> Hilfe" schon beschrieben habe. Woran könnte es liegen, das ganze nicht für ein C++ Project funktioniert? Da fehlt bei mir der GCC Linker Eintrag. Oder muss ich ein C Projekt erstellen und alles manuell auf die C++ Tools umstellen? Und ich habe das LinkerScript einfach aus dem oben erwähnten Beitrag entnommen. Wenn ich C++ benutze, hat das darauf Auswirkungen? Ich sehe da Einträge wie Stack&Heapsize um die ich bisher noch nie kümmern musste. Gibt es da eine verständliche Erklärung, was in dem Linkerscript überhaupt passiert? Ich versteh da momentan ehrlich gesagt nur Bahnhof
















