Forum: Mikrocontroller und Digitale Elektronik OpenOCD, ARM AT91SAM7S, Eclipse und Yagarto


von Heiko S. (heiko_s)


Lesenswert?

Hallo Gemeinde,

ja, ich programmiere noch solch einen Microcontroller-Dino, da ich noch
ein paar davon rumliegen habe und jetzt einer sinnvollen Aufgabe
zuweisen möchte.
Ich habe bis vor kurzem mit OpenOCD r279 eigentlich alles erledigen
können, aber es machte zum Ende keinen Spaß mehr, da regelmäßige Fehler
auftraten (neu laden und dann weiter).

Also dachte ich mir, installiere doch mal die aktuellen Versionen des
Ganzen.
Gemacht getan, nach 2 ½ Tagen war auch schon ein erster Erfolg zu
vermelden, denn ich konnte im RAM debuggen! Die Aktion stimmte michnicht
glücklich (war halt eine sehr lange Zeit), aber auch ich werde älter und
vielleicht liegt das ja auch an mir!

Der Erfolg: keine Fehler mehr, die Speicherzugriffe waren um das
mehrfache beschleunigt und Zufriedenheit machte sich breit.

Nun wollte ich mein Programm in den Flash des AT91SAM7S256 speichern,
und siehe da, wieder „basteln“.
Das soll keine Kritik an die Gemeinde der Entwickler sein, aber allein
in OpenOCD hat sich so viel geändert, das Leute, die diese Änderungen
nachvollziehen wollen und müssen, sich die Hälfte Ihrer Zeit mit den
Tools auseinander setzen müssen und nicht wie eigentlich gedacht,
„programmieren“ und die Tools als Hilfsmittel nutzen.

Ich habe mich durch die OpenOCD Dokumentation durchgearbeitet, es sind
alle Befehle und Kommandos erklärt, aber nicht, welchen Zusammenhang Sie
haben und in welcher Reihenfolge Sie einzusetzen sind.

Nun zu meiner eigentlichen Frage: gibt es in dieser Gemeinde einen, der
eine lauffähige Konfiguration hat, die einen Flash beschreiben kann und
die auch noch für OpenOCD aus „make“ heraus aus Eclipse gestartet werden
kann?
Ich möchte also nur in Eclipse -> Project -> Make Target -> Build ->
Program auswählen und schon wird das aktuelle Programm in den Flash
verbracht.
Das „Program“ habe ich im Makefile schon drin, aber mir fehlt die
Konfiguration für OpenOCD um einen Flash zu beschreiben, da
es „flash_write“ nicht mehr gibt und ich über den GDB gehen soll! Wenn
ich wieder 1 Tag aufwende, werde ich bestimmt auch wieder einen Erfolg
verbuchen können, aber leider nicht im „programmieren“ sondern in der
Tool-Bedienung, worauf ich wirklich keine Lust mehr habe!

Konfiguration:   Eclipse 3.4.1
                 CDT C/C++ 5.0.1.20080912
                 Yagarto 20090311
                 OpenOCD 0.1.0
                 JTAG  Olimex ARM-USB-OCD
                 MC AT91SAM7S256

Übrigens: wenn ich OpenOCD starte (aus Eclipse), dann aus einem 
DOS-Fenster Yagarto’s arm-elf-insight.exe aufrufe, mein „bin“-File 
einlese und dann Program-Flash ausführe, funktioniert ein Schreiben in 
Flash!!

Vielen Dank
dafür, das Du bis hier gekommen bist, denn dann hast Du Dich von meinem
Problem nicht gleich abgewendet!!

von Uwe H. (uwehermann) Benutzerseite


Lesenswert?

Ich hab da vor einer Weile eine kurze Einführung in OpenOCD geschrieben:

http://hermann-uwe.de/blog/openocd-a-free-software-jtag-utility-with-arm-and-mips-support

Dein "flash_write" heisst jetzt "flash write_image".

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.