mirror of
https://git.rtems.org/rtems-docs/
synced 2025-05-14 23:00:31 +08:00
user: Spell out third-party
This commit is contained in:
parent
5973f92f79
commit
63735bc9d2
@ -19,7 +19,7 @@ has to provide similar functionality to execute an embedded executable.
|
||||
An RTEMS Source Builder (RSB) built RTEMS tool chain is used to create RTEMS
|
||||
executables. The tool chain executable creates a fixed position statically
|
||||
linked Extendable Loader Format (ELF) file that contains the RTEMS kernel,
|
||||
standard libraries, 3rd party libraries and application code. RTEMS executes in
|
||||
standard libraries, third-party libraries and application code. RTEMS executes in
|
||||
a single address space which means it does not support the ``fork`` or ``exec``
|
||||
system calls so statically linking all the code is the easiest and best way to
|
||||
create an executable.
|
||||
@ -50,9 +50,9 @@ application. RTEMS conforms to a number of international standards such as
|
||||
POSIX and can build and run portable code written in languages such as C, C++
|
||||
and Ada.
|
||||
|
||||
Applications are built from source into ELF object files, 3rd party packages
|
||||
Applications are built from source into ELF object files, third-party packages
|
||||
can be built as libraries or they can be imported as source into an application
|
||||
code base. The application, 3rd party packages, RTEMS and standard libraries
|
||||
code base. The application, third-party packages, RTEMS and standard libraries
|
||||
are linked to create the RTEMS executable. The executable is transferred to the
|
||||
target and a bootloader loads it from the non-volatile storage into RAM or the
|
||||
code is executed in place in the non-volatile storage. The target hardware
|
||||
@ -67,7 +67,7 @@ defines what happens.
|
||||
|
||||
Building an Application
|
||||
|
||||
The standard and 3rd party libraries are a collection of object files built
|
||||
The standard and third-party libraries are a collection of object files built
|
||||
using the same set of tools the application source is compiled with. The
|
||||
package collects it's object files into an archive or library.
|
||||
|
||||
|
@ -12,7 +12,7 @@ Targets
|
||||
*target* because RTEMS is specifically aimed at that target hardware. An RTEMS
|
||||
executable is statically linked and executes in a single address space on the
|
||||
target hardware. A statically linked executable means the RTEMS Kernel,
|
||||
drivers, third party packages and application code is linked into a single
|
||||
drivers, third-party packages and application code is linked into a single
|
||||
executable image. A single address space means no virtual memory and no memory
|
||||
protected process address space is running within the RTEMS arena and the RTEMS
|
||||
executive, drivers and application have unprotected access to the whole address
|
||||
|
@ -30,8 +30,8 @@ Mavericks clang LLVM tool chain. You will need to build and install a couple of
|
||||
packages to make the RSB pass the ``sb-check``. These are CVS and XZ. You can get
|
||||
these tools from a packaging tool for MacOS such as *MacPorts* or *HomeBrew*.
|
||||
|
||||
I do not use 3rd party packaging on MacOS and prefer to build the packages from
|
||||
source using a prefix of ``/usr/local``. There are good 3rd party packages around
|
||||
I do not use third-party packaging on MacOS and prefer to build the packages from
|
||||
source using a prefix of ``/usr/local``. There are good third-party packages around
|
||||
however they sometimes bring in extra dependence and that complicates my build
|
||||
environment and I want to know the minimal requirements when building
|
||||
tools. The following are required:
|
||||
|
@ -71,7 +71,7 @@ POSIX Support
|
||||
-------------
|
||||
|
||||
Building the RTEMS compilers, debugger, the RTEMS kernel and a number of other
|
||||
3rd party packages requires a POSIX environment. On Windows you can use Cygwin
|
||||
third-party packages requires a POSIX environment. On Windows you can use Cygwin
|
||||
or MSYS2. This document focuses on MSYS2. It is smaller than Cygwin and comes
|
||||
with the Arch Linux package manager ``pacman``.
|
||||
|
||||
@ -213,7 +213,7 @@ them.
|
||||
Disabling Windows Defender improves performance if you have another up to date
|
||||
virus detection tool installed and enabled. The excellent ``Process Hacker 2``
|
||||
tool can monitor the performance and the Windows Defender service contributed a
|
||||
high load. In this case a 3rd party virus tool was installed so the Windows
|
||||
high load. In this case a third-party virus tool was installed so the Windows
|
||||
Defender service was not needed.
|
||||
|
||||
To build a MinGW tool chain a Canadian cross-compile (Cxc) is required on
|
||||
|
@ -284,4 +284,4 @@ discussed in :ref:`msys2_parallel_builds`.
|
||||
cleaning: sparc-rtems4.11-kernel-4.11.0-1
|
||||
Build Set: Time 0:19:15.713662
|
||||
|
||||
You can now build a 3rd party library or an application as defaulted in TBD.
|
||||
You can now build a third-party library or an application as defaulted in TBD.
|
||||
|
@ -248,7 +248,7 @@ Open Source
|
||||
|
||||
RTEMS is an open source operating system and an open source project and this
|
||||
extends to the ecosystem. We encourage users to integrate the processes to
|
||||
build tools, the kernel and any 3rd party libraries into their project's
|
||||
build tools, the kernel and any third-party libraries into their project's
|
||||
configuration management processes.
|
||||
|
||||
All the parts that make up the ecosystem are open source. The ecosystem uses a
|
||||
|
@ -2,19 +2,19 @@
|
||||
|
||||
.. Copyright (C) 2012, 2016 Chris Johns <chrisj@rtems.org>
|
||||
|
||||
RTEMS 3rd Party Packages
|
||||
RTEMS Third-Party Packages
|
||||
========================
|
||||
|
||||
This section describes how to build and add an RTEMS 3rd party package to the
|
||||
This section describes how to build and add an RTEMS third-party package to the
|
||||
RSB.
|
||||
|
||||
A 3rd party package is a library or software package built to run on RTEMS,
|
||||
A third-party package is a library or software package built to run on RTEMS,
|
||||
examples are NTP, Net-Snmp, libjpeg or Python. These pieces of software can be
|
||||
used to help build RTEMS applications. The package is built for a specific
|
||||
BSP and so requires a working RTEMS tool chain and an installed RTEMS Board
|
||||
Support Package (BSP).
|
||||
|
||||
The RSB support for building 3rd party packages is based around the *pkconfig*
|
||||
The RSB support for building third-party packages is based around the *pkconfig*
|
||||
files (PC) installed with the BSP. The pkgconfig support in RTEMS is considered
|
||||
experimental and can have some issues for some BSPs. This issue is rooted deep
|
||||
in the RTEMS build system. If you have any issues with this support please ask
|
||||
@ -26,7 +26,7 @@ Vertical Integration
|
||||
The RSB supports horizontal integration with support for multiple
|
||||
architectures. Adding packages to the RSB as libraries is vertical
|
||||
integration. Building the GCC tool chain requires you build an assembler before
|
||||
you build a compiler. The same can be done for 3rd party libraries, you can
|
||||
you build a compiler. The same can be done for third-party libraries, you can
|
||||
crate build sets that stack library dependences vertically to create a *stack*.
|
||||
|
||||
Building
|
||||
@ -133,7 +133,7 @@ RTEMS.
|
||||
dynamic libraries are created and installed.
|
||||
|
||||
The RSB provides the configuration file ``rtems/config/rtems-bsp.cfg`` to
|
||||
support building 3rd party packages and you need to include this file in your
|
||||
support building third-party packages and you need to include this file in your
|
||||
RTEMS version specific configuration file. For example the Net-SNMP
|
||||
configuration file ``rtems/config/net-mgmt/net-snmp-5.7.2.1-1.cfg``::
|
||||
|
||||
|
@ -33,7 +33,7 @@ an equivalent tool set.
|
||||
Building from source provides you with control over the configuration of the
|
||||
package you are building. If all or the most important dependent parts are
|
||||
built from source you limit the exposure to host variations. For example the
|
||||
GNU C compiler (gcc) currently uses a number of 3rd party libraries internally
|
||||
GNU C compiler (gcc) currently uses a number of third-party libraries internally
|
||||
(gmp, mpfr, etc). If your validated compiler generating code for your target
|
||||
processor is dynamically linked against the host's version of these libraries
|
||||
any change in the host's configuration may effect you. The changes the host's
|
||||
|
@ -104,4 +104,4 @@ kernel:
|
||||
...
|
||||
$ make install
|
||||
|
||||
You can now build a 3rd party library or an application.
|
||||
You can now build a third-party library or an application.
|
||||
|
@ -6,7 +6,7 @@ Host Tools
|
||||
**********
|
||||
|
||||
The RTEMS kernel is developed on host computers cross-compiled and linking the
|
||||
kernel, language runtime libraries, 3rd party packages and application source
|
||||
kernel, language runtime libraries, third-party packages and application source
|
||||
code so it can run on target hardware. RTEMS and some of the hardware it
|
||||
support cannot self-host so we need a range of tools to support the wide range
|
||||
of avaliable host computers users wish to develop on. This section details the
|
||||
|
@ -9,7 +9,7 @@ Tracing
|
||||
.. index:: Tracing Framework
|
||||
|
||||
RTEMS Tracing Framework is an on-target software based system which helps track
|
||||
the ongoings inside the operation of applications, 3rd party packages, and the
|
||||
the ongoings inside the operation of applications, third-party packages, and the
|
||||
kernel in real time.
|
||||
|
||||
Software based tracing is a complex process which requires components on both
|
||||
|
Loading…
x
Reference in New Issue
Block a user