www.mikrocontroller.net

Forum: Projekte & Code SAM7 openOCD GUI


Autor: Karl Zeilhofer (griffin27)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab heut ein einfaches GUI geschrieben, um openOCD komfortabler 
bedienen zu können.

Vielleicht hat jemand Lust es auszuprobieren.

Es ist, so glaube ich, nur für die AT91SAM7 typen geeignet.

Ich hab es mit Qt 4.5.2 geschrieben (meine erste sinnvolle Qt Anwendung 
:-). Und auf Ubuntu (Linux) kompiliert.
Windows-Version hab ich noch keine kompiliert.

Die Quellcodes kann auf Anfrage narütlich jeder haben.

Ich freue mich über jede Rückmeldung.

lg, Karl

Autor: Bastl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Karl,

da ich leider nur Windows auf meinem Notebook habe, kann ich deine Gui 
nicht ausprobieren.
Du hast mit deiner Idee bei mir genau ins Schwarze getroffen!
Eine Gui, und sein sie auch nur um die Config-Dateien zu erstellen, ist 
genau das, was OpenOCD noch braucht. Ich habs es vor fast einem Jahr 
drangegeben mich mit den Configs abzumühen. Die Doku war um Generationen 
älter als die aktuelle Version.
Für mich ist eine ordentliche Möglichkeit das Prog zu konfigurieren 
genauso wichtig, wie das Programm selbst. An der Stelle hat der Autor, 
meiner Meinung nach, zu wenig getan.
Ich bin sehr gespannt auf deine Windows-Version!

Autor: Karl Zeilhofer (griffin27)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus Bastl,

naja, da wirst du aber mit meinem Progrämmchen auch nicht gerade 
glücklich.
Denn openOCD muss dafür schon einwandfrei laufen.
Ich weiß, dass das wirklich kein Spaß ist, openOCD + Adapter + Board zum 
laufen zu bringen.


Hier das readme.txt zur ersten "release" ;-)

2009 07 01
Karl Zeilhofer, Austria


SAM7 Graphical User Interface V0.1
for "openOCD Version 0.1"

Tested with oocd-link USB and
AT91SAM7A3

WARNING:
Use at your own risk.
All ARM7 commands are hard coded.


Start your openOCD as usual.
Telnetport must be set to 4444. This is the default port used by openOCD.

Start oocd_gui

Click Connect. Now you should see a Message in the bis text field like "Open On-Chip Debugger".
The GUI trys to connect to "localhost:4444".

You can test the connection to the JTAG device with the Reset button.

If you want to download a SRAM or FLASH image, select an existing file and click Load.

With the input line you can use openOCD as you are used to.

There are several buttons for typical openOCD commands.

Show Memories:
Lists the first 8 Bytes of each address space
0x00000000: memory used by the cpu
0x00100000: flash memory
0x00200000: sram

Erase Flash is hard coded:
Address 0x00100000
Size: 256 kB

Remap to SRAM: (writing 0x00000001 to 0xFFFFFF00)
Does the remap command.
Use the Show Memories Button to check, which memory is mapped to 0x00.
Once remapped, this can only be undone by a Peripheral Reset.

Peripheral Reset: (writing 0xA5000001 to 0xFFFFFD00)
Resets the peripherals and remaps the flash again to 0x00.

CPU Reset: (writing 0xA5000001 to 0xFFFFFD00)
Perhaps needed for debugging


Screenshot kommt noch.

Autor: Karl Zeilhofer (griffin27)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,

die Linux-Version wurde nun schon einige male heruntergeladen.
Darf ich fragen, ob das Programm überhaupt läuft?
Bin mir nicht sicher, ob es ohne Qt Bibliotheken auskommt.

Hier gibt es nun die Windows-Version:
http://www.cshare.de/file/197d2daad0cbe34536ebc0fe...
Die enthält auch die benötigten Qt-DLLs.

lg, Karl

Autor: Karl Zeilhofer (griffin27)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie gesagt, ich würde mich sehr über eine Rückmeldung freuen.

Hier hab ich nun mal eine lauffähige Linux-Version zusammengestellt - 
d.h. mit den Libs.
Leider wird das kleine Programm mit den Bibliotheken recht groß...
http://www.swoopshare.com/file/239300a4d151155fa2c...

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Karl,

Deine GUI funktioniert generell bei mir unter Linux 2.6.32 und Qt 4.5.3.

Leider ist es aber nicht möglich, über den 'Connect'-Button, eine
Verbindung aufzubauen. Ich nehme an, dass Du einen anderen
Programmieradapter als den Wiggler verwendest und die Konfiguration
einfach nur angepasst werden müsste. Auch die anderen Buttons, ausser
den '...'-Buttons zum starten der Dateiauswahl-Dialoge, zeigen
logischerweise keine Funktion.

Ich habe großes Interesse an Deinem Source-Code, da Du ja schon eine
schöne Basis für eine vollwertige OpenOCD-GUI geschaffen hast. Ich würde
Dein kleines Tool gerne um diverse Möglichkeiten der Konfiguration
erweitern und die Änderungen natürlich auch wieder zurückfliessen
lassen.

Ist es möglich, dass Du mir die Sourcen zur Verfügung stellst?

Viele Grüsse
Peter

Autor: Karl Zeilhofer (griffin27)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,

ich freue mich besonders über dein Interesse an dem GUI.

Unter
http://zeilhofer.wikidot.com/arm7
kannst du die Sourcen (samt Win-Bin) downloaden.

Vor dem Connect-Klick musst du openOcd in einem Terminal bereits laufen 
haben. Denn mein GUI verbindet sich lediglich über eine 
Telnet-Verbindung auf den openOCD-Server (localhost:4444).
Mhh, vielleicht fehlt dir die QtTelnet-Lib. Die heißt bei mir auf 
Windows QtSolutions_Telnet-2.1.dll
http://qt.nokia.com/products/appdev/add-on-product...

Das GUI ist wirklich sehr einfach geschrieben. Aber bei mir hat es im 
Moment tägliche Verwendung zum Flashen des uC.

Welchen uC verwendest du denn? Denn die Befehle sind hard-coded.
Wenn es ein ARM7 von Atmel mit 256kB Flash, sollte es vermutlich ohne 
Probleme laufen.

lg, Karl

Autor: Peter (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Karl,

achso das Programm ist ein Telnet-Client. Ich hatte nicht versucht 
OpenOCD anderweitig zu starten. Wenn ich es im Terminal starte und dann 
deine GUI öffne, funktioniert sie tadellos.

Ich verwende momentan einen At91SAM7s256 - ich habe noch nicht alle 
Kommandos, die in Deinem Tool "hardcoded" sind überprüft, aber soweit 
sieht das schon passend aus.

Um die GUI aus den aktuellen Sourcen zu übersetzen, musste ich mir noch 
das QtTelnet-Paket herunterladen und einbauen - ein Installieren einer 
"QtTelnet-Lib" oder Ähnlichem war nicht nötig, da das Qt-Framework wohl 
alle Funktionen, aber nicht die nötigen Header bietet...bin mir da 
selbst nicht so ganz sicher.

Naja, auf jeden Fall klappt das Übersetzen jetzt und die GUI 
funktioniert wunderbar. Ich habe bereits die Möglichkeit eingebaut 
Hostname und Port anzugeben. Ausserdem habe ich den OpenOCD-Connect-Kram 
etwas verändert, sodass man auch disconnecten und die Verbindung 
resetten kann. Ich werde als nächstes mal schauen, wie ich mit Qt das 
OpenOCD eingebettet bekomme.

Gruss Peter

Autor: Rene Fischer (rene1605)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter, Hallo Karl,

ich würde mich auch gern an der Entwicklung und dem Test der OpenOCD-GUI 
beteiligen. Ich arbeite derzeit mit einem ARM 9 der allerdings nicht auf 
einem Entwicklungsboard untergebracht ist. Wenn Ihr Unterstützung 
braucht einfach melden.

Gruss Rene

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.