<!-- Copyright (C) 2003 Red Hat, Inc. -->
|
<!-- Copyright (C) 2003 Red Hat, Inc. -->
|
<!-- This material may be distributed only subject to the terms -->
|
<!-- This material may be distributed only subject to the terms -->
|
<!-- and conditions set forth in the Open Publication License, v1.0 -->
|
<!-- and conditions set forth in the Open Publication License, v1.0 -->
|
<!-- or later (the latest version is presently available at -->
|
<!-- or later (the latest version is presently available at -->
|
<!-- http://www.opencontent.org/openpub/). -->
|
<!-- http://www.opencontent.org/openpub/). -->
|
<!-- Distribution of the work or derivative of the work in any -->
|
<!-- Distribution of the work or derivative of the work in any -->
|
<!-- standard (paper) book form is prohibited unless prior -->
|
<!-- standard (paper) book form is prohibited unless prior -->
|
<!-- permission is obtained from the copyright holder. -->
|
<!-- permission is obtained from the copyright holder. -->
|
<HTML
|
<HTML
|
><HEAD
|
><HEAD
|
><TITLE
|
><TITLE
|
>The I/O Auxiliary's User Interface</TITLE
|
>The I/O Auxiliary's User Interface</TITLE
|
><meta name="MSSmartTagsPreventParsing" content="TRUE">
|
><meta name="MSSmartTagsPreventParsing" content="TRUE">
|
<META
|
<META
|
NAME="GENERATOR"
|
NAME="GENERATOR"
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
|
"><LINK
|
"><LINK
|
REL="HOME"
|
REL="HOME"
|
TITLE="eCos Reference Manual"
|
TITLE="eCos Reference Manual"
|
HREF="ecos-ref.html"><LINK
|
HREF="ecos-ref.html"><LINK
|
REL="UP"
|
REL="UP"
|
TITLE="eCos Synthetic Target"
|
TITLE="eCos Synthetic Target"
|
HREF="hal-synth-arch.html"><LINK
|
HREF="hal-synth-arch.html"><LINK
|
REL="PREVIOUS"
|
REL="PREVIOUS"
|
TITLE="Running a Synthetic Target Application"
|
TITLE="Running a Synthetic Target Application"
|
HREF="synth-running.html"><LINK
|
HREF="synth-running.html"><LINK
|
REL="NEXT"
|
REL="NEXT"
|
TITLE="The Console Device"
|
TITLE="The Console Device"
|
HREF="synth-console.html"></HEAD
|
HREF="synth-console.html"></HEAD
|
><BODY
|
><BODY
|
CLASS="REFENTRY"
|
CLASS="REFENTRY"
|
BGCOLOR="#FFFFFF"
|
BGCOLOR="#FFFFFF"
|
TEXT="#000000"
|
TEXT="#000000"
|
LINK="#0000FF"
|
LINK="#0000FF"
|
VLINK="#840084"
|
VLINK="#840084"
|
ALINK="#0000FF"
|
ALINK="#0000FF"
|
><DIV
|
><DIV
|
CLASS="NAVHEADER"
|
CLASS="NAVHEADER"
|
><TABLE
|
><TABLE
|
SUMMARY="Header navigation table"
|
SUMMARY="Header navigation table"
|
WIDTH="100%"
|
WIDTH="100%"
|
BORDER="0"
|
BORDER="0"
|
CELLPADDING="0"
|
CELLPADDING="0"
|
CELLSPACING="0"
|
CELLSPACING="0"
|
><TR
|
><TR
|
><TH
|
><TH
|
COLSPAN="3"
|
COLSPAN="3"
|
ALIGN="center"
|
ALIGN="center"
|
>eCos Reference Manual</TH
|
>eCos Reference Manual</TH
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
WIDTH="10%"
|
WIDTH="10%"
|
ALIGN="left"
|
ALIGN="left"
|
VALIGN="bottom"
|
VALIGN="bottom"
|
><A
|
><A
|
HREF="synth-running.html"
|
HREF="synth-running.html"
|
ACCESSKEY="P"
|
ACCESSKEY="P"
|
>Prev</A
|
>Prev</A
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="80%"
|
WIDTH="80%"
|
ALIGN="center"
|
ALIGN="center"
|
VALIGN="bottom"
|
VALIGN="bottom"
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="10%"
|
WIDTH="10%"
|
ALIGN="right"
|
ALIGN="right"
|
VALIGN="bottom"
|
VALIGN="bottom"
|
><A
|
><A
|
HREF="synth-console.html"
|
HREF="synth-console.html"
|
ACCESSKEY="N"
|
ACCESSKEY="N"
|
>Next</A
|
>Next</A
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
><HR
|
><HR
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
WIDTH="100%"></DIV
|
WIDTH="100%"></DIV
|
><H1
|
><H1
|
><A
|
><A
|
NAME="SYNTH-GUI">The I/O Auxiliary's User Interface</H1
|
NAME="SYNTH-GUI">The I/O Auxiliary's User Interface</H1
|
><DIV
|
><DIV
|
CLASS="REFNAMEDIV"
|
CLASS="REFNAMEDIV"
|
><A
|
><A
|
NAME="AEN17960"
|
NAME="AEN17960"
|
></A
|
></A
|
><H2
|
><H2
|
>Name</H2
|
>Name</H2
|
>User Interface -- Controlling the I/O Auxiliary</DIV
|
>User Interface -- Controlling the I/O Auxiliary</DIV
|
><DIV
|
><DIV
|
CLASS="REFSECT1"
|
CLASS="REFSECT1"
|
><A
|
><A
|
NAME="SYNTH-GUI-DESCRIPTION"
|
NAME="SYNTH-GUI-DESCRIPTION"
|
></A
|
></A
|
><H2
|
><H2
|
>Description</H2
|
>Description</H2
|
><P
|
><P
|
>The synthetic target auxiliary is designed to support both extensions
|
>The synthetic target auxiliary is designed to support both extensions
|
and user customization. Support for the desired devices is dynamically
|
and user customization. Support for the desired devices is dynamically
|
loaded, and each device can extend the user interface. For example it
|
loaded, and each device can extend the user interface. For example it
|
is possible for a device to add menu options, place new buttons on the
|
is possible for a device to add menu options, place new buttons on the
|
toolbar, create its own sub-window within the overall layout, or even
|
toolbar, create its own sub-window within the overall layout, or even
|
create entire new toplevel windows. These subwindows or toplevels
|
create entire new toplevel windows. These subwindows or toplevels
|
could show graphs of activity such as interrupts or packets being
|
could show graphs of activity such as interrupts or packets being
|
transferred. They could also allow users to interact with the eCos
|
transferred. They could also allow users to interact with the eCos
|
application, for example by showing a number of buttons which will be
|
application, for example by showing a number of buttons which will be
|
mapped on to digital inputs in the eCos application. Different
|
mapped on to digital inputs in the eCos application. Different
|
applications will have their own I/O requirements, changing the
|
applications will have their own I/O requirements, changing the
|
host-side support files that get loaded and that may modify the user
|
host-side support files that get loaded and that may modify the user
|
interface. The I/O auxiliary also reads in user configuration scripts
|
interface. The I/O auxiliary also reads in user configuration scripts
|
which can enhance the interface in the same way. Therefore the exact
|
which can enhance the interface in the same way. Therefore the exact
|
user interface will depend on the user and on the eCos application
|
user interface will depend on the user and on the eCos application
|
being run. However the overall layout is likely to remain the same.
|
being run. However the overall layout is likely to remain the same.
|
</P
|
</P
|
><DIV
|
><DIV
|
CLASS="INFORMALFIGURE"
|
CLASS="INFORMALFIGURE"
|
><A
|
><A
|
NAME="AEN17966"><P
|
NAME="AEN17966"><P
|
></P
|
></P
|
><DIV
|
><DIV
|
CLASS="MEDIAOBJECT"
|
CLASS="MEDIAOBJECT"
|
><P
|
><P
|
><IMG
|
><IMG
|
SRC="screen_main.png"
|
SRC="screen_main.png"
|
ALIGN="CENTER"></P
|
ALIGN="CENTER"></P
|
></DIV
|
></DIV
|
><P
|
><P
|
></P
|
></P
|
></DIV
|
></DIV
|
><P
|
><P
|
>The title bar identifies the window as belonging to an eCos synthetic
|
>The title bar identifies the window as belonging to an eCos synthetic
|
target application and lists both the application name and its process
|
target application and lists both the application name and its process
|
id. The latter is especially useful if the application was started
|
id. The latter is especially useful if the application was started
|
directly from a shell prompt and the user now wants to attach a gdb
|
directly from a shell prompt and the user now wants to attach a gdb
|
session. The window has a conventional menu bar with the usual
|
session. The window has a conventional menu bar with the usual
|
entries, plus a toolbar with buttons for common operations such as cut
|
entries, plus a toolbar with buttons for common operations such as cut
|
and paste. Balloon help is supported.
|
and paste. Balloon help is supported.
|
</P
|
</P
|
><P
|
><P
|
>There is a central <A
|
>There is a central <A
|
HREF="synth-gui.html#SYNTH-GUI-TEXT"
|
HREF="synth-gui.html#SYNTH-GUI-TEXT"
|
>text window</A
|
>text window</A
|
>,
|
>,
|
possibly surrounded by various sub-windows for various devices. For
|
possibly surrounded by various sub-windows for various devices. For
|
example there could be a row of emulated LED's above the text window,
|
example there could be a row of emulated LED's above the text window,
|
and monitors of ethernet traffic and interrupt activity on the right.
|
and monitors of ethernet traffic and interrupt activity on the right.
|
At the bottom of the window is a status line, including a small
|
At the bottom of the window is a status line, including a small
|
animation that shows whether or not the eCos application is still
|
animation that shows whether or not the eCos application is still
|
running.
|
running.
|
</P
|
</P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="REFSECT1"
|
CLASS="REFSECT1"
|
><A
|
><A
|
NAME="SYNTH-GUI-MENUS"
|
NAME="SYNTH-GUI-MENUS"
|
></A
|
></A
|
><H2
|
><H2
|
>Menus and the Toolbar</H2
|
>Menus and the Toolbar</H2
|
><P
|
><P
|
>Usually there will be four menus on the menu bar:
|
>Usually there will be four menus on the menu bar:
|
<SPAN
|
<SPAN
|
CLASS="GUIMENU"
|
CLASS="GUIMENU"
|
>File</SPAN
|
>File</SPAN
|
>, <SPAN
|
>, <SPAN
|
CLASS="GUIMENU"
|
CLASS="GUIMENU"
|
>Edit</SPAN
|
>Edit</SPAN
|
>,
|
>,
|
<SPAN
|
<SPAN
|
CLASS="GUIMENU"
|
CLASS="GUIMENU"
|
>View</SPAN
|
>View</SPAN
|
> and <SPAN
|
> and <SPAN
|
CLASS="GUIMENU"
|
CLASS="GUIMENU"
|
>Help</SPAN
|
>Help</SPAN
|
>.
|
>.
|
</P
|
</P
|
><DIV
|
><DIV
|
CLASS="INFORMALFIGURE"
|
CLASS="INFORMALFIGURE"
|
><A
|
><A
|
NAME="AEN17980"><P
|
NAME="AEN17980"><P
|
></P
|
></P
|
><DIV
|
><DIV
|
CLASS="MEDIAOBJECT"
|
CLASS="MEDIAOBJECT"
|
><P
|
><P
|
><IMG
|
><IMG
|
SRC="menu_file.png"
|
SRC="menu_file.png"
|
ALIGN="CENTER"></P
|
ALIGN="CENTER"></P
|
></DIV
|
></DIV
|
><P
|
><P
|
></P
|
></P
|
></DIV
|
></DIV
|
><P
|
><P
|
>On the <SPAN
|
>On the <SPAN
|
CLASS="GUIMENU"
|
CLASS="GUIMENU"
|
>File</SPAN
|
>File</SPAN
|
> menu there are three entries related to
|
> menu there are three entries related to
|
saving the current contents of the central text window.
|
saving the current contents of the central text window.
|
<SPAN
|
<SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Save</SPAN
|
>Save</SPAN
|
> is used to save the currently visible
|
> is used to save the currently visible
|
contents of the text window. Any text that is hidden because of
|
contents of the text window. Any text that is hidden because of
|
filters will not be written to the savefile. If there has been a
|
filters will not be written to the savefile. If there has been a
|
previous <SPAN
|
previous <SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Save</SPAN
|
>Save</SPAN
|
> or <SPAN
|
> or <SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Save
|
>Save
|
As</SPAN
|
As</SPAN
|
> operation then the existing savefile will be re-used,
|
> operation then the existing savefile will be re-used,
|
otherwise the user will be asked to select a suitable file.
|
otherwise the user will be asked to select a suitable file.
|
<SPAN
|
<SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Save As</SPAN
|
>Save As</SPAN
|
> also saves just the currently
|
> also saves just the currently
|
visible contents but will always prompt the user for a filename.
|
visible contents but will always prompt the user for a filename.
|
<SPAN
|
<SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Save All</SPAN
|
>Save All</SPAN
|
> can be used to save the full
|
> can be used to save the full
|
contents of the text window, including any text that is currently
|
contents of the text window, including any text that is currently
|
hidden. It will always prompt for a new filename, to avoid confusion
|
hidden. It will always prompt for a new filename, to avoid confusion
|
with partial savefiles.
|
with partial savefiles.
|
</P
|
</P
|
><P
|
><P
|
>Usually the eCos application will be run from inside gdb or from a
|
>Usually the eCos application will be run from inside gdb or from a
|
shell prompt. Killing off the application while it is being debugged
|
shell prompt. Killing off the application while it is being debugged
|
in a gdb session is not a good idea, it would be better to use gdb's
|
in a gdb session is not a good idea, it would be better to use gdb's
|
own <B
|
own <B
|
CLASS="COMMAND"
|
CLASS="COMMAND"
|
>kill</B
|
>kill</B
|
> command. Alternatively the eCos
|
> command. Alternatively the eCos
|
application itself can use the <TT
|
application itself can use the <TT
|
CLASS="FUNCTION"
|
CLASS="FUNCTION"
|
>CYG_TEST_EXIT</TT
|
>CYG_TEST_EXIT</TT
|
> or
|
> or
|
<TT
|
<TT
|
CLASS="FILENAME"
|
CLASS="FILENAME"
|
>cyg_hal_sys_exit</TT
|
>cyg_hal_sys_exit</TT
|
> functionality. However it is
|
> functionality. However it is
|
possible to terminate the application from the I/O auxiliary using
|
possible to terminate the application from the I/O auxiliary using
|
<SPAN
|
<SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Kill eCos</SPAN
|
>Kill eCos</SPAN
|
>. A clean shutdown will be
|
>. A clean shutdown will be
|
attempted, but that can fail if the application is currently halted
|
attempted, but that can fail if the application is currently halted
|
inside gdb or if it has crashed completely. As a last resort
|
inside gdb or if it has crashed completely. As a last resort
|
<TT
|
<TT
|
CLASS="CONSTANT"
|
CLASS="CONSTANT"
|
>SIGKILL</TT
|
>SIGKILL</TT
|
> will be used.
|
> will be used.
|
</P
|
</P
|
><P
|
><P
|
>When operating in graphical mode the I/O auxiliary will normally
|
>When operating in graphical mode the I/O auxiliary will normally
|
continue to run even after the eCos application has exited. This
|
continue to run even after the eCos application has exited. This
|
allows the user to examine the last few lines of output, and perhaps
|
allows the user to examine the last few lines of output, and perhaps
|
perform actions such as saving the output to a file. The
|
perform actions such as saving the output to a file. The
|
<SPAN
|
<SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Exit</SPAN
|
>Exit</SPAN
|
> menu item can be used to shut down the
|
> menu item can be used to shut down the
|
auxiliary. Note that this behaviour can be changed with command line
|
auxiliary. Note that this behaviour can be changed with command line
|
arguments <A
|
arguments <A
|
HREF="synth-running.html#SYNTH-RUNNING-ARGUMENTS"
|
HREF="synth-running.html#SYNTH-RUNNING-ARGUMENTS"
|
><TT
|
><TT
|
CLASS="OPTION"
|
CLASS="OPTION"
|
>--exit</TT
|
>--exit</TT
|
></A
|
></A
|
> and
|
> and
|
<A
|
<A
|
HREF="synth-running.html#SYNTH-RUNNING-ARGUMENTS"
|
HREF="synth-running.html#SYNTH-RUNNING-ARGUMENTS"
|
><TT
|
><TT
|
CLASS="OPTION"
|
CLASS="OPTION"
|
>--no-exit</TT
|
>--no-exit</TT
|
></A
|
></A
|
>.
|
>.
|
</P
|
</P
|
><P
|
><P
|
>If <SPAN
|
>If <SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Exit</SPAN
|
>Exit</SPAN
|
> is used while the eCos application
|
> is used while the eCos application
|
is still running then the I/O auxiliary will first attempt to
|
is still running then the I/O auxiliary will first attempt to
|
terminate the application cleanly, and then exit.
|
terminate the application cleanly, and then exit.
|
</P
|
</P
|
><DIV
|
><DIV
|
CLASS="INFORMALFIGURE"
|
CLASS="INFORMALFIGURE"
|
><A
|
><A
|
NAME="AEN18005"><P
|
NAME="AEN18005"><P
|
></P
|
></P
|
><DIV
|
><DIV
|
CLASS="MEDIAOBJECT"
|
CLASS="MEDIAOBJECT"
|
><P
|
><P
|
><IMG
|
><IMG
|
SRC="menu_edit.png"
|
SRC="menu_edit.png"
|
ALIGN="CENTER"></P
|
ALIGN="CENTER"></P
|
></DIV
|
></DIV
|
><P
|
><P
|
></P
|
></P
|
></DIV
|
></DIV
|
><P
|
><P
|
>The <SPAN
|
>The <SPAN
|
CLASS="GUIMENU"
|
CLASS="GUIMENU"
|
>Edit</SPAN
|
>Edit</SPAN
|
> menu contains the usual entries for
|
> menu contains the usual entries for
|
text manipulation: <SPAN
|
text manipulation: <SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Cut</SPAN
|
>Cut</SPAN
|
>,
|
>,
|
<SPAN
|
<SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Copy</SPAN
|
>Copy</SPAN
|
>, <SPAN
|
>, <SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Paste</SPAN
|
>Paste</SPAN
|
>,
|
>,
|
<SPAN
|
<SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Clear</SPAN
|
>Clear</SPAN
|
> and <SPAN
|
> and <SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Select
|
>Select
|
All</SPAN
|
All</SPAN
|
>. These all operate on the central text window. By
|
>. These all operate on the central text window. By
|
default this window cannot be edited so the cut, paste and clear
|
default this window cannot be edited so the cut, paste and clear
|
operations are disabled. If the user wants to edit the contents of the
|
operations are disabled. If the user wants to edit the contents of the
|
text window then the <SPAN
|
text window then the <SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Read Only</SPAN
|
>Read Only</SPAN
|
> checkbutton
|
> checkbutton
|
should be toggled.
|
should be toggled.
|
</P
|
</P
|
><P
|
><P
|
>The <SPAN
|
>The <SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Preferences</SPAN
|
>Preferences</SPAN
|
> menu item brings up a
|
> menu item brings up a
|
miscellaneous preferences dialog. One of the preferences relates to
|
miscellaneous preferences dialog. One of the preferences relates to
|
online help: the I/O auxiliary does not currently have a built-in html
|
online help: the I/O auxiliary does not currently have a built-in html
|
viewer; instead it will execute an external browser of some sort. With
|
viewer; instead it will execute an external browser of some sort. With
|
the example settings shown, the I/O auxiliary will first attempt to
|
the example settings shown, the I/O auxiliary will first attempt to
|
interact with an existing mozilla session. If that fails it will try
|
interact with an existing mozilla session. If that fails it will try
|
to run a new mozilla instance, or as a last result use the Gnome help
|
to run a new mozilla instance, or as a last result use the Gnome help
|
viewer.
|
viewer.
|
</P
|
</P
|
><DIV
|
><DIV
|
CLASS="INFORMALFIGURE"
|
CLASS="INFORMALFIGURE"
|
><A
|
><A
|
NAME="AEN18019"><P
|
NAME="AEN18019"><P
|
></P
|
></P
|
><DIV
|
><DIV
|
CLASS="MEDIAOBJECT"
|
CLASS="MEDIAOBJECT"
|
><P
|
><P
|
><IMG
|
><IMG
|
SRC="preferences.png"
|
SRC="preferences.png"
|
ALIGN="CENTER"></P
|
ALIGN="CENTER"></P
|
></DIV
|
></DIV
|
><P
|
><P
|
></P
|
></P
|
></DIV
|
></DIV
|
><P
|
><P
|
>The <SPAN
|
>The <SPAN
|
CLASS="GUIMENU"
|
CLASS="GUIMENU"
|
>View</SPAN
|
>View</SPAN
|
> menu contains the <SPAN
|
> menu contains the <SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>System
|
>System
|
Filters</SPAN
|
Filters</SPAN
|
> entry, used to edit the settings for the current
|
> entry, used to edit the settings for the current
|
<A
|
<A
|
HREF="synth-gui.html#SYNTH-GUI-TEXT"
|
HREF="synth-gui.html#SYNTH-GUI-TEXT"
|
>filters</A
|
>filters</A
|
>.
|
>.
|
</P
|
</P
|
><DIV
|
><DIV
|
CLASS="INFORMALFIGURE"
|
CLASS="INFORMALFIGURE"
|
><A
|
><A
|
NAME="AEN18027"><P
|
NAME="AEN18027"><P
|
></P
|
></P
|
><DIV
|
><DIV
|
CLASS="MEDIAOBJECT"
|
CLASS="MEDIAOBJECT"
|
><P
|
><P
|
><IMG
|
><IMG
|
SRC="menu_view.png"
|
SRC="menu_view.png"
|
ALIGN="CENTER"></P
|
ALIGN="CENTER"></P
|
></DIV
|
></DIV
|
><P
|
><P
|
></P
|
></P
|
></DIV
|
></DIV
|
><P
|
><P
|
>The <SPAN
|
>The <SPAN
|
CLASS="GUIMENU"
|
CLASS="GUIMENU"
|
>Help</SPAN
|
>Help</SPAN
|
> menu can be used to activate online help
|
> menu can be used to activate online help
|
for eCos generally, for the synthetic target as a whole, and for
|
for eCos generally, for the synthetic target as a whole, and for
|
specific devices supported by the generic target. The Preferences
|
specific devices supported by the generic target. The Preferences
|
dialog can be used to select the browser that will be used.
|
dialog can be used to select the browser that will be used.
|
</P
|
</P
|
><DIV
|
><DIV
|
CLASS="INFORMALFIGURE"
|
CLASS="INFORMALFIGURE"
|
><A
|
><A
|
NAME="AEN18033"><P
|
NAME="AEN18033"><P
|
></P
|
></P
|
><DIV
|
><DIV
|
CLASS="MEDIAOBJECT"
|
CLASS="MEDIAOBJECT"
|
><P
|
><P
|
><IMG
|
><IMG
|
SRC="menu_help.png"
|
SRC="menu_help.png"
|
ALIGN="CENTER"></P
|
ALIGN="CENTER"></P
|
></DIV
|
></DIV
|
><P
|
><P
|
></P
|
></P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="NOTE"
|
CLASS="NOTE"
|
><BLOCKQUOTE
|
><BLOCKQUOTE
|
CLASS="NOTE"
|
CLASS="NOTE"
|
><P
|
><P
|
><B
|
><B
|
>Note: </B
|
>Note: </B
|
>At the time of writing there is no well-defined toplevel index file
|
>At the time of writing there is no well-defined toplevel index file
|
for all eCos documentation. Hence the relevant menu item is disabled.
|
for all eCos documentation. Hence the relevant menu item is disabled.
|
Documentation for the synthetic target and the supported devices
|
Documentation for the synthetic target and the supported devices
|
is stored as part of the package itself so can usually be found fairly
|
is stored as part of the package itself so can usually be found fairly
|
easily. It may be necessary to set the <TT
|
easily. It may be necessary to set the <TT
|
CLASS="ENVAR"
|
CLASS="ENVAR"
|
>ECOS_REPOSITORY</TT
|
>ECOS_REPOSITORY</TT
|
>
|
>
|
environment variable.
|
environment variable.
|
</P
|
</P
|
></BLOCKQUOTE
|
></BLOCKQUOTE
|
></DIV
|
></DIV
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="REFSECT1"
|
CLASS="REFSECT1"
|
><A
|
><A
|
NAME="SYNTH-GUI-TEXT"
|
NAME="SYNTH-GUI-TEXT"
|
></A
|
></A
|
><H2
|
><H2
|
>The Main Text Window</H2
|
>The Main Text Window</H2
|
><P
|
><P
|
>The central text window holds the console output from the eCos
|
>The central text window holds the console output from the eCos
|
application: the screen shot above shows DHCP initialization data from
|
application: the screen shot above shows DHCP initialization data from
|
the TCP/IP stack, and some output from the <TT
|
the TCP/IP stack, and some output from the <TT
|
CLASS="FUNCTION"
|
CLASS="FUNCTION"
|
>main</TT
|
>main</TT
|
>
|
>
|
thread at the bottom. Some devices can insert text of their own, for
|
thread at the bottom. Some devices can insert text of their own, for
|
example the ethernet device support can be configured to show details
|
example the ethernet device support can be configured to show details
|
of incoming and outgoing packets. Mixing the output from the eCos
|
of incoming and outgoing packets. Mixing the output from the eCos
|
application and the various devices can make it easier to understand
|
application and the various devices can make it easier to understand
|
the order in which events occur.
|
the order in which events occur.
|
</P
|
</P
|
><P
|
><P
|
>The appearance of text from different sources can be controlled by
|
>The appearance of text from different sources can be controlled by
|
means of filters, and it is also possible to hide some of the text.
|
means of filters, and it is also possible to hide some of the text.
|
For example, if tracing is enabled in the eCos configuration then the
|
For example, if tracing is enabled in the eCos configuration then the
|
trace output can be given its own colour scheme, making it stand out
|
trace output can be given its own colour scheme, making it stand out
|
from the rest of the output. In addition the trace output is generally
|
from the rest of the output. In addition the trace output is generally
|
voluminous so it can be hidden by default, made visible only to find
|
voluminous so it can be hidden by default, made visible only to find
|
out more about what was happening when a particular problem occurred.
|
out more about what was happening when a particular problem occurred.
|
Similarly the ethernet device support can output details of the
|
Similarly the ethernet device support can output details of the
|
various packets being transferred, and using a different background
|
various packets being transferred, and using a different background
|
colour for this output again makes it easier to distinguish from
|
colour for this output again makes it easier to distinguish from
|
console output.
|
console output.
|
</P
|
</P
|
><P
|
><P
|
>The default appearance for most filters is controlled via the
|
>The default appearance for most filters is controlled via the
|
<A
|
<A
|
HREF="synth-running.html#SYNTH-RUNNING-TDF"
|
HREF="synth-running.html#SYNTH-RUNNING-TDF"
|
>target definition file</A
|
>target definition file</A
|
>. An
|
>. An
|
example entry might be:
|
example entry might be:
|
</P
|
</P
|
><TABLE
|
><TABLE
|
BORDER="5"
|
BORDER="5"
|
BGCOLOR="#E0E0F0"
|
BGCOLOR="#E0E0F0"
|
WIDTH="70%"
|
WIDTH="70%"
|
><TR
|
><TR
|
><TD
|
><TD
|
><PRE
|
><PRE
|
CLASS="PROGRAMLISTING"
|
CLASS="PROGRAMLISTING"
|
> filter trace {^TRACE:.*} -foreground HotPink1 -hide 1</PRE
|
> filter trace {^TRACE:.*} -foreground HotPink1 -hide 1</PRE
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
><P
|
><P
|
>The various colours and the hide flag for each filter can be changed
|
>The various colours and the hide flag for each filter can be changed
|
at run-time, using the <SPAN
|
at run-time, using the <SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>System Filters</SPAN
|
>System Filters</SPAN
|
> item
|
> item
|
on the <SPAN
|
on the <SPAN
|
CLASS="GUIMENU"
|
CLASS="GUIMENU"
|
>View</SPAN
|
>View</SPAN
|
> menu. This will bring up a dialog like
|
> menu. This will bring up a dialog like
|
the following:
|
the following:
|
</P
|
</P
|
><DIV
|
><DIV
|
CLASS="INFORMALFIGURE"
|
CLASS="INFORMALFIGURE"
|
><A
|
><A
|
NAME="AEN18051"><P
|
NAME="AEN18051"><P
|
></P
|
></P
|
><DIV
|
><DIV
|
CLASS="MEDIAOBJECT"
|
CLASS="MEDIAOBJECT"
|
><P
|
><P
|
><IMG
|
><IMG
|
SRC="filters.png"
|
SRC="filters.png"
|
ALIGN="CENTER"></P
|
ALIGN="CENTER"></P
|
></DIV
|
></DIV
|
><P
|
><P
|
></P
|
></P
|
></DIV
|
></DIV
|
><P
|
><P
|
>It should be noted that the text window is line-oriented, not
|
>It should be noted that the text window is line-oriented, not
|
character-oriented. If an eCos application sends a partial line of
|
character-oriented. If an eCos application sends a partial line of
|
text then that will remain buffered until a newline character is
|
text then that will remain buffered until a newline character is
|
received, rather than being displayed immediately. This avoids
|
received, rather than being displayed immediately. This avoids
|
confusion when there is concurrent output from several sources.
|
confusion when there is concurrent output from several sources.
|
</P
|
</P
|
><P
|
><P
|
>By default the text window is read-only. This means it will not allow
|
>By default the text window is read-only. This means it will not allow
|
cut, paste and clear operations, and keyboard input will be ignored.
|
cut, paste and clear operations, and keyboard input will be ignored.
|
The <SPAN
|
The <SPAN
|
CLASS="GUIMENU"
|
CLASS="GUIMENU"
|
>Edit</SPAN
|
>Edit</SPAN
|
> menu has a checkbutton <SPAN
|
> menu has a checkbutton <SPAN
|
CLASS="GUIMENUITEM"
|
CLASS="GUIMENUITEM"
|
>Read
|
>Read
|
Only</SPAN
|
Only</SPAN
|
> which can be toggled to allow write operations. For
|
> which can be toggled to allow write operations. For
|
example, a user could type in a reminder of what was happening at this
|
example, a user could type in a reminder of what was happening at this
|
time, or paste in part of a gdb session. Such keyboard input does not
|
time, or paste in part of a gdb session. Such keyboard input does not
|
get forwarded to the eCos application: if the latter requires keyboard
|
get forwarded to the eCos application: if the latter requires keyboard
|
input then that should happen via a separate keyboard device.
|
input then that should happen via a separate keyboard device.
|
</P
|
</P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="REFSECT1"
|
CLASS="REFSECT1"
|
><A
|
><A
|
NAME="SYNTH-GUI-LAYOUT"
|
NAME="SYNTH-GUI-LAYOUT"
|
></A
|
></A
|
><H2
|
><H2
|
>Positioning Optional Windows</H2
|
>Positioning Optional Windows</H2
|
><P
|
><P
|
>Some devices may create their own subwindows, for example to monitor
|
>Some devices may create their own subwindows, for example to monitor
|
ethernet traffic or to provide additional I/O facilities such as
|
ethernet traffic or to provide additional I/O facilities such as
|
emulated LED's or buttons. Usually the target definition file can be
|
emulated LED's or buttons. Usually the target definition file can be
|
used to control the <A
|
used to control the <A
|
HREF="synth-gui.html#SYNTH-GUI-LAYOUT"
|
HREF="synth-gui.html#SYNTH-GUI-LAYOUT"
|
>layout</A
|
>layout</A
|
> of
|
> of
|
these windows. This requires an understanding of the overall layout of
|
these windows. This requires an understanding of the overall layout of
|
the display.
|
the display.
|
</P
|
</P
|
><DIV
|
><DIV
|
CLASS="INFORMALFIGURE"
|
CLASS="INFORMALFIGURE"
|
><A
|
><A
|
NAME="AEN18063"><P
|
NAME="AEN18063"><P
|
></P
|
></P
|
><DIV
|
><DIV
|
CLASS="MEDIAOBJECT"
|
CLASS="MEDIAOBJECT"
|
><P
|
><P
|
><IMG
|
><IMG
|
SRC="layout.png"
|
SRC="layout.png"
|
ALIGN="CENTER"></P
|
ALIGN="CENTER"></P
|
></DIV
|
></DIV
|
><P
|
><P
|
></P
|
></P
|
></DIV
|
></DIV
|
><P
|
><P
|
>Subwindows are generally packed in one of eight frames surrounding the
|
>Subwindows are generally packed in one of eight frames surrounding the
|
central text window: <TT
|
central text window: <TT
|
CLASS="VARNAME"
|
CLASS="VARNAME"
|
>.main.nw</TT
|
>.main.nw</TT
|
>,
|
>,
|
<TT
|
<TT
|
CLASS="VARNAME"
|
CLASS="VARNAME"
|
>.main.n</TT
|
>.main.n</TT
|
>, <TT
|
>, <TT
|
CLASS="VARNAME"
|
CLASS="VARNAME"
|
>.main.ne</TT
|
>.main.ne</TT
|
>,
|
>,
|
<TT
|
<TT
|
CLASS="VARNAME"
|
CLASS="VARNAME"
|
>.main.w</TT
|
>.main.w</TT
|
>, <TT
|
>, <TT
|
CLASS="VARNAME"
|
CLASS="VARNAME"
|
>.main.e</TT
|
>.main.e</TT
|
>,
|
>,
|
<TT
|
<TT
|
CLASS="VARNAME"
|
CLASS="VARNAME"
|
>.main.sw</TT
|
>.main.sw</TT
|
>, <TT
|
>, <TT
|
CLASS="VARNAME"
|
CLASS="VARNAME"
|
>.main.s</TT
|
>.main.s</TT
|
>, and
|
>, and
|
<TT
|
<TT
|
CLASS="VARNAME"
|
CLASS="VARNAME"
|
>.main.se</TT
|
>.main.se</TT
|
>. To position a row of LED's above the text
|
>. To position a row of LED's above the text
|
window and towards the left, a target definition file could contain an
|
window and towards the left, a target definition file could contain an
|
entry such as:
|
entry such as:
|
</P
|
</P
|
><TABLE
|
><TABLE
|
BORDER="5"
|
BORDER="5"
|
BGCOLOR="#E0E0F0"
|
BGCOLOR="#E0E0F0"
|
WIDTH="70%"
|
WIDTH="70%"
|
><TR
|
><TR
|
><TD
|
><TD
|
><PRE
|
><PRE
|
CLASS="PROGRAMLISTING"
|
CLASS="PROGRAMLISTING"
|
>synth_device led {
|
>synth_device led {
|
pack -in .main.n -side left
|
pack -in .main.n -side left
|
…
|
…
|
}</PRE
|
}</PRE
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
><P
|
><P
|
>Similarly, to put a traffic monitor window on the right of the text
|
>Similarly, to put a traffic monitor window on the right of the text
|
window would involve something like:
|
window would involve something like:
|
</P
|
</P
|
><TABLE
|
><TABLE
|
BORDER="5"
|
BORDER="5"
|
BGCOLOR="#E0E0F0"
|
BGCOLOR="#E0E0F0"
|
WIDTH="70%"
|
WIDTH="70%"
|
><TR
|
><TR
|
><TD
|
><TD
|
><PRE
|
><PRE
|
CLASS="PROGRAMLISTING"
|
CLASS="PROGRAMLISTING"
|
> …
|
> …
|
monitor_pack -in .main.e -side bottom
|
monitor_pack -in .main.e -side bottom
|
…</PRE
|
…</PRE
|
></TD
|
></TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
><P
|
><P
|
>Often it will be sufficient to specify a container frame and one of
|
>Often it will be sufficient to specify a container frame and one of
|
<TT
|
<TT
|
CLASS="CONSTANT"
|
CLASS="CONSTANT"
|
>left</TT
|
>left</TT
|
>, <TT
|
>, <TT
|
CLASS="CONSTANT"
|
CLASS="CONSTANT"
|
>right</TT
|
>right</TT
|
>,
|
>,
|
<TT
|
<TT
|
CLASS="CONSTANT"
|
CLASS="CONSTANT"
|
>top</TT
|
>top</TT
|
> or <TT
|
> or <TT
|
CLASS="CONSTANT"
|
CLASS="CONSTANT"
|
>bottom</TT
|
>bottom</TT
|
>. Full control
|
>. Full control
|
over the positioning requires an understanding of Tcl/Tk and in
|
over the positioning requires an understanding of Tcl/Tk and in
|
particular the packing algorithm, and an appropriate reference work
|
particular the packing algorithm, and an appropriate reference work
|
should be consulted.
|
should be consulted.
|
</P
|
</P
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="REFSECT1"
|
CLASS="REFSECT1"
|
><A
|
><A
|
NAME="SYNTH-GUI-GLOBAL-CONFIG"
|
NAME="SYNTH-GUI-GLOBAL-CONFIG"
|
></A
|
></A
|
><H2
|
><H2
|
>Global Settings</H2
|
>Global Settings</H2
|
><DIV
|
><DIV
|
CLASS="NOTE"
|
CLASS="NOTE"
|
><BLOCKQUOTE
|
><BLOCKQUOTE
|
CLASS="NOTE"
|
CLASS="NOTE"
|
><P
|
><P
|
><B
|
><B
|
>Note: </B
|
>Note: </B
|
>This section still to be written - it should document the interaction
|
>This section still to be written - it should document the interaction
|
between X resources and ecosynth, and how users can control settings
|
between X resources and ecosynth, and how users can control settings
|
such as the main foreground and background colours.
|
such as the main foreground and background colours.
|
</P
|
</P
|
></BLOCKQUOTE
|
></BLOCKQUOTE
|
></DIV
|
></DIV
|
></DIV
|
></DIV
|
><DIV
|
><DIV
|
CLASS="NAVFOOTER"
|
CLASS="NAVFOOTER"
|
><HR
|
><HR
|
ALIGN="LEFT"
|
ALIGN="LEFT"
|
WIDTH="100%"><TABLE
|
WIDTH="100%"><TABLE
|
SUMMARY="Footer navigation table"
|
SUMMARY="Footer navigation table"
|
WIDTH="100%"
|
WIDTH="100%"
|
BORDER="0"
|
BORDER="0"
|
CELLPADDING="0"
|
CELLPADDING="0"
|
CELLSPACING="0"
|
CELLSPACING="0"
|
><TR
|
><TR
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="left"
|
ALIGN="left"
|
VALIGN="top"
|
VALIGN="top"
|
><A
|
><A
|
HREF="synth-running.html"
|
HREF="synth-running.html"
|
ACCESSKEY="P"
|
ACCESSKEY="P"
|
>Prev</A
|
>Prev</A
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="34%"
|
WIDTH="34%"
|
ALIGN="center"
|
ALIGN="center"
|
VALIGN="top"
|
VALIGN="top"
|
><A
|
><A
|
HREF="ecos-ref.html"
|
HREF="ecos-ref.html"
|
ACCESSKEY="H"
|
ACCESSKEY="H"
|
>Home</A
|
>Home</A
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="right"
|
ALIGN="right"
|
VALIGN="top"
|
VALIGN="top"
|
><A
|
><A
|
HREF="synth-console.html"
|
HREF="synth-console.html"
|
ACCESSKEY="N"
|
ACCESSKEY="N"
|
>Next</A
|
>Next</A
|
></TD
|
></TD
|
></TR
|
></TR
|
><TR
|
><TR
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="left"
|
ALIGN="left"
|
VALIGN="top"
|
VALIGN="top"
|
>Running a Synthetic Target Application</TD
|
>Running a Synthetic Target Application</TD
|
><TD
|
><TD
|
WIDTH="34%"
|
WIDTH="34%"
|
ALIGN="center"
|
ALIGN="center"
|
VALIGN="top"
|
VALIGN="top"
|
><A
|
><A
|
HREF="hal-synth-arch.html"
|
HREF="hal-synth-arch.html"
|
ACCESSKEY="U"
|
ACCESSKEY="U"
|
>Up</A
|
>Up</A
|
></TD
|
></TD
|
><TD
|
><TD
|
WIDTH="33%"
|
WIDTH="33%"
|
ALIGN="right"
|
ALIGN="right"
|
VALIGN="top"
|
VALIGN="top"
|
>The Console Device</TD
|
>The Console Device</TD
|
></TR
|
></TR
|
></TABLE
|
></TABLE
|
></DIV
|
></DIV
|
></BODY
|
></BODY
|
></HTML
|
></HTML
|
|
|