SAM7 openOCD GUI

OP #1320396
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
Angehängte Dateien:
Gast #1324437
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!
OP #1324585
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.
OP #1324974
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
Angehängte Dateien:
Gast #1615567
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
OP #1615618
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
Gast #1624217
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
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren