mirror of
https://git.rtems.org/rtems-docs/
synced 2025-05-15 02:47:44 +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
|
An RTEMS Source Builder (RSB) built RTEMS tool chain is used to create RTEMS
|
||||||
executables. The tool chain executable creates a fixed position statically
|
executables. The tool chain executable creates a fixed position statically
|
||||||
linked Extendable Loader Format (ELF) file that contains the RTEMS kernel,
|
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``
|
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
|
system calls so statically linking all the code is the easiest and best way to
|
||||||
create an executable.
|
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++
|
POSIX and can build and run portable code written in languages such as C, C++
|
||||||
and Ada.
|
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
|
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
|
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
|
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
|
code is executed in place in the non-volatile storage. The target hardware
|
||||||
@ -67,7 +67,7 @@ defines what happens.
|
|||||||
|
|
||||||
Building an Application
|
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
|
using the same set of tools the application source is compiled with. The
|
||||||
package collects it's object files into an archive or library.
|
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
|
*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
|
executable is statically linked and executes in a single address space on the
|
||||||
target hardware. A statically linked executable means the RTEMS Kernel,
|
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
|
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
|
protected process address space is running within the RTEMS arena and the RTEMS
|
||||||
executive, drivers and application have unprotected access to the whole address
|
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
|
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*.
|
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
|
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 3rd party packages around
|
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
|
however they sometimes bring in extra dependence and that complicates my build
|
||||||
environment and I want to know the minimal requirements when building
|
environment and I want to know the minimal requirements when building
|
||||||
tools. The following are required:
|
tools. The following are required:
|
||||||
|
@ -71,7 +71,7 @@ POSIX Support
|
|||||||
-------------
|
-------------
|
||||||
|
|
||||||
Building the RTEMS compilers, debugger, the RTEMS kernel and a number of other
|
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
|
or MSYS2. This document focuses on MSYS2. It is smaller than Cygwin and comes
|
||||||
with the Arch Linux package manager ``pacman``.
|
with the Arch Linux package manager ``pacman``.
|
||||||
|
|
||||||
@ -213,7 +213,7 @@ them.
|
|||||||
Disabling Windows Defender improves performance if you have another up to date
|
Disabling Windows Defender improves performance if you have another up to date
|
||||||
virus detection tool installed and enabled. The excellent ``Process Hacker 2``
|
virus detection tool installed and enabled. The excellent ``Process Hacker 2``
|
||||||
tool can monitor the performance and the Windows Defender service contributed a
|
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.
|
Defender service was not needed.
|
||||||
|
|
||||||
To build a MinGW tool chain a Canadian cross-compile (Cxc) is required on
|
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
|
cleaning: sparc-rtems4.11-kernel-4.11.0-1
|
||||||
Build Set: Time 0:19:15.713662
|
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
|
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
|
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.
|
configuration management processes.
|
||||||
|
|
||||||
All the parts that make up the ecosystem are open source. The ecosystem uses a
|
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>
|
.. 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.
|
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
|
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
|
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
|
BSP and so requires a working RTEMS tool chain and an installed RTEMS Board
|
||||||
Support Package (BSP).
|
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
|
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
|
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
|
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
|
The RSB supports horizontal integration with support for multiple
|
||||||
architectures. Adding packages to the RSB as libraries is vertical
|
architectures. Adding packages to the RSB as libraries is vertical
|
||||||
integration. Building the GCC tool chain requires you build an assembler before
|
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*.
|
crate build sets that stack library dependences vertically to create a *stack*.
|
||||||
|
|
||||||
Building
|
Building
|
||||||
@ -133,7 +133,7 @@ RTEMS.
|
|||||||
dynamic libraries are created and installed.
|
dynamic libraries are created and installed.
|
||||||
|
|
||||||
The RSB provides the configuration file ``rtems/config/rtems-bsp.cfg`` to
|
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
|
RTEMS version specific configuration file. For example the Net-SNMP
|
||||||
configuration file ``rtems/config/net-mgmt/net-snmp-5.7.2.1-1.cfg``::
|
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
|
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
|
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
|
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
|
(gmp, mpfr, etc). If your validated compiler generating code for your target
|
||||||
processor is dynamically linked against the host's version of these libraries
|
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
|
any change in the host's configuration may effect you. The changes the host's
|
||||||
|
@ -104,4 +104,4 @@ kernel:
|
|||||||
...
|
...
|
||||||
$ make install
|
$ 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
|
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
|
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
|
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
|
of avaliable host computers users wish to develop on. This section details the
|
||||||
|
@ -9,7 +9,7 @@ Tracing
|
|||||||
.. index:: Tracing Framework
|
.. index:: Tracing Framework
|
||||||
|
|
||||||
RTEMS Tracing Framework is an on-target software based system which helps track
|
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.
|
kernel in real time.
|
||||||
|
|
||||||
Software based tracing is a complex process which requires components on both
|
Software based tracing is a complex process which requires components on both
|
||||||
|
Loading…
x
Reference in New Issue
Block a user