STM32 IDE Odysse

Ich habe mir letztens dieses Header-Board hier gekauft:

formatting link

Zusammen mit diesem Programmiergerät:

formatting link

Kam mit einer CD mit dem Programm "Olimex's ARM GCC for Windows Dummies", was ich erstmal installiert habe und was scheinbar ein Eclipse mit OpenOCD ist. War leider kein Beispielcode für das H103-Board bei, also hier geladen:

formatting link

Compilierte aber leider nicht, aber nach einigem Suchen fand ich dann diese Seite:

formatting link

und habe dann das hier installiert:

formatting link

Damit konnte ich es compilierte, lief aber immer noch nicht, kamen merkwürdige Fehler mit Zugriffsberechtigungen, vielleicht weil das Eclipse zu alt war und nicht auf Vista läuft? Habe dann erstmal das hier installiert:

formatting link

Auf dieser Seite hier:

formatting link

Wird dann beschrieben, wie man das JTAG-Plugin installiert. Brauchte noch JUnit, was ich dann in "Eclipse Java Development Tools" gefunden hatte. OpenOCD konnte ich nun starten und schien auch eine Verbindung mit dem Header-Board aufgenommen zu haben, aber beim versuch das Programm im Debugger zu starten, kam die Meldung "SWJ-DP STICKY ERROR" in der Konsole und eine java.lang.NullPointerException als Message-Box, ohne weitere Fehlerursache.

Was googlen scheint den Verdacht nahezulegen, daß irgendwo eine Versionsimkopatiblität vorliegt. Also mal versucht, bei

formatting link
die neueste OpenOCD-Version zu holen, da ich alles bis auf das jetzt neu installiert hatte. Dort steht dann "You will not find any OpenOCD binaries here, nor are there any official releases of OpenOCD as of writing... your best bet is to get the latest recommended version from your hardware debugger supplier."

Andere Stellen im Web berichteten auch davon, daß OpenOCD manchmal abstürzt, nicht sicher die Target-CPU anhält, Fehler beim Flashen macht usw. Also erstmal aufgeben mit Open Source das Ding zum laufen zu bringen.

Habe mir jetzt die Evaluierungsversion hiervon geladen:

formatting link

Das hat kein Target für mein Board, aber das hier:

formatting link

müsste schonmal eine gute Basis geben. Ich warte noch auf die Freischaltung per eMail für die Evaluierungsversion, vorher kann man nicht compilieren.

Parallel habe ich auch mal das hier geladen:

formatting link

Warte da auch noch auf die Freischaltung, die nur per eMail geht.

Also alles in allem hat der Tag, den ich bisher dafür verschwendet habe, nicht viel Spaß gemacht. Hat einer vielleicht das H103-STM32 Board von Olimex irgendwie mit OpenOCD und Eclipse zum laufen gebracht? Noch ein Tag verschwenden lohnt sich nicht, da kaufe ich dann lieber Crossworks o.ä., falls die Evaluierungsversion denn läuft.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss
Loading thread data ...

Nett! Allerdings solltest du auf den Chip gucken, und evtl. schnell wieder umtauschen:

formatting link

"2.6 Compatibility issue with latest compiler releases"

Die alten Revisionen B und Z haben einen üblen Bug, der wohl bei optimierten Code zu Tage kommt..

Ich selbst hab' ein STM3210B-EVAL vonnem ST/Spoerle Seminar, leider auch mit altem Prozessor.

Sollte gehen. Ich hab' nen Amontec JTAG-Key-Tiny, ist prinzipiell das gleiche.

Probier's erstmal von der Konsole aus, Eclipse kann man später immer noch machen.

So funktioniert's bei mir:

  1. CodeSourcery Lite installieren:
    formatting link

  1. OpenOCD -- die alte Revision 717 tut es bei mir hervorragend:
    formatting link

  2. formatting link
    lesen, und lanchon's cs-stm32-1.0.rc2.zip runterladen.

In dem File ist ein kleines Beispielprojekt, aber vorallem der notwendige Startup-Code und das passende Linkerscript für den STM32.

Evtl. muss man die config-Files für deinen JTAG-Adapter anpassen, aber ein "make flash" sollte danach kompilieren und flashen.

Jepp, zum kotzen - vorallem, wenn man AVRStudio und WinAVR gewöhnt ist..

--
Thomas Kindler
Reply to
Thomas Kindler

Danke, gut zu wissen. Ist eine Z-Version, betrifft aber meinen Chip nicht, da es nur die Medium-Density-Chips betrifft (mit 8 oder B am Ende) und ich ein Low-Density Chip habe (mit 6 am Ende).

Ja, hat von der Console funktioniert, die LED blinkt jetzt. Ich musste nur die Zeile mit dem Tiny-Programmer auskommentieren und die andere einkommentieren.

Der automatische Reset nach dem Flashen hat allerdings nicht funktioniert. Ich musste dazu das flash-elf.script so anpassen:

wait_halt sleep 10 stm32x mass_erase 0 sleep 10 flash write_image flash.elf 0 elf reset run sleep 100 poll sleep 100 poll sleep 100 poll resume shutdown

Nur mit einem längeren Sleep funktionierte es nicht, daher die polls da drin, vielleicht irgendein State-Übertragungs-Problem. Zumindest mit dieser kleinen Hämmerchen-Methode startet das Programm jetzt nach einem Flash automatisch :-)

Eclipse braucht nicht unbedingt zu sein. Werde als nächstes erstmal den seriellen Port ansprechen, dann kann ich per printf debuggen. Einen richtigen Debugger brauche ich ohnehin selten und die Kombination aus Ultraedit und make ist zudem noch viel schneller, als mit Eclipse zu arbeiten. Später kommt da dann meine virtuelle Maschine drauf, die dann per USB debuggbar sein wird, wenn ich Zeit dazu finde.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.