]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - packages/hal/synth/arch/v2_0/doc/synth-running.html
Initial revision
[karo-tx-redboot.git] / packages / hal / synth / arch / v2_0 / doc / synth-running.html
1 <!-- Copyright (C) 2002 Red Hat, Inc.                                -->
2 <!-- This material may be distributed only subject to the terms      -->
3 <!-- and conditions set forth in the Open Publication License, v1.0  -->
4 <!-- or later (the latest version is presently available at          -->
5 <!-- http://www.opencontent.org/openpub/).                           -->
6 <!-- Distribution of the work or derivative of the work in any       -->
7 <!-- standard (paper) book form is prohibited unless prior           -->
8 <!-- permission is obtained from the copyright holder.               -->
9 <HTML
10 ><HEAD
11 ><TITLE
12 >Running a Synthetic Target Application</TITLE
13 ><meta name="MSSmartTagsPreventParsing" content="TRUE">
14 <META
15 NAME="GENERATOR"
16 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
17 "><LINK
18 REL="HOME"
19 TITLE="eCos Synthetic Target"
20 HREF="hal-synth-arch.html"><LINK
21 REL="PREVIOUS"
22 TITLE="Installation"
23 HREF="synth-install.html"><LINK
24 REL="NEXT"
25 TITLE="The I/O Auxiliary's User Interface"
26 HREF="synth-gui.html"></HEAD
27 ><BODY
28 CLASS="REFENTRY"
29 BGCOLOR="#FFFFFF"
30 TEXT="#000000"
31 LINK="#0000FF"
32 VLINK="#840084"
33 ALINK="#0000FF"
34 ><DIV
35 CLASS="NAVHEADER"
36 ><TABLE
37 SUMMARY="Header navigation table"
38 WIDTH="100%"
39 BORDER="0"
40 CELLPADDING="0"
41 CELLSPACING="0"
42 ><TR
43 ><TH
44 COLSPAN="3"
45 ALIGN="center"
46 >eCos Synthetic Target</TH
47 ></TR
48 ><TR
49 ><TD
50 WIDTH="10%"
51 ALIGN="left"
52 VALIGN="bottom"
53 ><A
54 HREF="synth-install.html"
55 ACCESSKEY="P"
56 >Prev</A
57 ></TD
58 ><TD
59 WIDTH="80%"
60 ALIGN="center"
61 VALIGN="bottom"
62 ></TD
63 ><TD
64 WIDTH="10%"
65 ALIGN="right"
66 VALIGN="bottom"
67 ><A
68 HREF="synth-gui.html"
69 ACCESSKEY="N"
70 >Next</A
71 ></TD
72 ></TR
73 ></TABLE
74 ><HR
75 ALIGN="LEFT"
76 WIDTH="100%"></DIV
77 ><H1
78 ><A
79 NAME="SYNTH-RUNNING">Running a Synthetic Target Application</H1
80 ><DIV
81 CLASS="REFNAMEDIV"
82 ><A
83 NAME="AEN95"
84 ></A
85 ><H2
86 >Name</H2
87 >Execution&nbsp;--&nbsp;Arguments and configuration files</DIV
88 ><DIV
89 CLASS="REFSECT1"
90 ><A
91 NAME="SYNTH-RUNNING-DESCRIPTION"
92 ></A
93 ><H2
94 >Description</H2
95 ><P
96 >The procedure for configuring and building eCos and an application for
97 the synthetic target is the same as for any other eCos target. Once an
98 executable has been built it can be run like any Linux program, for
99 example from a shell prompt,
100     </P
101 ><TABLE
102 BORDER="5"
103 BGCOLOR="#E0E0F0"
104 WIDTH="70%"
105 ><TR
106 ><TD
107 ><PRE
108 CLASS="SCREEN"
109 >$ ecos_hello &lt;options&gt;</PRE
110 ></TD
111 ></TR
112 ></TABLE
113 ><P
114 >or using gdb:
115     </P
116 ><TABLE
117 BORDER="5"
118 BGCOLOR="#E0E0F0"
119 WIDTH="70%"
120 ><TR
121 ><TD
122 ><PRE
123 CLASS="SCREEN"
124 >$ gdb --nw --quiet --args ecos_hello &lt;options&gt;
125 (gdb) run
126 Starting program: ecos_hello &lt;options&gt;</PRE
127 ></TD
128 ></TR
129 ></TABLE
130 ><P
131 >By default use of the I/O auxiliary is disabled. If its I/O facilities
132 are required then the option <TT
133 CLASS="OPTION"
134 >--io</TT
135 > must be used.
136     </P
137 ><DIV
138 CLASS="NOTE"
139 ><BLOCKQUOTE
140 CLASS="NOTE"
141 ><P
142 ><B
143 >Note: </B
144 >In future the default behaviour may change, with the I/O auxiliary
145 being started by default. The option <TT
146 CLASS="OPTION"
147 >--nio</TT
148 > can be
149 used to prevent the auxiliary from being run.
150     </P
151 ></BLOCKQUOTE
152 ></DIV
153 ></DIV
154 ><DIV
155 CLASS="REFSECT1"
156 ><A
157 NAME="SYNTH-RUNNING-ARGUMENTS"
158 ></A
159 ><H2
160 >Command-line Arguments</H2
161 ><P
162 >The syntax for running a synthetic target application is:
163     </P
164 ><TABLE
165 BORDER="5"
166 BGCOLOR="#E0E0F0"
167 WIDTH="70%"
168 ><TR
169 ><TD
170 ><PRE
171 CLASS="SCREEN"
172 >$ &lt;ecos_app&gt; [options] [-- [app_options]]</PRE
173 ></TD
174 ></TR
175 ></TABLE
176 ><P
177 >Command line options up to the <TT
178 CLASS="OPTION"
179 >--</TT
180 > are passed on to
181 the I/O auxiliary. Subsequent arguments are not passed on to the
182 auxiliary, and hence can be used by the eCos application itself. The
183 full set of arguments can be accessed through the variables
184 <TT
185 CLASS="VARNAME"
186 >cyg_hal_sys_argc</TT
187 > and
188 <TT
189 CLASS="VARNAME"
190 >cyg_hal_sys_argv</TT
191 >. 
192     </P
193 ><P
194 >The following options are accepted as standard:
195     </P
196 ><P
197 ></P
198 ><DIV
199 CLASS="VARIABLELIST"
200 ><DL
201 ><DT
202 ><TT
203 CLASS="OPTION"
204 >--io</TT
205 ></DT
206 ><DD
207 ><P
208 >This option causes the eCos application to spawn the I/O auxiliary
209 during HAL initialization. Without this option only limited I/O will
210 be available.
211          </P
212 ></DD
213 ><DT
214 ><TT
215 CLASS="OPTION"
216 >--nio</TT
217 ></DT
218 ><DD
219 ><P
220 >This option prevents the eCos application from spawning the I/O
221 auxiliary. In the current version of the software this is the default.
222          </P
223 ></DD
224 ><DT
225 ><TT
226 CLASS="OPTION"
227 >-nw</TT
228 >, <TT
229 CLASS="OPTION"
230 >--no-windows</TT
231 ></DT
232 ><DD
233 ><P
234 >The I/O auxiliary can either provide a graphical user interface, or it
235 can run in a text-only mode. The default is to provide the graphical
236 interface, but this can be disabled with <TT
237 CLASS="OPTION"
238 >-nw</TT
239 >.
240 Emulation of some devices, for example buttons connected to digital
241 inputs, requires the graphical interface.
242          </P
243 ></DD
244 ><DT
245 ><TT
246 CLASS="OPTION"
247 >-w</TT
248 >, <TT
249 CLASS="OPTION"
250 >--windows</TT
251 ></DT
252 ><DD
253 ><P
254 >The <TT
255 CLASS="OPTION"
256 >-w</TT
257 > causes the I/O auxiliary to provide a
258 graphical user interface. This is the default.
259          </P
260 ></DD
261 ><DT
262 ><TT
263 CLASS="OPTION"
264 >-v</TT
265 >, <TT
266 CLASS="OPTION"
267 >--version</TT
268 ></DT
269 ><DD
270 ><P
271 >The <TT
272 CLASS="OPTION"
273 >-v</TT
274 > option can be used to determine the version of
275 the I/O auxiliary being used and where it has been installed. Both the
276 auxiliary and the eCos application will exit immediately.
277          </P
278 ></DD
279 ><DT
280 ><TT
281 CLASS="OPTION"
282 >-h</TT
283 >, <TT
284 CLASS="OPTION"
285 >--help</TT
286 ></DT
287 ><DD
288 ><P
289 ><TT
290 CLASS="OPTION"
291 >-h</TT
292 > causes the I/O auxiliary to list all accepted
293 command-line arguments. This happens after all devices have been
294 initialized, since the host-side support for some of the devices may
295 extend the list of recognised options. After this both the auxiliary
296 and the eCos application will exit immediately. This option implies
297 <TT
298 CLASS="OPTION"
299 >-nw</TT
300 >. 
301          </P
302 ></DD
303 ><DT
304 ><TT
305 CLASS="OPTION"
306 >-k</TT
307 >, <TT
308 CLASS="OPTION"
309 >--keep-going</TT
310 ></DT
311 ><DD
312 ><P
313 >If an error occurs in the I/O auxiliary while reading in any of the
314 configuration files or initializing devices, by default both the 
315 auxiliary and the eCos application will exit. The <TT
316 CLASS="OPTION"
317 >-k</TT
318 >
319 option can be used to make the auxiliary continue in spite of errors,
320 although obviously it may not be fully functional.
321          </P
322 ></DD
323 ><DT
324 ><TT
325 CLASS="OPTION"
326 >-nr</TT
327 >, <TT
328 CLASS="OPTION"
329 >--no-rc</TT
330 ></DT
331 ><DD
332 ><P
333 >Normally the auxiliary processes two <A
334 HREF="synth-running.html#SYNTH-RUNNING-USER-CONFIG"
335 >user configuration files</A
336 >
337 during startup: <TT
338 CLASS="FILENAME"
339 >initrc.tcl</TT
340 > and
341 <TT
342 CLASS="FILENAME"
343 >mainrc.tcl</TT
344 >. This can be suppressed using the
345 <TT
346 CLASS="OPTION"
347 >-nr</TT
348 > option.
349          </P
350 ></DD
351 ><DT
352 ><TT
353 CLASS="OPTION"
354 >-x</TT
355 >, <TT
356 CLASS="OPTION"
357 >--exit</TT
358 ></DT
359 ><DD
360 ><P
361 >When providing a graphical user interface the I/O auxiliary will
362 normally continue running even after the eCos application has exited.
363 This allows the user to take actions such as saving the current
364 contents of the main text window. If run with <TT
365 CLASS="OPTION"
366 >-x</TT
367 > then
368 the auxiliary will exit as soon the application exits.
369          </P
370 ></DD
371 ><DT
372 ><TT
373 CLASS="OPTION"
374 >-nx</TT
375 >, <TT
376 CLASS="OPTION"
377 >--no-exit</TT
378 ></DT
379 ><DD
380 ><P
381 >When the graphical user interface is disabled with
382 <TT
383 CLASS="OPTION"
384 >-nw</TT
385 > the I/O auxiliary will normally exit immediately
386 when the eCos application exits. Without the graphical frontend there
387 is usually no way for the user to interact directly with the
388 auxiliary, so there is no point in continuing to run once the eCos
389 application will no longer request any I/O operations. Specifying the
390 <TT
391 CLASS="OPTION"
392 >-nx</TT
393 > option causes the auxiliary to continue running
394 even after the application has exited.
395          </P
396 ></DD
397 ><DT
398 ><TT
399 CLASS="OPTION"
400 >-V</TT
401 >, <TT
402 CLASS="OPTION"
403 >--verbose</TT
404 ></DT
405 ><DD
406 ><P
407 >This option causes the I/O auxiliary to output some additional
408 information, especially during initialization.
409          </P
410 ></DD
411 ><DT
412 ><TT
413 CLASS="OPTION"
414 >-l &lt;file&gt;</TT
415 >, <TT
416 CLASS="OPTION"
417 >--logfile &lt;file&gt;</TT
418 ></DT
419 ><DD
420 ><P
421 >Much of the output of the eCos application and the I/O auxiliary is
422 simple text, for example resulting from eCos
423 <TT
424 CLASS="FUNCTION"
425 >printf</TT
426 > or <TT
427 CLASS="FUNCTION"
428 >diag_printf</TT
429 > calls.
430 When running in graphical mode this output goes to a central text
431 window, and can be saved to a file or edited via menus. The
432 <TT
433 CLASS="OPTION"
434 >-l</TT
435 > can be used to automatically generate an
436 additional logfile containing all the text. If graphical
437 mode is disabled then by default all the text just goes to the current
438 standard output. Specifying <TT
439 CLASS="OPTION"
440 >-l</TT
441 > causes most of the
442 text to go into a logfile instead, although some messages such as
443 errors generated by the auxiliary itself will still go to stdout as
444 well. 
445          </P
446 ></DD
447 ><DT
448 ><TT
449 CLASS="OPTION"
450 >-t &lt;file&gt;</TT
451 >, <TT
452 CLASS="OPTION"
453 >--target &lt;file&gt;</TT
454 ></DT
455 ><DD
456 ><P
457 >During initialization the I/O auxiliary reads in a target definition
458 file. This file holds information such as which Linux devices should
459 be used to emulate the various eCos devices. The <TT
460 CLASS="OPTION"
461 >-t</TT
462 >
463 option can be used to specify which target definition should be used
464 for the current run, defaulting to <TT
465 CLASS="FILENAME"
466 >default.tdf</TT
467 >.
468 It is not necessary to include the <TT
469 CLASS="FILENAME"
470 >.tdf</TT
471 > suffix,
472 this will be appended automatically if necessary.
473          </P
474 ></DD
475 ><DT
476 ><TT
477 CLASS="OPTION"
478 >-geometry &lt;geometry&gt;</TT
479 ></DT
480 ><DD
481 ><P
482 >This option can be used to control the size and position of the main
483 window, as per X conventions.
484          </P
485 ></DD
486 ></DL
487 ></DIV
488 ><P
489 >The I/O auxiliary loads support for the various devices dynamically
490 and some devices may accept additional command line arguments. Details
491 of these can be obtained using the <TT
492 CLASS="OPTION"
493 >-h</TT
494 > option or by
495 consulting the device-specific documentation. If an unrecognised
496 command line argument is used then a warning will be issued.
497     </P
498 ></DIV
499 ><DIV
500 CLASS="REFSECT1"
501 ><A
502 NAME="SYNTH-RUNNING-TDF"
503 ></A
504 ><H2
505 >The Target Definition File</H2
506 ><P
507 >The eCos application will want to access devices such as
508 <TT
509 CLASS="VARNAME"
510 >eth0</TT
511 > or <TT
512 CLASS="VARNAME"
513 >/dev/ser0</TT
514 >. These need to
515 be mapped on to Linux devices. For example some users may all traffic
516 on the eCos <TT
517 CLASS="VARNAME"
518 >/dev/ser0</TT
519 > serial device to go via the
520 Linux serial device <TT
521 CLASS="VARNAME"
522 >/dev/ttyS1</TT
523 >, while ethernet I/O
524 for the eCos <TT
525 CLASS="VARNAME"
526 >eth0</TT
527 > device should be mapped to the
528 Linux ethertap device <TT
529 CLASS="VARNAME"
530 >tap3</TT
531 >. Some devices may need
532 additional configuration information, for example to limit the
533 number of packets that should be buffered within the I/O auxiliary.
534 The target definition file provides all this information.
535     </P
536 ><P
537 >By default the I/O auxiliary will look for a file
538 <TT
539 CLASS="FILENAME"
540 >default.tdf</TT
541 >. An alternative target definition can
542 be specified on the command line using <TT
543 CLASS="OPTION"
544 >-t</TT
545 >, for
546 example:
547     </P
548 ><TABLE
549 BORDER="5"
550 BGCOLOR="#E0E0F0"
551 WIDTH="70%"
552 ><TR
553 ><TD
554 ><PRE
555 CLASS="SCREEN"
556 >$ bridge_app --io -t twineth</PRE
557 ></TD
558 ></TR
559 ></TABLE
560 ><P
561 >A <TT
562 CLASS="FILENAME"
563 >.tdf</TT
564 > suffix will be appended automatically if
565 necessary. If a relative pathname is used then the I/O auxiliary will
566 search for the target definition file in the current directory, then
567 in <TT
568 CLASS="FILENAME"
569 >~/.ecos/synth/</TT
570 >, and finally
571 in its install location.
572     </P
573 ><P
574 >A typical target definition file might look like this:
575     </P
576 ><TABLE
577 BORDER="5"
578 BGCOLOR="#E0E0F0"
579 WIDTH="70%"
580 ><TR
581 ><TD
582 ><PRE
583 CLASS="PROGRAMLISTING"
584 >synth_device console {
585     # appearance -foreground white -background black
586     filter trace {^TRACE:.*} -foreground HotPink1 -hide 1
587 }
588
589 synth_device ethernet {
590     eth0 real eth1
591     eth1 ethertap tap4 00:01:02:03:FE:06
592
593     ## Maximum number of packets that should be buffered per interface.
594     ## Default 16
595     #max_buffer 32
596
597     ## Filters for the various recognised protocols.
598     ## By default all filters are visible and use standard colours.
599     filter ether  -hide 0
600     #filter arp    -hide 1
601     #filter ipv4   -hide 1
602     #filter ipv6   -hide 1
603 }</PRE
604 ></TD
605 ></TR
606 ></TABLE
607 ><P
608 >A target definition file is actually a Tcl script that gets run in the
609 main interpreter of the I/O auxiliary during initialization. This
610 provides a lot of flexibility if necessary. For example the script
611 could open a socket to a resource management server of some sort to
612 determine which hardware facilities are already in use and adapt
613 accordingly. Another possibility is to adapt based on <A
614 HREF="synth-new-host.html#SYNTH-NEW-HOST-ARGS"
615 >command line arguments</A
616 >. Users who
617 are not familiar with Tcl programming should still be able to edit a
618 simple target definition file without too much difficulty, using a
619 mixture of cut'n'paste, commenting or uncommenting various lines, and
620 making small edits such as changing <TT
621 CLASS="LITERAL"
622 >tap4</TT
623 > to
624 <TT
625 CLASS="LITERAL"
626 >eth2</TT
627 >. 
628     </P
629 ><P
630 >Each type of device will have its own entry in the target definition
631 file, taking the form:
632     </P
633 ><TABLE
634 BORDER="5"
635 BGCOLOR="#E0E0F0"
636 WIDTH="70%"
637 ><TR
638 ><TD
639 ><PRE
640 CLASS="PROGRAMLISTING"
641 >synth_device &lt;device type&gt; {
642     &lt;options&gt;
643 }</PRE
644 ></TD
645 ></TR
646 ></TABLE
647 ><P
648 >The documentaton for each synthetic target device should provide
649 details of the options available for that device, and often a suitable
650 fragment that can be pasted into a target definition file and edited.
651 There is no specific set of options that a given device will always
652 provide. However in practice many devices will use common code
653 exported by the main I/O auxiliary, or their implementation will
654 involve some re-use of code for an existing device. Hence certain
655 types of option are common to many devices.
656     </P
657 ><P
658 >A good example of this is filters, which control the appearance of
659 text output. The above target definition file defines a filter
660 <TT
661 CLASS="VARNAME"
662 >trace</TT
663 > for output from the eCos application. The
664 regular expression will match output from the infrastructure package's
665 tracing facilities when <TT
666 CLASS="VARNAME"
667 >CYGDBG_USE_TRACING</TT
668 > and
669 <TT
670 CLASS="VARNAME"
671 >CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE</TT
672 > are enabled.
673 With the current settings this output will not be visible by default,
674 but can be made visible using the menu item <SPAN
675 CLASS="GUIMENUITEM"
676 >System
677 Filters</SPAN
678 >. If made visible the trace output will appear in
679 an unusual colour, so users can easily distinguish the trace output
680 from other text. All filters accept the following options:
681     </P
682 ><P
683 ></P
684 ><DIV
685 CLASS="VARIABLELIST"
686 ><DL
687 ><DT
688 ><TT
689 CLASS="OPTION"
690 >-hide [0|1]</TT
691 ></DT
692 ><DD
693 ><P
694 >This controls whether or not text matching this filter should be
695 invisible by default or not. At run-time the visibility of each filter
696 can be controlled using the <SPAN
697 CLASS="GUIMENUITEM"
698 >System Filters</SPAN
699 >
700 menu item.
701          </P
702 ></DD
703 ><DT
704 ><TT
705 CLASS="OPTION"
706 >-foreground &lt;colour&gt;</TT
707 ></DT
708 ><DD
709 ><P
710 >This specifies the foreground colour for all text matching this
711 filter. The colour can be specified using an RGB value such as
712 <TT
713 CLASS="LITERAL"
714 >#F08010</TT
715 >, or a symbolic name such as
716 <TT
717 CLASS="LITERAL"
718 >"light steel blue"</TT
719 >. The X11 utility
720 <SPAN
721 CLASS="APPLICATION"
722 >showrgb</SPAN
723 > can be used to find out
724 about the available colours.
725          </P
726 ></DD
727 ><DT
728 ><TT
729 CLASS="OPTION"
730 >-background &lt;colour&gt;</TT
731 ></DT
732 ><DD
733 ><P
734 >This specifies the background colour for all text matching the filter.
735 As with <TT
736 CLASS="OPTION"
737 >-foreground</TT
738 > the colour can be specified using
739 a symbolic name or an RGB value.
740          </P
741 ></DD
742 ></DL
743 ></DIV
744 ><P
745 >Some devices may create their own subwindows, for example to monitor
746 ethernet traffic or to provide additional I/O facilities such as
747 emulated LED's or buttons. Usually the target definition file can be
748 used to control the <A
749 HREF="synth-gui.html#SYNTH-GUI-LAYOUT"
750 >layout</A
751 > of
752 these windows.
753     </P
754 ><P
755 >The I/O auxiliary will not normally warn about
756 <B
757 CLASS="COMMAND"
758 >synth_device</B
759 > entries in the target definition file
760 for devices that are not actually needed by the current eCos
761 application. This makes it easier to use a single file for several
762 different applications. However it can lead to confusion if an entry
763 is spelled incorrectly and hence does not actually get used. The
764 <TT
765 CLASS="OPTION"
766 >-V</TT
767 > command line option can be used to get warnings
768 about unused device entries in the target definition file.
769     </P
770 ><P
771 >If the body of a <B
772 CLASS="COMMAND"
773 >synth_device</B
774 > command contains an
775 unrecognised option and the relevant device is in use, the I/O
776 auxiliary will always issue a warning about such options.
777     </P
778 ></DIV
779 ><DIV
780 CLASS="REFSECT1"
781 ><A
782 NAME="SYNTH-RUNNING-USER-CONFIG"
783 ></A
784 ><H2
785 >User Configuration Files</H2
786 ><P
787 >During initialization the I/O auxiliary will execute two user
788 configuration files, <TT
789 CLASS="FILENAME"
790 >initrc.tcl</TT
791 > and
792 <TT
793 CLASS="FILENAME"
794 >mainrc.tcl</TT
795 >. It will look for these files in the
796 directory <TT
797 CLASS="FILENAME"
798 >~/.ecos/synth/</TT
799 >. If
800 that directory does not yet exist it will be created and populated
801 with initial dummy files.
802     </P
803 ><P
804 >Both of these configuration files are Tcl scripts and will be run in
805 the main interpreter used by the I/O auxiliary itself. This means that
806 they have full access to the internals of the auxiliary including the
807 various Tk widgets, and they can perform file or socket I/O if
808 desired. The section <A
809 HREF="synth-new-host.html"
810 >Writing New Devices - host</A
811 > contains
812 information about the facilities available on the host-side for
813 writing new device drivers, and these can also be used in the
814 initialization scripts.
815     </P
816 ><P
817 >The <TT
818 CLASS="FILENAME"
819 >initrc.tcl</TT
820 > script is run before the auxiliary
821 has processed any requests from the eCos application, and hence before
822 any devices have been instantiated. At this point the generic
823 command-line arguments has been processed, the target definition file
824 has been read in, and the hooks functionality has been initialized. If
825 running in graphical mode the main window will have been created, but
826 has been withdrawn from the screen to allow new widgets to be added
827 without annoying screen flicker. A typical
828 <TT
829 CLASS="FILENAME"
830 >initrc.tcl</TT
831 > script could add some menu or toolbar
832 options, or install a hook function that will be run when the
833 eCos application exits.
834     </P
835 ><P
836 >The <TT
837 CLASS="FILENAME"
838 >mainrc.tcl</TT
839 > script is run after eCos has
840 performed all its device initialization and after C++ static
841 constructors have run, and just before the call to
842 <TT
843 CLASS="FUNCTION"
844 >cyg_start</TT
845 > which will end up transferring control
846 to the application itself. A typical <TT
847 CLASS="FILENAME"
848 >mainrc.tcl</TT
849 >
850 script could look at what interrupt vectors have been allocated to
851 which devices and create a little monitor window that shows interrupt
852 activity. 
853     </P
854 ></DIV
855 ><DIV
856 CLASS="REFSECT1"
857 ><A
858 NAME="SYNTH-RUNNING-SESSION"
859 ></A
860 ><H2
861 >Session Information</H2
862 ><P
863 >When running in graphical mode, the I/O auxiliary will read in a file
864 <TT
865 CLASS="FILENAME"
866 >~/.ecos/synth/guisession</TT
867 > containing session
868 information. This file should not normally be edited manually, instead
869 it gets updated automatically when the auxiliary exits. The purpose of
870 this file is to hold configuration options that are manipulated via
871 the graphical interface, for example which browser should be used to
872 display online help.
873     </P
874 ><DIV
875 CLASS="WARNING"
876 ><P
877 ></P
878 ><TABLE
879 CLASS="WARNING"
880 BORDER="1"
881 WIDTH="100%"
882 ><TR
883 ><TD
884 ALIGN="CENTER"
885 ><B
886 >Warning</B
887 ></TD
888 ></TR
889 ><TR
890 ><TD
891 ALIGN="LEFT"
892 ><P
893 >GUI session functionality is not yet available in the current release.
894 When that functionality is fully implemented it is possible that some
895 target definition file options may be removed, to be replaced by
896 graphical editing via a suitable preferences dialog, with the
897 current settings saved in the session file.
898     </P
899 ></TD
900 ></TR
901 ></TABLE
902 ></DIV
903 ></DIV
904 ><DIV
905 CLASS="NAVFOOTER"
906 ><HR
907 ALIGN="LEFT"
908 WIDTH="100%"><TABLE
909 SUMMARY="Footer navigation table"
910 WIDTH="100%"
911 BORDER="0"
912 CELLPADDING="0"
913 CELLSPACING="0"
914 ><TR
915 ><TD
916 WIDTH="33%"
917 ALIGN="left"
918 VALIGN="top"
919 ><A
920 HREF="synth-install.html"
921 ACCESSKEY="P"
922 >Prev</A
923 ></TD
924 ><TD
925 WIDTH="34%"
926 ALIGN="center"
927 VALIGN="top"
928 ><A
929 HREF="hal-synth-arch.html"
930 ACCESSKEY="H"
931 >Home</A
932 ></TD
933 ><TD
934 WIDTH="33%"
935 ALIGN="right"
936 VALIGN="top"
937 ><A
938 HREF="synth-gui.html"
939 ACCESSKEY="N"
940 >Next</A
941 ></TD
942 ></TR
943 ><TR
944 ><TD
945 WIDTH="33%"
946 ALIGN="left"
947 VALIGN="top"
948 >Installation</TD
949 ><TD
950 WIDTH="34%"
951 ALIGN="center"
952 VALIGN="top"
953 >&nbsp;</TD
954 ><TD
955 WIDTH="33%"
956 ALIGN="right"
957 VALIGN="top"
958 >The I/O Auxiliary's User Interface</TD
959 ></TR
960 ></TABLE
961 ></DIV
962 ></BODY
963 ></HTML
964 >