Forum: Projekte & Code SAM7 openOCD GUI


von Karl Z. (griffin27)


Angehängte Dateien:

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

von Bastl (Gast)


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!

von Karl Z. (griffin27)


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" ;-)
1
2009 07 01
2
Karl Zeilhofer, Austria
3
4
5
SAM7 Graphical User Interface V0.1
6
for "openOCD Version 0.1"
7
8
Tested with oocd-link USB and
9
AT91SAM7A3
10
11
WARNING:
12
Use at your own risk.
13
All ARM7 commands are hard coded.
14
15
16
Start your openOCD as usual.
17
Telnetport must be set to 4444. This is the default port used by openOCD.
18
19
Start oocd_gui
20
21
Click Connect. Now you should see a Message in the bis text field like "Open On-Chip Debugger".
22
The GUI trys to connect to "localhost:4444".
23
24
You can test the connection to the JTAG device with the Reset button.
25
26
If you want to download a SRAM or FLASH image, select an existing file and click Load.
27
28
With the input line you can use openOCD as you are used to.
29
30
There are several buttons for typical openOCD commands.
31
32
Show Memories:
33
Lists the first 8 Bytes of each address space
34
0x00000000: memory used by the cpu
35
0x00100000: flash memory
36
0x00200000: sram
37
38
Erase Flash is hard coded:
39
Address 0x00100000
40
Size: 256 kB
41
42
Remap to SRAM: (writing 0x00000001 to 0xFFFFFF00)
43
Does the remap command.
44
Use the Show Memories Button to check, which memory is mapped to 0x00.
45
Once remapped, this can only be undone by a Peripheral Reset.
46
47
Peripheral Reset: (writing 0xA5000001 to 0xFFFFFD00)
48
Resets the peripherals and remaps the flash again to 0x00.
49
50
CPU Reset: (writing 0xA5000001 to 0xFFFFFD00)
51
Perhaps needed for debugging

Screenshot kommt noch.

von Karl Z. (griffin27)


Angehängte Dateien:

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/197d2daad0cbe34536ebc0fe9968fb12/sam7-openocd-gui.rar.html
Die enthält auch die benötigten Qt-DLLs.

lg, Karl

von Karl Z. (griffin27)


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/239300a4d151155fa2c8029ae6d82f9e/sam7-openocd-gui.tar.bz2.html

von Peter (Gast)


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

von Karl Z. (griffin27)


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-products/catalog/4/Utilities/qttelnet

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

von Peter (Gast)


Angehängte Dateien:

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

von Rene F. (rene1605)


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

von Karl Z. (griffin27)


Angehängte Dateien:

Lesenswert?

Mir ist nun ein scheinbares Folgeprojekt von Sven Sperner untergekommen:
https://github.com/sperner/OpenOCD-QtGUI

Ist durch die Konfigurierbarkeit der verschiedenen Befehle sicherlich 
viel besser verwendbar. Anbei die Screenshots.

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.