1 | .. SPDX-License-Identifier: CC-BY-SA-4.0 |
---|
2 | |
---|
3 | .. Copyright (C) 1989, 2010 On-Line Applications Research Corporation (OAR) |
---|
4 | |
---|
5 | Introduction |
---|
6 | ************ |
---|
7 | |
---|
8 | This document describes the RTEMS development environment. Discussions are |
---|
9 | provided for the following topics: |
---|
10 | |
---|
11 | - the directory structure used by RTEMS, |
---|
12 | |
---|
13 | - usage of the GNU Make utility within the RTEMS development environment, |
---|
14 | |
---|
15 | - sample applications, and |
---|
16 | |
---|
17 | - the RTEMS specific utilities. |
---|
18 | |
---|
19 | RTEMS was designed as a reusable software component. Highly reusable software |
---|
20 | such as RTEMS is typically distributed in the form of source code without |
---|
21 | providing any support tools. RTEMS is the foundation for a complex family of |
---|
22 | facilities including board support packages, device drivers, and support |
---|
23 | libraries. The RTEMS Development Environment is not a CASE tool. It is a |
---|
24 | collection of tools designed to reduce the complexity of using and enhancing |
---|
25 | the RTEMS family. Tools are provided which aid in the management of the |
---|
26 | development, maintenance, and usage of RTEMS, its run-time support facilities, |
---|
27 | and applications which utilize the executive. |
---|
28 | |
---|
29 | A key component of the RTEMS development environment is the GNU family of free |
---|
30 | tools. This is robust set of development and POSIX compatible tools for which |
---|
31 | source code is freely available. The primary compilers, assemblers, linkers, |
---|
32 | and make utility used by the RTEMS development team are the GNU tools. They |
---|
33 | are highly portable supporting a wide variety of host computers and, in the |
---|
34 | case of the development tools, a wide variety of target processors. |
---|
35 | |
---|
36 | It is recommended that the RTEMS developer become familiar with the RTEMS |
---|
37 | Development Environment before proceeding with any modifications to the |
---|
38 | executive source tree. The source code for the executive is very modular and |
---|
39 | source code is divided amongst directories based upon functionality as well as |
---|
40 | dependencies on CPU and target board. This organization is aimed at isolating |
---|
41 | and minimizing non-portable code. This has the immediate result that adding |
---|
42 | support for a new CPU or target board requires very little "wandering" around |
---|
43 | the source tree. |
---|