mirror of
https://git.rtems.org/rtems-docs/
synced 2025-10-17 18:42:02 +08:00
Corrections from Worth Burruss. Many thanks.
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
.. comment: Copyright (c) 2016 Chris Johns <chrisj@rtems.org>
|
||||
.. comment: All rights reserved.
|
||||
|
||||
.. _prefixs:
|
||||
.. _prefixes:
|
||||
|
||||
Prefixes
|
||||
========
|
||||
|
||||
You will see the term **prefix** referred to though out this documentation and
|
||||
You will see the term **prefix** referred to thoughout this documentation and
|
||||
in a wide number of software packages you can download from the internet. A
|
||||
**prefix** is a path on your computer a software package is built and installed
|
||||
under. Packages that have a **prefix** will place all parts under the *prefix
|
||||
@@ -45,10 +45,10 @@ Project Sandboxing
|
||||
==================
|
||||
|
||||
Project specific sandboxes let you have a number of projects running in
|
||||
parallel with each project in its own sandbox. You simlpy have a prefix per
|
||||
parallel with each project in its own sandbox. You simply have a prefix per
|
||||
project and under that prefix you create a simple yet repeatable structure.
|
||||
|
||||
As an exapmle lets say I have a large disk mounted under :file:`/bd` for *Big
|
||||
As an example lets say I have a large disk mounted under :file:`/bd` for *Big
|
||||
Disk*. As ``root`` create a directory called ``projects`` and give the
|
||||
directory suitable permissions to be writable by you as a user.
|
||||
|
||||
|
@@ -26,7 +26,7 @@ understand there are limits. Projects set up different configurations and what
|
||||
is described here is not an approved set up, rather it is a guide. Some
|
||||
projects have a suitable development machine per developer while others set up
|
||||
a tightly controlled central build server. RTEMS is flexible and lets you
|
||||
engineering a development environment that suites you. The basic specs are:
|
||||
engineer a development environment that suites you. The basic specs are:
|
||||
|
||||
- Multicore processor
|
||||
- 8G bytes RAM
|
||||
@@ -34,8 +34,8 @@ engineering a development environment that suites you. The basic specs are:
|
||||
|
||||
RTEMS makes no demands on graphics.
|
||||
|
||||
If you are using a VM or your host computer that is not a fast current machine
|
||||
do not be concerned. The tools may take longer to build than faster hardware
|
||||
If you are using a VM or your host computer and is not a fast modern machine do
|
||||
not be concerned. The tools may take longer to build than faster hardware
|
||||
however building tools is something you do once. Once the tools and RTEMS is
|
||||
built all your time can be spent writing and developing your application. Over
|
||||
an hour does happen and for the ARM architecture with all BSPs it can be many
|
||||
@@ -54,12 +54,11 @@ operating systems supported are:
|
||||
- Windows
|
||||
- Solaris
|
||||
|
||||
The functionality on POSIX operating such as Linux and FreeBSD is similar and
|
||||
most features on Windows are supported but you are best to ask on
|
||||
The functionality on a POSIX operating such as Linux and FreeBSD is similar and
|
||||
most features on Windows are supported but you are best to ask on the
|
||||
:r:list:`users` if you have a specific question.
|
||||
|
||||
Install and set up your host operating system. We recommend you maintain your
|
||||
operating system by installing any updates.
|
||||
We recommend you maintain your operating system by installing any updates.
|
||||
|
||||
POSIX Hosts
|
||||
-----------
|
||||
@@ -76,17 +75,17 @@ NetBSD. RTEMS development works well on Unix and can scale from a single user
|
||||
and a desktop machine to a team with decentralised or centralised development
|
||||
infrastructure. The RTEMS project provides you with the development tools and
|
||||
aids to help you create an environment that matches your project's needs. The
|
||||
RTEMS Project's aims to give complete freedom to decide on the languages used
|
||||
in your project, which version control system, and the build system for your
|
||||
application.
|
||||
RTEMS Project's aim is to give you complete freedom to decide on the languages
|
||||
used in your project, which version control system, and the build system for
|
||||
your application.
|
||||
|
||||
The following are a few ways you can set up a suitable environment. You are not
|
||||
limited to what is present here. A common factor that defines the final
|
||||
location of tools and projects is the place you have suitable storage. The
|
||||
following set ups assume suitable disk space and disk performance.
|
||||
|
||||
Adminisrator Access
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
Administrator Access
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
You either have ``root`` access to your host development machine or you do
|
||||
not. Some users are given hardware that is centrally managed. If you do not
|
||||
@@ -96,7 +95,7 @@ directory. You could use a prefix of :file:`$HOME/development/rtems` or
|
||||
substituted with ``~``.
|
||||
|
||||
RTEMS Tools and packages do not require ``root`` access
|
||||
to be built and we encourage you do not build the tools as ``root``. If you
|
||||
to be built and we encourage you to not build the tools as ``root``. If you
|
||||
need to control write access then it is best to manage this with groups
|
||||
assigned to users.
|
||||
|
||||
@@ -104,8 +103,8 @@ If you have ``root`` access you can decide to install the tools under any
|
||||
suitable prefix. This may depend on the hardware in your host development
|
||||
machine. If the machine is a centralised build server the prefix may be used to
|
||||
separate production versions from the test versions and as just discussed the
|
||||
prefix paths may have restricted access to only those who manage and
|
||||
configuration control of the machine.
|
||||
prefix paths may have restricted access rights to only those who manage and
|
||||
have configuration control of the machine.
|
||||
|
||||
Apple OS X
|
||||
----------
|
||||
@@ -143,7 +142,7 @@ complexity as well as a performance over-head. The RTEMS Project uses these
|
||||
POSIX emulation shells to run configure scripts that come with various open
|
||||
source packages such as `gcc` so they form an important and valued part of the
|
||||
environment we describe here. The output of this procedure forms the tools you
|
||||
use during your application development and they do not depend the emulation
|
||||
use during your application development and they do not depend on the emulation
|
||||
DLLs.
|
||||
|
||||
The performance of the compiler is as good as you can have on Windows and the
|
||||
@@ -169,10 +168,11 @@ characters. This can effect some of the tools used by RTEMS. It is recommended
|
||||
you keep the top level directories as short as possible when building the RTEMS
|
||||
tools and you should also keep an eye on the path length when developing your
|
||||
application. The RTEMS built tools can handle much longer path lengths however
|
||||
some of the GNU tools such as those in the ``binutils`` package cannot. The
|
||||
release packages of the RSB when unpacked has a top level file names that is
|
||||
too big to build RTEMS so you need to change that path to something smaller to
|
||||
build. This is indicated in :ref:`released-version`.
|
||||
some of the GNU tools such as those in the ``binutils`` package cannot.
|
||||
|
||||
The release packages of the RSB when unpacked have top level file names that
|
||||
are too big to build RTEMS. You need to change or rname that path to something
|
||||
smaller to build. This is indicated in :ref:`released-version`.
|
||||
|
||||
.. _msys2_parallel_builds:
|
||||
|
||||
@@ -198,7 +198,7 @@ executables. The shell is a standard Bourne shell and the MSYS2 environment is
|
||||
a stripped Cygwin shell with enough support to run the various ``configure``
|
||||
scripts needed to build the RTEMS tools and the RTEMS kernel.
|
||||
|
||||
MSYS2 is built around the ``pacman`` packing tool. This makes MSYS2 a
|
||||
MSYS2 is built around the ``pacman`` packaging tool. This makes MSYS2 a
|
||||
distribution and that is a welcome feature on Windows. You get a powerful tool
|
||||
to manage your development environment on Windows.
|
||||
|
||||
|
@@ -20,8 +20,8 @@ Please read :ref:`development-hosts` before continuing.
|
||||
time to time.
|
||||
|
||||
The following procedure assumes you have installed and configured your host
|
||||
operating. It also assumes you have installed any dependent packages needed
|
||||
when building the tools and the kernel.
|
||||
operating system. It also assumes you have installed any dependent packages
|
||||
needed when building the tools and the kernel.
|
||||
|
||||
You need to select a location to build and install the RTEMS Tool chain and
|
||||
RTEMS. Make sure there is plenty of disk space and a fast disk is
|
||||
@@ -32,7 +32,7 @@ you can do this without needing to be root. You can also use
|
||||
|
||||
The location used to install the tools and kernel is called the `prefix`. It is
|
||||
best to have a `prefix` for each different version of RTEMS you are using. If
|
||||
you are using RTEMS 4.11 in production it is not a good to install a
|
||||
you are using RTEMS 4.11 in production it is not a good idea to install a
|
||||
development version of 4.12 over the top. A separate `prefix` for each version
|
||||
avoids this.
|
||||
|
||||
@@ -590,7 +590,7 @@ When you save and exit the editor git will report the commit's status:
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
You can either email the patch to :r:list:`devel` with the following git
|
||||
command:
|
||||
command, and it is `minus one` on the command line:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
|
@@ -5,10 +5,9 @@
|
||||
Getting Started
|
||||
===============
|
||||
|
||||
RTEMS is an open source operating and an open source project. As a user you
|
||||
have access to all the source code and this `Getting Started`_ section will show
|
||||
you how you build the RTEMS compiler tools, kernel and 3rd party libraries from
|
||||
source.
|
||||
RTEMS is an open source real-time operating system. As a user you have access
|
||||
to all the source code and this `Getting Started`_ section will show you how
|
||||
you build the RTEMS compiler tools, kernel and 3rd party libraries from source.
|
||||
|
||||
.. include:: basics.rst
|
||||
.. include:: depend.rst
|
||||
|
@@ -31,13 +31,20 @@ detail about path lengths on Windows.
|
||||
The location used to install the tools and kernel is called the
|
||||
`prefix`. :ref:`prefixes` explains prefixes and how to use them. It is best to
|
||||
have a `prefix` for each different version of RTEMS you are using. If you are
|
||||
using RTEMS 4.11 in production it is not a good to install a development
|
||||
version of 4.12 over the top. A separate `prefix` for each version avoids this.
|
||||
using RTEMS 4.11 in production it is **not** a good idea to install a
|
||||
development version of 4.12 over the top by using the same `prefix` as the 4.11
|
||||
build. A separate `prefix` for each version avoids this.
|
||||
|
||||
Releases download all source packages from the RTEMS FTP server. Hosting all
|
||||
the source on the RTEMS FTP server ensures the source is present for the like
|
||||
of the release on the RTEMS FTP server. If there is a problem accessing the
|
||||
RTEMS FTP the RSB will fall back to the packages home site.
|
||||
Released versions of the RSB download all source code for all packages from the
|
||||
:r:url:`ftp` rather than from the package's home site. Hosting all the source
|
||||
on the :r:url:`ftp` ensures the source is present for the life of the
|
||||
release on the :r:url:`ftp`. If there is a problem accessing the RTEMS FTP
|
||||
the RSB will fall back to the packages home site.
|
||||
|
||||
The :r:url:`ftp` is hosted at the Oregon State University's The Open Source Lab
|
||||
(http://osuosl.org/). This is a nonprofit organization working for the
|
||||
advancement of open source technologies and RTEMS is very fortunate to hosted
|
||||
here. It has excellent internet access and performance.
|
||||
|
||||
.. note:: **Controlling the RTEMS Kernel Build**
|
||||
|
||||
@@ -50,12 +57,11 @@ RTEMS FTP the RSB will fall back to the packages home site.
|
||||
SPARC architecture you can supply ``--with-rtemsbsp="erc32 sis"``. This can
|
||||
speed the build time up for some architectures that have a lot of BSPs.
|
||||
|
||||
This procedure will build a SPARC tool chain.
|
||||
|
||||
RTEMS Tools Chain
|
||||
-----------------
|
||||
|
||||
Set up a suitable workspace to build the release in. On Unix:
|
||||
This procedure will build a SPARC tool chain. Set up a suitable workspace to
|
||||
build the release in. On Unix:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
|
@@ -83,10 +83,10 @@ Check the RSB has a valid environment:
|
||||
$
|
||||
|
||||
To build a set of RTEMS tools for the Intel ``i386`` architecture. The build
|
||||
runs a single job rather a job per CPU in your machine and will take a long
|
||||
time so please be patient. The RSB creates a log file containing all the build
|
||||
output and it will be changing size. The RSB command to build ``i386`` tools
|
||||
is:
|
||||
runs a single job rather than a job per CPU in your machine and will take a
|
||||
long time so please be patient. The RSB creates a log file containing all the
|
||||
build output and it will be changing size. The RSB command to build ``i386``
|
||||
tools is:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
@@ -323,7 +323,7 @@ Finally we run the RSB's parallel ``bootstrap`` command:
|
||||
|
||||
We will build the RTEMS kernel for the ``i386`` target and the ``pc686``
|
||||
BSP. You can check the available BSPs by running the ``rtems-bsps`` command
|
||||
found in the to directory of the RTEMS kernel source. We build the Board
|
||||
found in the top directory of the RTEMS kernel source. We build the Board
|
||||
Support Package (BSP) outside the kernel source tree:
|
||||
|
||||
.. code-block:: shell
|
||||
@@ -468,6 +468,8 @@ Install the kernel to our prefix:
|
||||
Building the LibBSD
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The RTEMS BSD Library or libBSD as it is also know is a package of FreeBSD code
|
||||
The RTEMS BSD Library or libBSD as it is also known is a package of FreeBSD code
|
||||
ported to RTEMS. It provides a number of advantanced services including a
|
||||
networking stack
|
||||
networking stack.
|
||||
|
||||
| This needs to move to a new section and be completed.
|
||||
|
Reference in New Issue
Block a user