mikrocontroller.net

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


Autor: Heiko Süsens (heiko_s)
Datum:

Bewertung
0 lesenswert
nicht 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!!

Autor: Uwe Hermann (uwehermann) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab da vor einer Weile eine kurze Einführung in OpenOCD geschrieben:

http://hermann-uwe.de/blog/openocd-a-free-software...

Dein "flash_write" heisst jetzt "flash write_image".

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.