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