Changeset c05e43b in rtems-docs
- Timestamp:
- 03/09/16 04:37:31 (7 years ago)
- Branches:
- 4.11, 5, am, master
- Children:
- 4e3cf2b
- Parents:
- cec0d2b
- git-author:
- Chris Johns <chrisj@…> (03/09/16 04:37:31)
- git-committer:
- Amar Takhar <verm@…> (05/03/16 00:51:26)
- Location:
- user
- Files:
-
- 2 added
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
user/additional/index.rst
rcec0d2b rc05e43b 13 13 --- 14 14 Waf build system. For more information see http://www.waf.io/ 15 16 See :ref:`waf`.17 15 18 16 … … 33 31 34 32 List of all available programs in RTEMS 35 -
user/conf.py
rcec0d2b rc05e43b 4 4 from conf import * 5 5 6 version = '1.0' 7 release = '5.0' 6 version = '4.11.0' 7 release = '4.11.0' 8 9 project = "RTEMS User Manual" 10 11 exclude_patterns = ['config/build.rst', 12 'config/runtime.rst', 13 'start/depend.rst', 14 'start/transition.rst', 15 'start/installation.rst', 16 'start/windows.rst', 17 'test/create.rst', 18 'test/running.rst', 19 'tools/build.rst', 20 'tools/simulation.rst', 21 'waf/index.rst'] 8 22 9 23 latex_documents = [ 10 ('index', 'user.tex', u'RTEMS User Documentation', u'RTEMS Documentation Project', 'manual'),24 ('index', 'user.tex', u'RTEMS User Manual', u'RTEMS Documentation Project', 'manual'), 11 25 ] 12 -
user/config/build.rst
rcec0d2b rc05e43b 1 :orphan:2 3 1 Build Configuration 4 2 =================== … … 6 4 7 5 XXX: build configuration 8 9 -
user/config/runtime.rst
rcec0d2b rc05e43b 1 :orphan:2 3 1 Runtime 4 2 ======= … … 6 4 7 5 XXX: runtime config 8 9 -
user/glossary/index.rst
rcec0d2b rc05e43b 8 8 Waf build system. For more information see http://www.waf.io/ 9 9 10 See :ref:`waf`.11 12 13 10 Test Suite 14 11 Testsuite -
user/index.rst
rcec0d2b rc05e43b 2 2 3 3 ============================ 4 RTEMS |version| user manual.4 RTEMS |version| User Manual. 5 5 ============================ 6 6 … … 9 9 10 10 .. toctree:: 11 :maxdepth: 2 11 :maxdepth: 3 12 :numbered: 12 13 13 14 overview/index 14 15 16 .. toctree::17 :maxdepth: 218 :numbered:19 15 20 16 start/index … … 22 18 23 19 tools/index 24 waf/index25 20 test/index 26 21 22 architecture/index 27 23 bsp/index 28 architecture/index29 24 30 25 support/index -
user/overview/index.rst
rcec0d2b rc05e43b 3 3 ========= 4 4 5 Welcome to the :ref:term:`RTEMS` user manual.5 Welcome to the :ref:term:`RTEMS` User Manual. 6 6 7 This document will attempt to cover every topic required as a user of RTEMS. 7 This document covers all the topic required as a user of RTEMS to use the RTEMS 8 operating system. 8 9 9 .. note:: 10 Developers should look at the :r:url:`devel` for technical information the 10 RTEMS, Real-Time Executive for Multiprocessor Systems, is a real-time executive 11 (kernel) which provides a high performance environment for embedded 12 applications including the following features: 13 14 .. sidebar:: Developers 15 16 Developers should look at the :r:url:`devel` for technical information the 11 17 design and development of RTEMS is located there. 12 18 19 - multitasking capabilities 13 20 21 - homogeneous and heterogeneous multiprocessor systems 22 23 - event-driven, priority-based, preemptive scheduling 24 25 - optional rate monotonic scheduling 26 27 - intertask communication and synchronization 28 29 - priority inheritance 30 31 - responsive interrupt management 32 33 - dynamic memory allocation 34 35 - high level of user configurability 36 37 RTEMS provides features found in moderen operating system: 38 39 - file systems 40 41 - networking 42 43 - USB 44 45 - perminante media such as flash disks, cards and USB devices 46 47 Real-time Application Systems 48 ============================= 49 50 Real-time application systems are a special class of computer applications. 51 They have a complex set of characteristics that distinguish them from other 52 software problems. Generally, they must adhere to more rigorous requirements. 53 The correctness of the system depends not only on the results of computations, 54 but also on the time at which the results are produced. The most important and 55 complex characteristic of real-time application systems is that they must 56 receive and respond to a set of external stimuli within rigid and critical time 57 constraints referred to as deadlines. Systems can be buried by an avalanche of 58 interdependent, asynchronous or cyclical event streams. 59 60 Deadlines can be further characterized as either hard or soft based upon the 61 value of the results when produced after the deadline has passed. A deadline 62 is hard if the results have no value or if their use will result in a 63 catastrophic event. In contrast, results which are produced after a soft 64 deadline may have some value. 65 66 Another distinguishing requirement of real-time application systems is the 67 ability to coordinate or manage a large number of concurrent activities. Since 68 software is a synchronous entity, this presents special problems. One 69 instruction follows another in a repeating synchronous cycle. Even though 70 mechanisms have been developed to allow for the processing of external 71 asynchronous events, the software design efforts required to process and manage 72 these events and tasks are growing more complicated. 73 74 The design process is complicated further by spreading this activity over a set 75 of processors instead of a single processor. The challenges associated with 76 designing and building real-time application systems become very complex when 77 multiple processors are involved. New requirements such as interprocessor 78 communication channels and global resources that must be shared between 79 competing processors are introduced. The ramifications of multiple processors 80 complicate each and every characteristic of a real-time system. 81 82 Real-time Executive 83 =================== 84 85 Fortunately, real-time operating systems or real-time executives serve as a 86 cornerstone on which to build the application system. A real-time multitasking 87 executive allows an application to be cast into a set of logical, autonomous 88 processes or tasks which become quite manageable. Each task is internally 89 synchronous, but different tasks execute independently, resulting in an 90 asynchronous processing stream. Tasks can be dynamically paused for many 91 reasons resulting in a different task being allowed to execute for a period of 92 time. The executive also provides an interface to other system components such 93 as interrupt handlers and device drivers. System components may request the 94 executive to allocate and coordinate resources, and to wait for and trigger 95 synchronizing conditions. The executive system calls effectively extend the 96 CPU instruction set to support efficient multitasking. By causing tasks to 97 travel through well-defined state transitions, system calls permit an 98 application to demand-switch between tasks in response to real-time events. 99 100 By proper grouping of responses to stimuli into separate tasks, a system can 101 now asynchronously switch between independent streams of execution, directly 102 responding to external stimuli as they occur. This allows the system design to 103 meet critical performance specifications which are typically measured by 104 guaranteed response time and transaction throughput. The multiprocessor 105 extensions of RTEMS provide the features necessary to manage the extra 106 requirements introduced by a system distributed across several processors. It 107 removes the physical barriers of processor boundaries from the world of the 108 system designer, enabling more critical aspects of the system to receive the 109 required attention. Such a system, based on an efficient real-time, 110 multiprocessor executive, is a more realistic model of the outside world or 111 environment for which it is designed. As a result, the system will always be 112 more logical, efficient, and reliable. 113 114 By using the directives provided by RTEMS, the real-time applications developer 115 is freed from the problem of controlling and synchronizing multiple tasks and 116 processors. In addition, one need not develop, test, debug, and document 117 routines to manage memory, pass messages, or provide mutual exclusion. The 118 developer is then able to concentrate solely on the application. By using 119 standard software components, the time and cost required to develop 120 sophisticated real-time applications is significantly reduced. 121 122 Open Source 123 =========== 124 125 RTEMS is an open source operating and an open source project. As a user you 126 have access to all the source code and we encourage you to work with the source 127 code and to integrate the processes used to build tools, the kernel and any 3rd 128 party libraries into your project's configuration management processes. The 129 RTEMS project is always improving the way it develivers the kernel to you and 130 so your feedback is important. 131 132 What we used in the RTEMS project to develop and maintain RTEMS does not 133 dictate what you use to develop and maintain your project. You can and should 134 select the work-flow that best suites the demands of your project and what you 135 are delivering. -
user/start/depend.rst
rcec0d2b rc05e43b 1 :orphan: 1 .. comment: Copyright (c) 2016 Chris Johns <chrisj@rtems.org> 2 .. comment: All rights reserved. 2 3 3 4 Dependencies … … 5 6 .. index:: Dependencies 6 7 7 XXX: List dependencies 8 RTEMS applications are developed using cross-development tools running on a 9 host computer, typically your desktop or a special build server. All RTEMS 10 tools and runtime libraries are built from source on your host machine. The 11 RTEMS Project does not maintain binary builds of the tools. This may appear be 12 the opposite to what you normally experience with host operating systems, and 13 it is, however this approach works well. RTEMS is not a host operating system 14 and it is not a distrbution. Providing binary packages for every possible host 15 operating system is to big a task for the RTEMS Project and it is not a good 16 use of the core developers time. Their time is better spent making RTEMS better 17 and faster. 8 18 19 Developer Computer 20 ------------------ 21 22 The rule for selecting a computer for a developer is `more is better` but we do 23 understand there are limits. Projects set up different configurations and what 24 is described here is not an approved set up, rather it is a guide. Some 25 projects have a suitable development machine per developer while others set up 26 a tightly controlled central build server. RTEMS is flexible and lets you 27 engineering a development environment that suites you. The basic specs are: 28 29 - Multicore processor 30 - 8G bytes RAM 31 - 256G harddisk 32 33 RTEMS makes no demands on graphics. 34 35 Host Software 36 ------------- 37 38 A wide range of host operating systems and hardware can be used. The host 39 operating systems supported are: 40 41 - Linux 42 - FreeBSD 43 - NetBSD 44 - Apple OS X 45 - Windows 46 - Solaris 47 48 The functionality on POSIX operating such as Linux and FreeBSD is similar and 49 most features on Windows are supported but you are best to ask on 50 :r:list:`users` if you have a specific question. 51 52 Install and set up your host operating system. We recommend you maintain your 53 operating system by installing any updates. -
user/start/index.rst
rcec0d2b rc05e43b 1 .. comment: Copyright (c) 2016 Chris Johns <chrisj@rtems.org> 2 .. comment: All rights reserved. 3 1 4 =============== 2 5 Getting Started 3 6 =============== 4 7 5 XXX: Very brief overview. 6 8 RTEMS is an open source operating and an open source project. As a user you 9 have access to all the source code and this `Getting Started`_ section will show 10 you how you build the RTEMS compiler tools, kernel and 3rd party libraries from 11 source. 7 12 8 13 .. include:: depend.rst 9 14 .. include:: installation.rst 10 .. include:: transition.rst15 .. include:: windows.rst -
user/start/installation.rst
rcec0d2b rc05e43b 1 :orphan: 1 .. comment: Copyright (c) 2016 Chris Johns <chrisj@rtems.org> 2 .. comment: All rights reserved. 2 3 3 4 Installation … … 6 7 .. index:: Installation 7 8 8 XXX: Some notes about waf etc. 9 9 RTEMS is built from source on your host machine. Releases are available from 10 our :r:url:`ftp` and each release contains a Quick Start build guide. If you 11 are wanting to track changes to RTEMS as they happen or you want to make 12 changes to RTEMS to send back to the project on our :r:list:`devel` then you 13 can use the developer's version available in our :r:url:`git`. 14 15 RTEMS supports development on a wide vararity of hosts. There is no preferred 16 host operating system the project requires you use. This means you are able to 17 decide on a host operating system that is your passion, suites your needs, or 18 in some cases is decided for you by your employer. Our aim is to provide a 19 consistent user experience and on matching hardware the experience should feel 20 similar. 21 22 The RTEMS core development team uses POSIX type operating systems, that is 23 Unix. The `Released Version`_ and `Development Version`_ sections assume 24 Unix. Microsoft Windows is documented in a separate section 25 :ref:`microsoft-windows-installation`. 10 26 11 27 Released Version … … 15 31 16 32 XXX: Tarball 17 18 33 19 34 Development Version … … 21 36 .. index:: Git 22 37 23 XXX: Git 24 38 RTEMS provides open access to it's development processes. The project encouages 39 all users to inspect, review, comment and contribute to the code base. The 40 processes described here are the same processes the core development team use 41 when developing and maintaining RTEMS. 42 43 .. warning:: 44 45 The development version is not for use in production and it can break from 46 time to time. 47 48 .. sidebar:: *GDB and Python* 49 50 RTEMS uses Python in GDB to aid debugging which means GDB needs to be built 51 with Python development libraries. Please check the RSB documentation and 52 install the packages specified for your host. Make sure a python development 53 package is included. 54 55 The following procedure assumes you have installed and configured your host 56 operating. It also assumes you have installed any dependent packages needed 57 when building the tools and the kernel. 58 59 You need to select a location to build and install the RTEMS Tool chain and 60 RTEMS. Make sure there is plenty of disk space and a fast disk is 61 recommended. Our procedure will document building and installing the tools in a 62 home directory called :file:`development/rtems`. Using a home directory means 63 you can do this without needing to be root. You can also use 64 :file:`/opt/rtems/build` if you have access to that path. 65 66 The location used to install the tools and kernel is called the `prefix`. It is 67 best to have a `prefix` for each different version of RTEMS you are using. If 68 you are using RTEMS 4.11 in production it is not a good to install a 69 development version of 4.12 over the top. A separate `prefix` for each version 70 avoids this. 71 72 The RTEMS tool chain changes less often than the RTEMS kernel. One method of 73 working with development releases is to have a separate `prefix` for the RTEMS 74 tools and a different one for the RTEMS kernel. You can then update each 75 without interacting with the other. You can also have a number of RTEMS 76 versions available to test with. 77 78 This procedure will build a SPARC tool chain. 79 80 RTEMS Tools Chain 81 ~~~~~~~~~~~~~~~~~ 82 83 Clone the RTEMS Source Builder (RSB) repository: 84 85 .. code-block:: shell 86 87 $ cd 88 $ mkdir -p development/rtems 89 $ cd development/rtems 90 $ git clone git://git.rtems.org/rtems-source-builder.git rsb 91 Cloning into 'rsb'... 92 remote: Counting objects: 5837, done. 93 remote: Compressing objects: 100% (2304/2304), done. 94 remote: Total 5837 (delta 4014), reused 5056 (delta 3494) 95 Receiving objects: 100% (5837/5837), 2.48 MiB | 292.00 KiB/s, done. 96 Resolving deltas: 100% (4014/4014), done. 97 Checking connectivity... done. 98 99 .. sidebar:: *Downloading the source* 100 101 You need an internet connection to download the source. The downloaded source 102 is cached locally and the RSB checksums it. If you run a build again the 103 download output will be missing. Using the RSB from git will download the 104 source from the upstream project's home site and this could be `http`, `ftp`, 105 or `git`. 106 107 Check all the host packages you need are present. Current libraries are not 108 checked and this includes checking for the python development libraries GDB 109 requires: 110 111 .. code-block:: shell 112 113 $ cd rsb 114 $ ./source-builder/sb-check 115 RTEMS Source Builder - Check, 4.12 (e645642255cc) 116 Environment is ok 117 118 Build a tool chain for the SPARC architecure. We are using the SPARC 119 architecture because GDB has a good simulator that lets us run and test the 120 samples RTEMS builds by default. The current development version 121 is `4.12` and is on master: 122 123 .. code-block:: shell 124 125 $ cd rtems 126 $ ../source-builder/sb-set-builder \ 127 --prefix=/usr/home/chris/development/rtems/4.12 4.12/rtems-sparc 128 RTEMS Source Builder - Set Builder, 4.12 (e645642255cc) 129 Build Set: 4.12/rtems-sparc 130 Build Set: 4.12/rtems-autotools.bset 131 Build Set: 4.12/rtems-autotools-internal.bset 132 config: tools/rtems-autoconf-2.69-1.cfg 133 package: autoconf-2.69-x86_64-linux-gnu-1 134 Creating source directory: sources 135 download: ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz -> sources/autoconf-2.69.tar.gz 136 downloading: sources/autoconf-2.69.tar.gz - 1.8MB of 1.8MB (100%) 137 building: autoconf-2.69-x86_64-linux-gnu-1 138 config: tools/rtems-automake-1.12.6-1.cfg 139 package: automake-1.12.6-x86_64-linux-gnu-1 140 download: ftp://ftp.gnu.org/gnu/automake/automake-1.12.6.tar.gz -> sources/automake-1.12.6.tar.gz 141 downloading: sources/automake-1.12.6.tar.gz - 2.0MB of 2.0MB (100%) 142 Creating source directory: patches 143 download: https://git.rtems.org/rtems-tools/plain/tools/4.12/automake/automake-1.12.6-bugzilla.redhat.com-1239379.diff -> patches/automake-1.12.6-bugzilla.redhat.com-1239379.diff 144 downloading: patches/automake-1.12.6-bugzilla.redhat.com-1239379.diff - 408.0 bytes of 408.0 bytes (100%) 145 building: automake-1.12.6-x86_64-linux-gnu-1 146 cleaning: autoconf-2.69-x86_64-linux-gnu-1 147 cleaning: automake-1.12.6-x86_64-linux-gnu-1 148 Build Set: Time 0:00:17.465024 149 Build Set: 4.12/rtems-autotools-base.bset 150 config: tools/rtems-autoconf-2.69-1.cfg 151 package: autoconf-2.69-x86_64-linux-gnu-1 152 building: autoconf-2.69-x86_64-linux-gnu-1 153 reporting: tools/rtems-autoconf-2.69-1.cfg -> autoconf-2.69-x86_64-linux-gnu-1.txt 154 reporting: tools/rtems-autoconf-2.69-1.cfg -> autoconf-2.69-x86_64-linux-gnu-1.xml 155 config: tools/rtems-automake-1.12.6-1.cfg 156 package: automake-1.12.6-x86_64-linux-gnu-1 157 building: automake-1.12.6-x86_64-linux-gnu-1 158 reporting: tools/rtems-automake-1.12.6-1.cfg -> automake-1.12.6-x86_64-linux-gnu-1.txt 159 reporting: tools/rtems-automake-1.12.6-1.cfg -> automake-1.12.6-x86_64-linux-gnu-1.xml 160 installing: autoconf-2.69-x86_64-linux-gnu-1 -> /usr/home/chris/development/rtems/4.12 161 installing: automake-1.12.6-x86_64-linux-gnu-1 -> /usr/home/chris/development/rtems/4.12 162 cleaning: autoconf-2.69-x86_64-linux-gnu-1 163 cleaning: automake-1.12.6-x86_64-linux-gnu-1 164 Build Set: Time 0:00:05.358624 165 Build Set: Time 0:00:22.824422 166 config: devel/expat-2.1.0-1.cfg 167 package: expat-2.1.0-x86_64-linux-gnu-1 168 download: http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz -> sources/expat-2.1.0.tar.gz 169 redirect: http://internode.dl.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz 170 downloading: sources/expat-2.1.0.tar.gz - 549.4kB of 549.4kB (100%) 171 building: expat-2.1.0-x86_64-linux-gnu-1 172 reporting: devel/expat-2.1.0-1.cfg -> expat-2.1.0-x86_64-linux-gnu-1.txt 173 reporting: devel/expat-2.1.0-1.cfg -> expat-2.1.0-x86_64-linux-gnu-1.xml 174 config: tools/rtems-binutils-2.26-1.cfg 175 package: sparc-rtems4.12-binutils-2.26-x86_64-linux-gnu-1 176 download: ftp://ftp.gnu.org/gnu/binutils/binutils-2.26.tar.bz2 -> sources/binutils-2.26.tar.bz2 177 downloading: sources/binutils-2.26.tar.bz2 - 24.4MB of 24.4MB (100%) 178 download: https://git.rtems.org/rtems-tools/plain/tools/4.12/binutils/binutils-2.26-rtems-aarch64-x86_64.patch -> patches/binutils-2.26-rtems-aarch64-x86_64.patch 179 downloading: patches/binutils-2.26-rtems-aarch64-x86_64.patch - 3.2kB of 3.2kB (100%) 180 building: sparc-rtems4.12-binutils-2.26-x86_64-linux-gnu-1 181 reporting: tools/rtems-binutils-2.26-1.cfg -> sparc-rtems4.12-binutils-2.26-x86_64-linux-gnu-1.txt 182 reporting: tools/rtems-binutils-2.26-1.cfg -> sparc-rtems4.12-binutils-2.26-x86_64-linux-gnu-1.xml 183 config: tools/rtems-gcc-6-20160228-newlib-2.3.0.20160226-1.cfg 184 package: sparc-rtems4.12-gcc-6-20160228-newlib-2.3.0.20160226-x86_64-linux-gnu-1 185 download: ftp://gcc.gnu.org/pub/gcc/snapshots/6-20160228/gcc-6-20160228.tar.bz2 -> sources/gcc-6-20160228.tar.bz2 186 downloading: sources/gcc-6-20160228.tar.bz2 - 90.8MB of 90.8MB (100%) 187 download: ftp://sourceware.org/pub/newlib/newlib-2.3.0.20160226.tar.gz -> sources/newlib-2.3.0.20160226.tar.gz 188 downloading: sources/newlib-2.3.0.20160226.tar.gz - 16.9MB of 16.9MB (100%) 189 download: http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2 -> 190 sources/mpfr-2.4.2.tar.bz2 191 downloading: sources/mpfr-2.4.2.tar.bz2 - 1.0MB of 1.0MB (100%) 192 download: http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz -> sources/mpc-0.8.1.tar.gz 193 downloading: sources/mpc-0.8.1.tar.gz - 532.2kB of 532.2kB (100%) 194 download: ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2 -> sources/gmp-4.3.2.tar.bz2 195 downloading: sources/gmp-4.3.2.tar.bz2 - 1.8MB of 1.8MB (100%) 196 building: sparc-rtems4.12-gcc-6-20160228-newlib-2.3.0.20160226-x86_64-linux-gnu-1 197 reporting: tools/rtems-gcc-6-20160228-newlib-2.3.0.20160226-1.cfg -> sparc-rtems4.12-gcc-6-20160228-newlib-2.3.0.20160226-x86_64-linux-gnu-1.txt 198 reporting: tools/rtems-gcc-6-20160228-newlib-2.3.0.20160226-1.cfg -> sparc-rtems4.12-gcc-6-20160228-newlib-2.3.0.20160226-x86_64-linux-gnu-1.xml 199 config: tools/rtems-gdb-7.9-1.cfg 200 package: sparc-rtems4.12-gdb-7.9-x86_64-linux-gnu-1 201 download: http://ftp.gnu.org/gnu/gdb/gdb-7.9.tar.xz -> sources/gdb-7.9.tar.xz 202 downloading: sources/gdb-7.9.tar.xz - 17.0MB of 17.0MB (100%) 203 download: https://git.rtems.org/rtems-tools/plain/tools/4.12/gdb/gdb-sim-arange-inline.diff -> patches/gdb-sim-arange-inline.diff 204 downloading: patches/gdb-sim-arange-inline.diff - 761.0 bytes of 761.0 bytes (100%) 205 download: https://git.rtems.org/rtems-tools/plain/tools/4.12/gdb/gdb-sim-cgen-inline.diff -> patches/gdb-sim-cgen-inline.diff 206 downloading: patches/gdb-sim-cgen-inline.diff - 706.0 bytes of 706.0 bytes (100%) 207 download: https://git.rtems.org/rtems-tools/plain/tools/4.12/gdb/gdb-7.9-aarch64-x86_64.patch -> patches/gdb-7.9-aarch64-x86_64.patch 208 downloading: patches/gdb-7.9-aarch64-x86_64.patch - 1.7kB of 1.7kB (100%) 209 building: sparc-rtems4.12-gdb-7.9-x86_64-linux-gnu-1 210 reporting: tools/rtems-gdb-7.9-1.cfg -> sparc-rtems4.12-gdb-7.9-x86_64-linux-gnu-1.txt 211 reporting: tools/rtems-gdb-7.9-1.cfg -> sparc-rtems4.12-gdb-7.9-x86_64-linux-gnu-1.xml 212 config: tools/rtems-tools-4.12-1.cfg 213 package: rtems-tools-HEAD-1 214 Creating source directory: sources/git 215 git: clone: git://git.rtems.org/rtems-tools.git -> sources/git/rtems-tools.git 216 git: reset: git://git.rtems.org/rtems-tools.git 217 git: fetch: git://git.rtems.org/rtems-tools.git -> sources/git/rtems-tools.git 218 git: checkout: git://git.rtems.org/rtems-tools.git => HEAD 219 git: pull: git://git.rtems.org/rtems-tools.git 220 building: rtems-tools-HEAD-1 221 reporting: tools/rtems-tools-4.12-1.cfg -> rtems-tools-HEAD-1.txt 222 reporting: tools/rtems-tools-4.12-1.cfg -> rtems-tools-HEAD-1.xml 223 installing: expat-2.1.0-x86_64-linux-gnu-1 -> /usr/home/chris/development/rtems/4.12 224 installing: sparc-rtems4.12-binutils-2.26-x86_64-linux-gnu-1 -> /usr/home/chris/development/rtems/4.12 225 installing: sparc-rtems4.12-gcc-6-20160228-newlib-2.3.0.20160226-x86_64-linux-gnu-1 -> /usr/home/chris/development/rtems/4.12 226 installing: sparc-rtems4.12-gdb-7.9-x86_64-linux-gnu-1 -> /usr/home/chris/development/rtems/4.12 227 installing: rtems-tools-HEAD-1 -> /usr/home/chris/development/rtems/4.12 228 cleaning: expat-2.1.0-x86_64-linux-gnu-1 229 cleaning: sparc-rtems4.12-binutils-2.26-x86_64-linux-gnu-1 230 cleaning: sparc-rtems4.12-gcc-6-20160228-newlib-2.3.0.20160226-x86_64-linux-gnu-1 231 cleaning: sparc-rtems4.12-gdb-7.9-x86_64-linux-gnu-1 232 cleaning: rtems-tools-HEAD-1 233 Build Set: Time 0:31:09.754219 234 235 RTEMS Kernel 236 ~~~~~~~~~~~~ 237 238 We need to set our path to include the RTEMS tools we built in the previous 239 section. The RTEMS tools needs to be first in your path because RTEMS provides 240 specific versions of the ``autoconf`` and ``automake`` tools. We want to use 241 the RTEMS version and not your host's versions: 242 243 244 .. code-block:: shell 245 246 $ export PATH=$HOME/development/rtems/4.12/bin:$PATH 247 248 Create a new location to build the RTEMS kernel: 249 250 .. code-block:: shell 251 252 $ cd 253 $ cd development/rtems 254 $ mkdir kernel 255 $ cd kernel 256 257 Clone the RTEMS respository: 258 259 .. code-block:: shell 260 261 $ git clone git://git.rtems.org/rtems.git rtems 262 Cloning into 'rtems'... 263 remote: Counting objects: 483342, done. 264 remote: Compressing objects: 100% (88974/88974), done. 265 remote: Total 483342 (delta 390053), reused 475669 (delta 383809) 266 Receiving objects: 100% (483342/483342), 69.88 MiB | 1.37 MiB/s, done. 267 Resolving deltas: 100% (390053/390053), done. 268 Checking connectivity... done. 269 270 The developers version of the code from git requires ``bootstrapping``. This is 271 an ``autoconf`` and ``automake`` bootstrap to create the various files generated 272 by ``autoconf`` and ``automake``. RTEMS does not keep these generated files 273 under version control. The bootstrap process is slow so to speed it up the RSB 274 provides a command that can perform the bootstrap in parallel using your 275 available cores: 276 277 .. code-block:: shell 278 279 $ ./bootstrap -c && ./bootstrap -p && \ 280 $HOME/development/rtems/rsb/rsb/source-builder/sb-bootstrap 281 removing automake generated Makefile.in files 282 removing configure files 283 removing aclocal.m4 files 284 Generating ./cpukit/dtc/libfdt/preinstall.am 285 Generating ./cpukit/zlib/preinstall.am 286 Generating ./cpukit/libdl/preinstall.am 287 Generating ./cpukit/posix/preinstall.am 288 Generating ./cpukit/pppd/preinstall.am 289 Generating ./cpukit/librpc/preinstall.am 290 Generating ./cpukit/preinstall.am 291 Generating ./cpukit/sapi/preinstall.am 292 Generating ./cpukit/score/preinstall.am 293 Generating ./cpukit/score/cpu/mips/preinstall.am 294 Generating ./cpukit/score/cpu/sh/preinstall.am 295 Generating ./cpukit/score/cpu/sparc/preinstall.am 296 Generating ./cpukit/score/cpu/no_cpu/preinstall.am 297 Generating ./cpukit/score/cpu/arm/preinstall.am 298 Generating ./cpukit/score/cpu/m32c/preinstall.am 299 Generating ./cpukit/score/cpu/moxie/preinstall.am 300 Generating ./cpukit/score/cpu/v850/preinstall.am 301 Generating ./cpukit/score/cpu/sparc64/preinstall.am 302 Generating ./cpukit/score/cpu/or1k/preinstall.am 303 Generating ./cpukit/score/cpu/i386/preinstall.am 304 Generating ./cpukit/score/cpu/nios2/preinstall.am 305 Generating ./cpukit/score/cpu/epiphany/preinstall.am 306 Generating ./cpukit/score/cpu/m68k/preinstall.am 307 Generating ./cpukit/score/cpu/lm32/preinstall.am 308 Generating ./cpukit/score/cpu/powerpc/preinstall.am 309 Generating ./cpukit/score/cpu/bfin/preinstall.am 310 Generating ./cpukit/libpci/preinstall.am 311 Generating ./cpukit/libcrypt/preinstall.am 312 Generating ./cpukit/rtems/preinstall.am 313 Generating ./cpukit/telnetd/preinstall.am 314 Generating ./cpukit/libnetworking/preinstall.a 315 ...... 316 Generating ./c/src/lib/libbsp/powerpc/gen5200/preinstall.am 317 Generating ./c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am 318 Generating ./c/src/lib/libbsp/bfin/TLL6527M/preinstall.am 319 Generating ./c/src/lib/libbsp/bfin/bf537Stamp/preinstall.am 320 Generating ./c/src/lib/libbsp/bfin/eZKit533/preinstall.am 321 Generating ./c/src/librtems++/preinstall.am 322 Generating ./c/src/libchip/preinstall.am 323 Generating ./c/src/wrapup/preinstall.am 324 Generating ./c/src/ada/preinstall.am 325 RTEMS Source Builder - RTEMS Bootstrap, 4.12 (e645642255cc modified) 326 1/139: autoreconf: configure.ac 327 2/139: autoreconf: cpukit/configure.ac 328 3/139: autoreconf: tools/cpu/configure.ac 329 4/139: autoreconf: tools/cpu/generic/configure.ac 330 5/139: autoreconf: tools/cpu/sh/configure.ac 331 6/139: autoreconf: tools/cpu/nios2/configure.ac 332 7/139: autoreconf: tools/build/configure.ac 333 8/139: autoreconf: doc/configure.ac 334 ...... 335 124/139: autoreconf: c/src/make/configure.ac 336 125/139: autoreconf: c/src/librtems++/configure.ac 337 126/139: autoreconf: c/src/ada-tests/configure.ac 338 127/139: autoreconf: testsuites/configure.ac 339 128/139: autoreconf: testsuites/libtests/configure.ac 340 129/139: autoreconf: testsuites/mptests/configure.ac 341 130/139: autoreconf: testsuites/fstests/configure.ac 342 131/139: autoreconf: testsuites/sptests/configure.ac 343 132/139: autoreconf: testsuites/tmtests/configure.ac 344 133/139: autoreconf: testsuites/smptests/configure.ac 345 134/139: autoreconf: testsuites/tools/configure.ac 346 135/139: autoreconf: testsuites/tools/generic/configure.ac 347 136/139: autoreconf: testsuites/psxtests/configure.ac 348 137/139: autoreconf: testsuites/psxtmtests/configure.ac 349 138/139: autoreconf: testsuites/rhealstone/configure.ac 350 139/139: autoreconf: testsuites/samples/configure.ac 351 Bootstrap time: 0:02:47.398824 352 353 We build RTEMS in a directory outside of the source tree we have just cloned 354 and ``bootstrapped``. You cannot build RTEMS while in the source tree. Lets 355 create a suitable directory using the name of the BSP we are going to build: 356 357 .. code-block:: shell 358 359 $ cd .. 360 $ mkdir erc32 361 $ cd erc32 362 363 Configure RTEMS using the ``configure`` command. We use a full path to 364 ``configure`` so the object files built contain the absolute path of the source 365 files. If you are source level debugging you will be able to access the source 366 code to RTEMS from the debugger. We will build for the ``erc32`` BSP with POSIX 367 enabled and the networking stack disabled: 368 369 .. code-block:: shell 370 371 $ $HOME/development/rtems/kernel/rtems/configure --prefix=$HOME/development/rtems/4.12 \ 372 --target=sparc-rtems4.12 --enable-rtemsbsp=erc32 --enable-posix \ 373 --disable-networking 374 checking for gmake... no 375 checking for make... make 376 checking for RTEMS Version... 4.11.99.0 377 checking build system type... x86_64-pc-linux-gnu 378 checking host system type... x86_64-pc-linux-gnu 379 checking target system type... sparc-unknown-rtems4.12 380 checking for a BSD-compatible install... /usr/bin/install -c 381 checking whether build environment is sane... yes 382 checking for a thread-safe mkdir -p... /bin/mkdir -p 383 checking for gawk... no 384 checking for mawk... mawk 385 checking whether make sets $(MAKE)... yes 386 checking whether to enable maintainer-specific portions of Makefiles... no 387 checking that generated files are newer than configure... done 388 ...... 389 checking target system type... sparc-unknown-rtems4.12 390 checking rtems target cpu... sparc 391 checking for a BSD-compatible install... /usr/bin/install -c 392 checking whether build environment is sane... yes 393 checking for sparc-rtems4.12-strip... sparc-rtems4.12-strip 394 checking for a thread-safe mkdir -p... /bin/mkdir -p 395 checking for gawk... no 396 checking for mawk... mawk 397 checking whether make sets $(MAKE)... yes 398 checking whether to enable maintainer-specific portions of Makefiles... no 399 checking that generated files are newer than configure... done 400 configure: creating ./config.status 401 config.status: creating Makefile 402 403 target architecture: sparc. 404 available BSPs: erc32. 405 'make all' will build the following BSPs: erc32. 406 other BSPs can be built with 'make RTEMS_BSP="bsp1 bsp2 ..."' 407 408 config.status: creating Makefile 409 410 Build RTEMS using two cores: 411 412 .. code-block:: shell 413 414 $ make -j 2 415 Making all in tools/build 416 make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/build' 417 make all-am 418 make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/build' 419 gcc -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/tools/build -g -O2 -MT cklength.o -MD -MP -MF .deps/cklength.Tpo -c -o cklength.o /home/chris/development/rtems/kernel/rtems/tools/build/cklength.c 420 gcc -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/tools/build -g -O2 -MT eolstrip.o -MD -MP -MF .deps/eolstrip.Tpo -c -o eolstrip.o /home/chris/development/rtems/kernel/rtems/tools/build/eolstrip.c 421 mv -f .deps/cklength.Tpo .deps/cklength.Po 422 mv -f .deps/eolstrip.Tpo .deps/eolstrip.Po 423 gcc -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/tools/build -g -O2 -MT compat.o -MD -MP -MF .deps/compat.Tpo -c -o compat.o /home/chris/development/rtems/kernel/rtems/tools/build/compat.c 424 gcc -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/tools/build -g -O2 -MT packhex.o -MD -MP -MF .deps/packhex.Tpo -c -o packhex.o /home/chris/development/rtems/kernel/rtems/tools/build/packhex.c 425 mv -f .deps/compat.Tpo .deps/compat.Po 426 gcc -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/tools/build -g -O2 -MT unhex.o -MD -MP -MF .deps/unhex.Tpo -c -o unhex.o /home/chris/development/rtems/kernel/rtems/tools/build/unhex.c 427 mv -f .deps/packhex.Tpo .deps/packhex.Po 428 gcc -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/tools/build -g -O2 -MT rtems-bin2c.o -MD -MP -MF .deps/rtems-bin2c.Tpo -c -o rtems-bin2c.o /home/chris/development/rtems/kernel/rtems/tools/build/rtems-bin2c.c 429 mv -f .deps/unhex.Tpo .deps/unhex.Po 430 gcc -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/tools/build -g -O2 -MT binpatch.o -MD -MP -MF .deps/binpatch.Tpo -c -o binpatch.o /home/chris/development/rtems/kernel/rtems/tools/build/binpatch.c 431 mv -f .deps/rtems-bin2c.Tpo .deps/rtems-bin2c.Po 432 gcc -g -O2 -o cklength cklength.o 433 mv -f .deps/binpatch.Tpo .deps/binpatch.Po 434 gcc -g -O2 -o eolstrip eolstrip.o compat.o 435 gcc -g -O2 -o packhex packhex.o 436 gcc -g -O2 -o rtems-bin2c rtems-bin2c.o compat.o 437 gcc -g -O2 -o unhex unhex.o compat.o 438 gcc -g -O2 -o binpatch binpatch.o 439 make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/build' 440 make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/build' 441 Making all in tools/cpu 442 make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu' 443 Making all in generic 444 make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu/generic' 445 make[2]: Nothing to be done for 'all'. 446 make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu/generic' 447 make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu' 448 make[2]: Nothing to be done for 'all-am'. 449 make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu' 450 make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu' 451 Making all in testsuites/tools 452 make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32/testsuites/tools' 453 Making all in generic 454 make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/testsuites/tools/generic' 455 make[2]: Nothing to be done for 'all'. 456 make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/testsuites/tools/generic' 457 make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/testsuites/tools' 458 make[2]: Nothing to be done for 'all-am'. 459 make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/testsuites/tools' 460 make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32/testsuites/tools' 461 Making all in sparc-rtems4.12/c 462 make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c' 463 Making all in . 464 make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c' 465 Configuring RTEMS_BSP=erc32 466 checking for gmake... no 467 checking for make... make 468 checking build system type... x86_64-pc-linux-gnu 469 checking host system type... sparc-unknown-rtems4.12 470 ...... 471 cp paranoia.exe paranoia.ralf 472 make[6]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites/samples/paranoia' 473 Making all in nsecs 474 make[6]: Entering directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites/samples/nsecs' 475 sparc-rtems4.12-gcc -B../../../../../erc32/lib/ -specs bsp_specs -qrtems -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/c/src/../../testsuites/samples/nsecs -I.. -I/home/chris/development/rtems/kernel/rtems/c/src/../../testsuites/samples/../support/include -mcpu=cypress -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT init.o -MD -MP -MF .deps/init.Tpo -c -o init.o /home/chris/development/rtems/kernel/rtems/c/src/../../testsuites/samples/nsecs/init.c 476 sparc-rtems4.12-gcc -B../../../../../erc32/lib/ -specs bsp_specs -qrtems -DHAVE_CONFIG_H -I. -I/home/chris/development/rtems/kernel/rtems/c/src/../../testsuites/samples/nsecs -I.. -I/home/chris/development/rtems/kernel/rtems/c/src/../../testsuites/samples/../support/include -mcpu=cypress -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT empty.o -MD -MP -MF .deps/empty.Tpo -c -o empty.o /home/chris/development/rtems/kernel/rtems/c/src/../../testsuites/samples/nsecs/empty.c 477 mv -f .deps/empty.Tpo .deps/empty.Po 478 mv -f .deps/init.Tpo .deps/init.Po 479 sparc-rtems4.12-gcc -B../../../../../erc32/lib/ -specs bsp_specs -qrtems -mcpu=cypress -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -Wl,--gc-sections -mcpu=cypress -o nsecs.exe init.o empty.o 480 sparc-rtems4.12-nm -g -n nsecs.exe > nsecs.num 481 sparc-rtems4.12-size nsecs.exe 482 text data bss dec hex filename 483 121392 1888 6624 129904 1fb70 nsecs.exe 484 cp nsecs.exe nsecs.ralf 485 make[6]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites/samples/nsecs' 486 make[5]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites/samples' 487 make[4]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites/samples' 488 make[4]: Entering directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites' 489 make[4]: Nothing to be done for 'all-am'. 490 make[4]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites' 491 make[3]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32/testsuites' 492 make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c/erc32' 493 make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c' 494 make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32' 495 make[1]: Nothing to be done for 'all-am'. 496 make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32' 497 498 All that remains to be done is to install the kernel. Installing RTEMS copies 499 the API headers and architecture specific libraries to a locaiton under the 500 `prefix` you provide. You can install any number of BSPs under the same 501 `prefix`. We recommend you have a separate `prefix` for different versions of 502 RTEMS. Do not mix versions of RTEMS under the same `prefix`. Make installs 503 RTEMS with the following command: 504 505 .. code-block:: shell 506 507 $ make install 508 Making install in tools/build 509 make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/build' 510 make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/build' 511 /bin/mkdir -p '/home/chris/development/rtems/4.12/bin' 512 /usr/bin/install -c cklength eolstrip packhex unhex rtems-bin2c '/home/chris/development/rtems/4.12/bin' 513 /bin/mkdir -p '/home/chris/development/rtems/4.12/bin' 514 /usr/bin/install -c install-if-change '/home/chris/development/rtems/4.12/bin' 515 make[2]: Nothing to be done for 'install-data-am'. 516 make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/build' 517 make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/build' 518 Making install in tools/cpu 519 make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu' 520 Making install in generic 521 make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu/generic' 522 make[3]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu/generic' 523 make[3]: Nothing to be done for 'install-exec-am'. 524 make[3]: Nothing to be done for 'install-data-am'. 525 make[3]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu/generic' 526 make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu/generic' 527 make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu' 528 make[3]: Entering directory '/home/chris/development/rtems/kernel/erc32/tools/cpu' 529 make[3]: Nothing to be done for 'install-exec-am'. 530 make[3]: Nothing to be done for 'install-data-am'. 531 make[3]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu' 532 make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu' 533 make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32/tools/cpu 534 ...... 535 make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32/sparc-rtems4.12/c' 536 make[1]: Entering directory '/home/chris/development/rtems/kernel/erc32' 537 make[2]: Entering directory '/home/chris/development/rtems/kernel/erc32' 538 make[2]: Nothing to be done for 'install-exec-am'. 539 /bin/mkdir -p '/home/chris/development/rtems/4.12/make' 540 /usr/bin/install -c -m 644 /home/chris/development/rtems/kernel/rtems/make/main.cfg /home/chris/development/rtems/kernel/rtems/make/leaf.cfg '/home/chris/development/rtems/4.12/make' 541 /bin/mkdir -p '/home/chris/development/rtems/4.12/share/rtems4.12/make/Templates' 542 /usr/bin/install -c -m 644 /home/chris/development/rtems/kernel/rtems/make/Templates/Makefile.dir /home/chris/development/rtems/kernel/rtems/make/Templates/Makefile.leaf /home/chris/development/rtems/kernel/rtems/make/Templates/Makefile.lib '/home/chris/development/rtems/4.12/share/rtems4.12/make/Templates' 543 /bin/mkdir -p '/home/chris/development/rtems/4.12/make/custom' 544 /usr/bin/install -c -m 644 /home/chris/development/rtems/kernel/rtems/make/custom/default.cfg '/home/chris/development/rtems/4.12/make/custom' 545 make[2]: Leaving directory '/home/chris/development/rtems/kernel/erc32' 546 make[1]: Leaving directory '/home/chris/development/rtems/kernel/erc32' 547 548 Contributing Patches 549 ~~~~~~~~~~~~~~~~~~~~ 550 551 RTEMS welcomes fixes to bugs and new features. The RTEMS Project likes to have 552 bugs fixed against a ticket created on our :r:url:`devel`. Please raise a 553 ticket if you have a bug. Any changes that are made can be tracked against the 554 ticket. If you want to add a new a feature please post a message to 555 :r:list:`devel` describing what you would like to implement. The RTEMS 556 maintainer will help decide if the feature is in the best interest of the 557 project. Not everything is and the maintainers need to evalulate how much 558 effort it is to maintain the feature. Once accepted into the source tree it 559 becomes the responsibility of the maintainers to keep the feature updated and 560 working. 561 562 Changes to the source tree are tracked using git. If you have not made changes 563 and enter the source tree and enter a git status command you will see nothing 564 has changed: 565 566 .. code-block:: shell 567 568 $ cd ../rtems 569 $ git status 570 On branch master 571 Your branch is up-to-date with 'origin/master'. 572 nothing to commit, working directory clean 573 574 We will make a change to the source code. In this example I change the help 575 message to the RTEMS shell's ``halt`` command. Running the same git status 576 command reports: 577 578 .. code-block:: shell 579 580 $ git status 581 On branch master 582 Your branch is up-to-date with 'origin/master'. 583 Changes not staged for commit: 584 (use "git add <file>..." to update what will be committed) 585 (use "git checkout -- <file>..." to discard changes in working directory) 586 587 modified: cpukit/libmisc/shell/main_halt.c 588 589 no changes added to commit (use "git add" and/or "git commit -a") 590 591 As an example I have a ticket open and the ticket number is 9876. I commit the 592 change with the follow git command: 593 594 .. code-block:: shell 595 596 $ git commit cpukit/libmisc/shell/main_halt.c 597 598 An editor is opened and I enter my commit message. The first line is a title 599 and the following lines form a body. My message is: 600 601 .. code-block:: shell 602 603 shell: Add more help detail to the halt command. 604 605 Closes #9876. 606 607 # Please enter the commit message for your changes. Lines starting 608 # with '#' will be ignored, and an empty message aborts the commit. 609 # Explicit paths specified without -i or -o; assuming --only paths... 610 # 611 # Committer: Chris Johns <chrisj@rtems.org> 612 # 613 # On branch master 614 # Your branch is up-to-date with 'origin/master'. 615 # 616 # Changes to be committed: 617 # modified: cpukit/libmisc/shell/main_halt.c 618 619 When you save and exit the editor git will report the commit's status: 620 621 .. code-block:: shell 622 623 $ git commit cpukit/libmisc/shell/main_halt.c 624 [master 9f44dc9] shell: Add more help detail to the halt command. 625 1 file changed, 1 insertion(+), 1 deletion(-) 626 627 You can either email the patch to :r:list:`devel` with the following git 628 command: 629 630 .. code-block:: shell 631 632 $ git send-email --to=devel@rtems.org -1 633 <add output here> 634 635 Or you can ask git to create a patch file using: 636 637 .. code-block:: shell 638 639 $ git format-patch -1 640 0001-shell-Add-more-help-detail-to-the-halt-command.patch 641 642 This patch can be attached to a ticket. -
user/start/transition.rst
rcec0d2b rc05e43b 1 :orphan:2 3 1 Transition 4 2 =========== … … 6 4 7 5 XXX: Transition from auto* to waf. 8 9 -
user/test/create.rst
rcec0d2b rc05e43b 1 :orphan:2 3 1 Creating A Test 4 2 =============== … … 6 4 7 5 XXX: How to create a test. 8 9 -
user/test/running.rst
rcec0d2b rc05e43b 1 :orphan:2 3 1 Running 4 2 ======== … … 25 23 -------- 26 24 XXX: Running on real hardware. 27 -
user/tools/build.rst
rcec0d2b rc05e43b 1 :orphan:2 3 1 Build Tools 4 2 =========== -
user/tools/simulation.rst
rcec0d2b rc05e43b 1 :orphan:2 3 1 Simulation 4 2 ========== … … 12 10 13 11 XXX: rtems-run 14
Note: See TracChangeset
for help on using the changeset viewer.