diff options
Diffstat (limited to 'doc/html/x1214.html')
-rw-r--r-- | doc/html/x1214.html | 279 |
1 files changed, 279 insertions, 0 deletions
diff --git a/doc/html/x1214.html b/doc/html/x1214.html new file mode 100644 index 0000000..5d1ec08 --- /dev/null +++ b/doc/html/x1214.html @@ -0,0 +1,279 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> +<HTML +><HEAD +><TITLE +>Adding A New Board</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ +"><LINK +REL="HOME" +TITLE="DejaGnu" +HREF="book1.html"><LINK +REL="UP" +TITLE="Extending DejaGnu" +HREF="c1099.html"><LINK +REL="PREVIOUS" +TITLE="Adding A New Target" +HREF="x1195.html"><LINK +REL="NEXT" +TITLE="Board Config File Values" +HREF="x1234.html"></HEAD +><BODY +CLASS="SECT1" +BGCOLOR="#FFFFFF" +TEXT="#000000" +LINK="#0000FF" +VLINK="#840084" +ALINK="#0000FF" +><DIV +CLASS="NAVHEADER" +><TABLE +SUMMARY="Header navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="3" +ALIGN="center" +>DejaGnu: The GNU Testing Framework</TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="bottom" +><A +HREF="x1195.html" +ACCESSKEY="P" +><<< Previous</A +></TD +><TD +WIDTH="80%" +ALIGN="center" +VALIGN="bottom" +>Extending DejaGnu</TD +><TD +WIDTH="10%" +ALIGN="right" +VALIGN="bottom" +><A +HREF="x1234.html" +ACCESSKEY="N" +>Next >>></A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><DIV +CLASS="SECT1" +><H1 +CLASS="SECT1" +><A +NAME="ADDBOARD" +></A +>Adding A New Board</H1 +><P +>Adding a new board consists of creating a new board config + file. Examples are in + <TT +CLASS="FILENAME" +>dejagnu/baseboards</TT +>. Usually to make a new + board file, it's easiest to copy an existing one. It is also + possible to have your file be based on a + <I +CLASS="EMPHASIS" +>baseboard</I +> file with only one or two + changes needed. Typically, this can be as simple as just + changing the linker script. Once the new baseboard file is done, + add it to the <SPAN +CLASS="SYMBOL" +>boards_DATA</SPAN +> list in the + <TT +CLASS="FILENAME" +>dejagnu/baseboards/Makefile.am</TT +>, and regenerate the + Makefile.in using automake. Then just rebuild and install DejaGnu. You + can test it by:</P +><P +>There is a crude inheritance scheme going on with board files, so + you can include one board file into another, The two main procedures used + to do this are <TT +CLASS="FUNCTION" +>load_generic_config</TT +> and + <TT +CLASS="FUNCTION" +>load_base_board_description</TT +>. The generic config file + contains other procedures used for a certain class of target. The + board description file is where the board specfic settings go. Commonly + there are similar target environments with just different + processors.</P +><DIV +CLASS="EXAMPLE" +><A +NAME="AEN1224" +></A +><P +><B +>Example 6. Testing a New Board Config File</B +></P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="SCREEN" +> make check RUNTESTFLAGS="--target_board=<I +CLASS="EMPHASIS" +>newboardfile</I +>". + </PRE +></TD +></TR +></TABLE +></DIV +><P +>Here's an example of a board config file. There are + several <I +CLASS="EMPHASIS" +>helper procedures</I +> used in this + example. A helper procedure is one that look for a tool of files + in commonly installed locations. These are mostly used when + testing in the build tree, because the executables to be tested + are in the same tree as the new dejagnu files. The helper + procedures are the ones in square braces + <I +CLASS="EMPHASIS" +>[]</I +>, which is the Tcl execution characters.</P +><DIV +CLASS="EXAMPLE" +><A +NAME="AEN1231" +></A +><P +><B +>Example 7. Example Board Config File</B +></P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +> # Load the generic configuration for this board. This will define a basic + # set of routines needed by the tool to communicate with the board. + load_generic_config "sim" + + # basic-sim.exp is a basic description for the standard Cygnus simulator. + load_base_board_description "basic-sim" + + # The compiler used to build for this board. This has *nothing* to do + # with what compiler is tested if we're testing gcc. + set_board_info compiler "[find_gcc]" + + # We only support newlib on this target. + # However, we include libgloss so we can find the linker scripts. + set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]" + set_board_info ldflags "[newlib_link_flags]" + + # No linker script for this board. + set_board_info ldscript "-Tsim.ld"; + + # The simulator doesn't return exit statuses and we need to indicate this. + set_board_info needs_status_wrapper 1 + + # Can't pass arguments to this target. + set_board_info noargs 1 + + # No signals. + set_board_info gdb,nosignals 1 + + # And it can't call functions. + set_board_info gdb,cannot_call_functions 1 + + </PRE +></TD +></TR +></TABLE +></DIV +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +SUMMARY="Footer navigation table" +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="x1195.html" +ACCESSKEY="P" +><<< Previous</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="book1.html" +ACCESSKEY="H" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="x1234.html" +ACCESSKEY="N" +>Next >>></A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>Adding A New Target</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="c1099.html" +ACCESSKEY="U" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>Board Config File Values</TD +></TR +></TABLE +></DIV +></BODY +></HTML +>
\ No newline at end of file |