Re: [Openocd-development] OpenOCD GUI

2009-10-20 Thread Michael Schwingen
Dean Glazeski wrote:
 Another thing of interest is a feature list.  I've started a feature 
 list in this email and additions are welcome.
I don't see how a GUI will improve my work in any of these areas:

 1. OpenOCD server configuration
 a. Telnet Port
 b. GDB Port
 c. TCL Port
 d. Target Type
 e. Interface
I need to write a custom board config file in most cases. A GUI won't 
help me set up SDRAM controller registers and other board details.
 2. Start and stop OpenOCD with log output to window
 a. Colored output for errors, info, etc.
Reduce the number of printed messages. Those remaining don't need any 
colouring in order to be understandable.
 3. Connect to OpenOCD to issue commands
 a. Perhaps a list of available commands filtered based on target 
 and interface
 b. Target status display
 c. Multiple windows for multiple targets/interfaces
How would the GUI know about the target and interface configs I have 
written?
I think xterm+telnet provide everything that is needed in this category.
 4. Target flashing/loading of programs
I usually add a do_flash procedure to my board scripts - a GUI can't 
provide much improvement here.


I do think GUIs are fine for the right job - eg. for a debugger. A GUI 
that replaces simple commands with buttons does not provide much merit 
for me.

cu
Michael

___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] OpenOCD GUI

2009-10-20 Thread Øyvind Harboe
OpenOCD has started some work on a GUI using a web
interface, look at the httpd server in the development section,
the builtin web server works today. It should include
some memory browsing, flash programming page,
simple small scale production page for non-engineers, etc.

A web interface is great because OpenOCD's gui requirements
are tiny and such a GUI works on *all* platforms.

Duane Ellis has worked on target specific scripts to manipulate
peripherals.

Other than that great support for GDB, reducing noise, improving
documentation and quality of target scripts would be a few
things that would greatly help usability of OpenOCD.

For non-builtin web server, I have a soft spot for Eclipse  Java,
but I'm not sure what GUI functionality I would want in
Eclipse at this point, except to get CDT quirks fixed.

 1. OpenOCD server configuration
     a. Telnet Port
     b. GDB Port
     c. TCL Port
     d. Target Type
     e. Interface

I see very little win in configuring the above in a GUI. It would essentially
build a command line to launch OpenOCD.

Take a look at the builtin httpd server in OpenOCD. I think you'll find
a lot of what you're looking for is more or less there already.

 On another note, this leads me to wonder if there is a possibility of an API
 in the future so that one could query an OpenOCD executable to see what it
 supports in terms of target and interface hardware.  It might be possible to
 just make it part of the version command so that an external program can
 query for what devices can be used for debugging.  Or it could be a command
 issued over the telnet or GDB connection.  Thoughts?

With the builtin web server, you just execute Tcl code to build web
pages. That's your API effectively.




-- 
Øyvind Harboe
http://www.zylin.com/zy1000.html
ARM7 ARM9 ARM11 XScale Cortex
JTAG debugger and flash programmer
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] OpenOCD GUI

2009-10-20 Thread Nico Coesel
 -Original Message-
 From: openocd-development-boun...@lists.berlios.de [mailto:openocd-
 development-boun...@lists.berlios.de] On Behalf Of Michael Schwingen
 Sent: dinsdag 20 oktober 2009 8:48
 To: openocd-development@lists.berlios.de
 Subject: Re: [Openocd-development] OpenOCD GUI
 
 Dean Glazeski wrote:
  Another thing of interest is a feature list.  I've started a feature
  list in this email and additions are welcome.
 I don't see how a GUI will improve my work in any of these areas:
 
  1. OpenOCD server configuration
  a. Telnet Port
  b. GDB Port
  c. TCL Port
  d. Target Type
  e. Interface
 I need to write a custom board config file in most cases. A GUI won't
 help me set up SDRAM controller registers and other board details.
  2. Start and stop OpenOCD with log output to window
  a. Colored output for errors, info, etc.
 Reduce the number of printed messages. Those remaining don't need any
 colouring in order to be understandable.
  3. Connect to OpenOCD to issue commands
  a. Perhaps a list of available commands filtered based on target
  and interface
  b. Target status display
  c. Multiple windows for multiple targets/interfaces
 How would the GUI know about the target and interface configs I have
 written?
 I think xterm+telnet provide everything that is needed in this
category.
  4. Target flashing/loading of programs
 I usually add a do_flash procedure to my board scripts - a GUI can't
 provide much improvement here.
 
 
 I do think GUIs are fine for the right job - eg. for a debugger. A GUI
 that replaces simple commands with buttons does not provide much merit
 for me.

IMHO a GUI is a good idea but it has to be cross-platform. I have been
using WxWidgets for cross platform development for several years and I
must say the transfer between Windows and Linux is seemless.

I don't think a GUI is usefull for debugging because OpenOCD is a
man-in-the-middle. A GUI will be usefull though for testing setups and
flash programming. Console commands are fine for pro's but for a
beginner a GUI is much easier. Perhaps there should be a log window
which shows the commands send to OpenOCD.

Nico Coesel


___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] OpenOCD GUI

2009-10-20 Thread Øyvind Harboe
 IMHO a GUI is a good idea but it has to be cross-platform. I have been
 using WxWidgets for cross platform development for several years and I
 must say the transfer between Windows and Linux is seemless.

Cross platforms w/dependencies during compilation or running
is not great either.

For now the consensus(Duane and I have mostly discussed this
in the past) is a built in web server for basic operations and
special pages for target specific peripherals.

Take the builtin httpd server for a spin.

-- 
Øyvind Harboe
http://www.zylin.com/zy1000.html
ARM7 ARM9 ARM11 XScale Cortex
JTAG debugger and flash programmer
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] OpenOCD GUI

2009-10-20 Thread Nico Coesel
 -Original Message-
 From: Øyvind Harboe [mailto:oyvind.har...@zylin.com]
 Sent: dinsdag 20 oktober 2009 9:33
 To: Nico Coesel
 Cc: openocd-development@lists.berlios.de
 Subject: Re: [Openocd-development] OpenOCD GUI
 
  IMHO a GUI is a good idea but it has to be cross-platform. I have been
  using WxWidgets for cross platform development for several years and I
  must say the transfer between Windows and Linux is seemless.
 
 Cross platforms w/dependencies during compilation or running
 is not great either.

The GUI doesn't need to be part of OpenOCD.
 
 For now the consensus(Duane and I have mostly discussed this
 in the past) is a built in web server for basic operations and
 special pages for target specific peripherals.
 
 Take the builtin httpd server for a spin.

Does the httpd server support PHP, database access, sessions, cookies, etc, 
etc? Without that the functionality of a builtin webserver is extremely limited 
because it is very cumbersome to make active web-pages.

Nico Coesel

___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] OpenOCD GUI

2009-10-20 Thread Øyvind Harboe
 Cross platforms w/dependencies during compilation or running
 is not great either.

 The GUI doesn't need to be part of OpenOCD.

The alternative is to create a complete API and stick to it.
We're not keen, nor do we see the need for the sort
of simple functionality that has been outlined.

 For now the consensus(Duane and I have mostly discussed this
 in the past) is a built in web server for basic operations and
 special pages for target specific peripherals.

 Take the builtin httpd server for a spin.

 Does the httpd server support PHP, database access, sessions, cookies, etc, 
 etc?
 Without that the functionality of a builtin webserver is extremely limited 
 because it
  is very cumbersome to make active web-pages.

It doesn't sound like you've had a look at the stuff that's already done.



-- 
Øyvind Harboe
http://www.zylin.com/zy1000.html
ARM7 ARM9 ARM11 XScale Cortex
JTAG debugger and flash programmer
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] OpenOCD GUI

2009-10-20 Thread David Brownell
On Tuesday 20 October 2009, Øyvind Harboe wrote:
 The alternative is to create a complete API and stick to it.
 We're not keen, nor do we see the need for the sort
 of simple functionality that has been outlined.

Web access *IS* an API ... at least, as soon as
any client starts to use it that way.

That's why there's been such a lot of interest
in web programming interfaces that uplevel things
from screen scraping to something that's more
maintainable.


IMO that's kind of moot until whatever non-commandline
UI starts to get more users, though.  :)

___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] OpenOCD GUI

2009-10-20 Thread Austin, Alex
I would like to see openocd always start, even if the config
file is invalid. Then, it can be configured via telnet and,
hopefully, Have a command to dump a config file. If the telnet
interface supported completion a la Cisco routers (press ? to
list available completions), it would not be difficult to write
flexible GUIs that wrap around it, and it would be nicer to use
in and of itself.

 -Original Message-
 From: openocd-development-boun...@lists.berlios.de [mailto:openocd-
 development-boun...@lists.berlios.de] On Behalf Of David Brownell
 Sent: Tuesday, October 20, 2009 11:19 AM
 To: openocd-development@lists.berlios.de
 Subject: Re: [Openocd-development] OpenOCD GUI
 
 On Tuesday 20 October 2009, Øyvind Harboe wrote:
  The alternative is to create a complete API and stick to it.
  We're not keen, nor do we see the need for the sort
  of simple functionality that has been outlined.
 
 Web access *IS* an API ... at least, as soon as
 any client starts to use it that way.
 
 That's why there's been such a lot of interest
 in web programming interfaces that uplevel things
 from screen scraping to something that's more
 maintainable.
 
 
 IMO that's kind of moot until whatever non-commandline
 UI starts to get more users, though.  :)
 
 ___
 Openocd-development mailing list
 Openocd-development@lists.berlios.de
 https://lists.berlios.de/mailman/listinfo/openocd-development
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


[Openocd-development] OpenOCD GUI

2009-10-19 Thread Dean Glazeski
Hi list,

I've been sort of bothered by the lack of a GUI for OpenOCD.  I've seen this
project: http://openocd-gui.sourceforge.net/, but I'm not entirely certain
if I like their direction.  My main concern is the lack of activity and the
goal of using C++ or TCL/Tk.  At any rate, I was going to start putting
together some documents to outline what a GUI application for OpenOCD might
look like.  This includes some rough sketches of how I might envision the UI
and what properties would be configurable etc.

What I wanted to find out from the OpenOCD community is the interest in this
and if there is any preference on how the frontend would be put together.
Right now I'm thinking of making it an Eclipse plug-in or creating a
separate JAR built using Java Swing or SWT.  I'm sort of avoiding the use of
C++, C, TCL/Tk, Python, or Perl/Tk mainly because everyone should have some
form of Java interpreter that has support for Swing and Java is very easy to
work in.

Another thing of interest is a feature list.  I've started a feature list in
this email and additions are welcome.

1. OpenOCD server configuration
a. Telnet Port
b. GDB Port
c. TCL Port
d. Target Type
e. Interface
2. Start and stop OpenOCD with log output to window
a. Colored output for errors, info, etc.
3. Connect to OpenOCD to issue commands
a. Perhaps a list of available commands filtered based on target and
interface
b. Target status display
c. Multiple windows for multiple targets/interfaces
4. Target flashing/loading of programs

This is just a start for the list of features and mirrors some ideas from
OpenOCD-GUI.  I'm sure I'll think of more and I'm sure the people on this
list know things that I've missed.  In a week or two I'll put together some
design documentation based on suggestions and resubmit to this list for any
revisions or opinions.

On another note, this leads me to wonder if there is a possibility of an API
in the future so that one could query an OpenOCD executable to see what it
supports in terms of target and interface hardware.  It might be possible to
just make it part of the version command so that an external program can
query for what devices can be used for debugging.  Or it could be a command
issued over the telnet or GDB connection.  Thoughts?

Anyway, lengthy email aside, I appreciate anyone's input on this as I build
up a spec for a GUI.  If the guys from the OpenOCD-GUI project on
Sourceforge are on this list and are willing to talk Java, or convince me of
another method, don't hesitate to contact me off list.  Thanks for any input
from users and developers out there.

// Dean Glazeski
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development


Re: [Openocd-development] OpenOCD GUI

2009-10-19 Thread David Brownell
On Monday 19 October 2009, Dean Glazeski wrote:
 Hi list,
 
 I've been sort of bothered by the lack of a GUI for OpenOCD.

In what respect(s) ... what tasks do you find awkward today that
a *Graphical* UI would help with?

I think there's likely improvement to be made by noticing ways
that, for example, an Eclipse-plus-OpenOCD toolchain loses by
comparison to various other JTAG toolchains, and filling in gaps.


 I've seen this 
 project: http://openocd-gui.sourceforge.net/, but I'm not entirely certain
 if I like their direction.

Or whether they *have* a direction for that matter!  :(
I saw a bunch of posts re the 0.1.x code, then nothing.

Their website seems to have gotten all the attention.  It's
fairly zippy, but rather noisy for my taste.


 What I wanted to find out from the OpenOCD community is the interest in this
 and if there is any preference on how the frontend would be put together.
 Right now I'm thinking of making it an Eclipse plug-in or

How would you see the role of an OpenOCD GUI be distinct from
just supporting a GUI environment like Eclipse?

I think that fit well into Eclipse's GUI would likely be achievable,
which is an important thing to have in goals.  Have a good GUI is
not a very well-formed notion today..

An Eclipse plug-in would be nice if it came with instructions about
how to properly introduce Eclipse to one of my JTAG-enabled targets.
How to set things up, to compile, run and step a  blinkenlights
project is a bit opaque today, though I *think* a lot of it should
just be fill in the docs.


 creating a 
 separate JAR built using Java Swing or SWT.  I'm sort of avoiding the use of
 C++, C, TCL/Tk, Python, or Perl/Tk mainly because everyone should have some
 form of Java interpreter that has support for Swing and Java is very easy to
 work in.

Toolkit is IMO of less relevance than what it does, and whether
there are enough developers.  Eclipse has one or two developers
in its community (or so I'm told).

Toolkit _integration_ will often shake loose design glitches though.

 
 Another thing of interest is a feature list.  I've started a feature list in
 this email and additions are welcome.
 
 1. OpenOCD server configuration
 a. Telnet Port
 b. GDB Port
 c. TCL Port
 d. Target Type
 e. Interface

Well, board type too.  And there can be custom config
issues, and interactions ... using interface X means you
don't have access to signals Y or Z; board may have this
set of config jumpers set up in this way; etc.


 2. Start and stop OpenOCD with log output to window
 a. Colored output for errors, info, etc.

And get rid of most of that spewage, for that matter!
Almost none of it should exist.  If I enter commands
to a Tcl prompt, the results shouldn't be echoed in
two places ...
 

 3. Connect to OpenOCD to issue commands
 a. Perhaps a list of available commands filtered based on target and
 interface
 b. Target status display
 c. Multiple windows for multiple targets/interfaces

Some target status display sounds nice.  Multi-target configs
would likely shake loose problems ... I know of a few already.

(Ways to debug multi-target may vary a bit.  I'd expect a
dual-core OMAP4 to need an SMP-ish model, but a board that's
got two Cortex-M3 chips will be asymmetric and may want very
different models.)


 4. Target flashing/loading of programs

For example, a board vendor (or third party) should be able
to say here's now to reinstall everything using OpenOCD.

And shouldn't such a board vendor be able to provide scripts
that add flash this firmware options to the Eclipse menu?


 This is just a start for the list of features and mirrors some ideas from
 OpenOCD-GUI.  I'm sure I'll think of more and I'm sure the people on this
 list know things that I've missed.  In a week or two I'll put together some
 design documentation based on suggestions and resubmit to this list for any
 revisions or opinions.
 
 On another note, this leads me to wonder if there is a possibility of an API
 in the future so that one could query an OpenOCD executable to see what it
 supports in terms of target and interface hardware.  It might be possible to
 just make it part of the version command so that an external program can
 query for what devices can be used for debugging.  Or it could be a command
 issued over the telnet or GDB connection.  Thoughts?

interface_list does part of that today.  Characterizing boards,
and the variety of ARM chips, is ... less obvious.


 Anyway, lengthy email aside, I appreciate anyone's input on this as I build
 up a spec for a GUI.  If the guys from the OpenOCD-GUI project on
 Sourceforge are on this list and are willing to talk Java, or convince me of
 another method, don't hesitate to contact me off list.  Thanks for any input
 from users and developers out there.
 
 // Dean Glazeski
 

___
Openocd-development mailing list
Openocd-development@lists.berlios.de

Re: [Openocd-development] OpenOCD GUI

2009-10-19 Thread Dirk Behme
Dean Glazeski wrote:
 Hi list,
 
 I've been sort of bothered by the lack of a GUI for OpenOCD.  I've seen this
 project: http://openocd-gui.sourceforge.net/, but I'm not entirely certain
 if I like their direction.  My main concern is the lack of activity and the
 goal of using C++ or TCL/Tk.  At any rate, I was going to start putting
 together some documents to outline what a GUI application for OpenOCD might
 look like.  This includes some rough sketches of how I might envision the UI
 and what properties would be configurable etc.
 
 What I wanted to find out from the OpenOCD community is the interest in this
 and if there is any preference on how the frontend would be put together.
 Right now I'm thinking of making it an Eclipse plug-in 

Some people use OpenOCD - GDB - Eclipse:

http://elinux.org/BeagleBoardEclipse

I'm not sure if OpenOCD should be used directly? Or is OpenOCD 'just a 
library' that interfaces to full blown debuggers? Which then are 
controlled by a GUI?

Best regards

Dirk
___
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development