source: rtems/README.configure @ 5f5f681

4.104.11
Last change on this file since 5f5f681 was bb2266e4, checked in by Thomas Doerfler <Thomas.Doerfler@…>, on Oct 16, 2009 at 12:55:55 PM

added COBRA5475 BSP

  • Property mode set to 100644
File size: 8.4 KB
Line 
1#
2#  $Id$
3#
4
51. Autoconf support
6===================
7
8This version of RTEMS is configured with GNU autoconf. RTEMS can be
9configured and built either standalone or together with the compiler
10tools in the Cygnus one-tree structure. Using autoconf also means
11that RTEMS now can be built in a separate build directory.
12
13To re-generate auto*tool generated files (configure, Makefile.in etc),
14autoconf-2.59 and automake-1.8 are required.
15
162. Installation
17===============
18
192.1 Standalone build
20
21To configure RTEMS for a specific target, run configure in the build
22directory. In addition to the standard configure options, the following
23RTEMS-specific option are supported:
24
25      --disable-rtems-inlines
26      --disable-posix
27      --disable-itron
28      --disable-networking
29      --enable-cxx
30      --enable-bare-cpu-model=<MODEL>
31      --enable-bare-cpu-cflags=<FLAGS>
32      --enable-multiprocessing
33      --enable-rtemsbsp="bsp1 bsp2 ..."
34      --enable-tests
35      --enable-rdbg            (only valid for i386 and some PowerPC BSPs)
36      --enable-docs
37
38In addition, the following standard autoconf options are frequently
39used when configuring RTEMS installations:
40
41      --prefix=INSTALL_DIRECTORY
42
43By default, inline routines are used instead of macros where possible.
44Macros can be selected using the --disable-inlines option.  [NOTE:
45Some APIs may not support macro versions of their inline routines.]
46
47By default, the RTEMS POSIX 1003.1b interface is built for targets that support
48it. It can be disabled with the --disable-posix option.
49
50By default, the RTEMS uITRON interface is built for targets that support
51it. It can be disabled with the --disable-itron option.
52
53By default, the RTEMS networking support is built for targets which
54support it.  It can be specifically disabled for those targets
55with the --disable-networking option.
56
57By default, the RTEMS remote debugger server support is not built.
58It can be specifically enabled for the targets that support it.
59with the --enable-rdbg option. NB : the RTEMS networking support
60must be enabled to support the remote debugger server.
61
62By default, the RTEMS support of C++ is disabled.  It can be enabled
63with the --enable-cxx option. If the rtems++ C++ library is installed
64it will also be build.
65
66By default, the RTEMS test suites are NOT configured -- only the
67sample tests are built.  --enable-tests will configure
68the RTEMS test suite. The default speeds up the build
69and configure process when the tests are not desired.
70
71By default, RTEMS is built using arguments and build rules which require a
72gcc supporting the -specs option, ie. a gcc >= 2.8.
73[The --disable-gcc28 option, which has been present in former releases, has
74been removed.]
75
76By default, multiprocessing is is not built.  It can be enabled
77for those BSPs supporting it by the --enable-multiprocessing option.
78
79By default, all bsps for a target are built. The bare BSP is not built
80unless directly specified. There are  two ways of changing this:
81
82+ use the --enable-rtemsbsp option which will set the specified
83  bsps as the default bsps, or
84+ set the RTEMS_BSP variable during make (see below).
85
86The --enable-rtemsbsp= option configures RTEMS for a specific board
87within a target architecture.  Remember that the target specifies the
88CPU family while the BSP specifies the precise board you will be using.
89The following targets are supported:
90
91      (none)    will build the host-based version on Linux, Solaris and HPUX.
92
93      arm-rtems4.10
94      avr-rtems4.10
95      bfin-rtems4.10
96      h8300-rtems4.10
97      i386-rtems4.10
98      lm32-rtems4.10
99      m32c-rtems4.10
100      m32r-rtems4.10
101      m68k-rtems4.10
102      mips-rtems4.10
103      no_cpu-rtems4.10
104      powerpc-rtems4.10
105      sh-rtems4.10
106      sparc-rtems4.10
107      bare                    see notes
108
109The cross-compiler is set to $(target)-gcc by default.
110
111To build, run make in the build directory. To specify which bsps to build,
112add the RTEMS_BSP="bsp1 bsp2 .." to the make command.  Specifying multiple
113BSPs to build only works from the top level build directory.
114
115Installation is done under $(prefix)/rtems.
116
117As an example, to build and install the mvme136 and mvme162 bsps for m68k do:
118
119      (path_to_rtems_src)/configure --target=m68k-rtems
120
121      make RTEMS_BSP="mvme136 mvme162"
122     
123      make install RTEMS_BSP="mvme136 mvme162"
124
125The sample tests are built by 'make all' when configured with
126--enable-tests=samples.  Use --enable-tests=all to build the full
127test suite.
128
129Documentation is built separately from the source code.
130
1312.2 Target Dependent Notes
132
133bare:
134
1351.  See the README in the bare bsp source directory. This should
136    contain all info you need.
1372.  The bare bsp source contains a script to show how to build it.
1383.  The configure flags must be used to get the bare bsp to work.
139    The --enable-bare-cpu-model and --enable-bare-cpu-cflags are the
140    only pieces of information. The module is usually a gcc module
141    such as m68302 or mcpu32. The flags are passed directly to gcc.
142    Use "" if more than one option is specified.
143
1443. To use the installed RTEMS library
145=====================================
146
147To use the installed RTEMS bsps to build applications, the application
148makefile has to include a bsp-specific makefile that will define the
149RTEMS variables necessary to find include files and libraries. The
150bsp-specific makefile is installed at
151
152      $(RTEMS_MAKEFILE_PATH)/Makefile.inc
153
154For the erc32 bsp installed at /usr/local/cross, the environment
155variable RTEMS_MAKEFILE_PATH would be set as follows to the
156following:
157
158/usr/local/cross/sparc-rtems/rtems/erc32/Makefile.inc
159
1604. Supported target bsps
161========================
162
163The following bsps are supported:
164
165host-based      : posix (on Linux, FreeBSD, Cygwin, Solaris, and HPUX)
166
167arm             : csb336 csb337 edb7312 gba gp32 nds rtl22x rtl22xx_t
168                  smdk2410
169
170avr:            : avrtest
171
172bfin            : eZKit533 bf537Stamp
173
174c4x             : c3xsim c4xsim
175
176h8300           : h8sim
177
178i386            : i386ex pc386 pc386dx pc486 pc586 pc686 pck6 ts_386ex
179                NOTE: The "pc386" BSP can be compiled to support a
180                      variety of PC configurations including PC-104
181                      based solutions.
182
183lm32:           : lm32_evr
184
185m32c            : m32csim
186
187m32r            : m32rsim
188
189m68k            : av5282 csb360 gen68302 gen68360 gen68360_040
190                genmcf548x idp mcf5206elite mcf52235 mcf5235 mcf5239
191                m5484FireEngine mrm332 mvme136 mvme147s mvme162 mvme162lx
192                mvme167 ods68302 pgh360 sim68000 simcpu32 uC5282 COBRA5475
193
194no_cpu          : no_bsp  (porting example)
195
196mips            : csb350 genmongoosev hurricane jmr3904 rbtx4925 rbtx4938
197                p4600 p4650
198
199powerpc         : brs5l ep1a gen5200 gen83xx haleakala hsc_cm01 icecube
200                mbx821_001 mbx821_002 mbx821_002b mbx860_001b mbx860_002
201                mbx860_005b mcp750 mvme2100 mvme2307 mtx603e
202                mvme5500 mpc55xxevb mpc8260ads mpc8313erdb mpc8349eamds
203                pghplus pm520_cr825 pm520_ze30 psim score603e ss555
204                tqm8xx_stk8xx virtex
205
206                  NOTE: The "motorola_powerpc" BSP is a single BSP which
207                  can be conditionally compiled to support most Motorola
208                  VMEbus, CompactPCI, and MTX boards.)
209
210                  NOTE: The mbx8xx, gen5200, gen83xx, and tqm8xx BSPs are
211                  designed to handle a variety of boards based on the same
212                  family of system on chips CPUs
213
214sh              : gensh1 gensh2 gensh4 simsh1 simsh2 simsh4
215
216sparc           : erc32 sis leon2 leon3
217
218any             : bare
219
220The following ports were considered obsoleted after the 4.6 releases
221and were removed: a29k, hppa, i960, mips64orion, and or32.
222
223
2245. Makefile structure
225=====================
226
227The makefiles have been re-organized. Most gnu-based bsps now use three
228main makefiles:
229    + custom/default.cfg,
230    + custom/bsp.cfg and
231    + compilers/gcc-target-default.cfg.
232
233Default.cfg sets the default values of certain common build options.
234
235Bsp.cfg set bsp-specific build options and can also override the
236default settings.
237
238Gcc-target-default.cfg contains the common gcc definitions.
239
2406. Adding a bsp
241===============
242
243Please refer to the BSP and Device Driver Guide.
244
245
2467. Tested configurations
247========================
248
249All gnu-based bsps have been built on Linux.
250
251The native (posix) ports have been built and run only on Linux.
252
253The following configurations have NOT been tested:
254
255    + Anything on Nextstep, HPUX and Irix.
256    + The C4x and OR32 ports (requires specially patched toolchain)
257
2588. Prerequisites
259================
260
261Gawk version 2 or higher.
262GNU make version 3.72 or higher.
263Bash.
264gcc version > 2.8
265
266NOTE: These prerequisites are probably out of date but autoconf should detect
267      any problems.
Note: See TracBrowser for help on using the repository browser.