doc: Relocate and revise "System Fundamentals" material
Relocates material that describes the most fundamental terms used
in Zephyr documentation so that it appears in the "Introducing Zephyr"
document. (i.e. Ensures that the terms are defined before they are
used in the "Getting Started Guide" that follows.)
Transforms the material into a definition list to make it easier
for readers to locate and understand the mateial. Revises the text
to give it a consistent look-and-feel.
Change-Id: I0187d99b1bdac37397a4c907d57bc1f24d7698e7
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
diff --git a/doc/introduction/introducing_zephyr.rst b/doc/introduction/introducing_zephyr.rst
index ede336a..99e1cda 100644
--- a/doc/introduction/introducing_zephyr.rst
+++ b/doc/introduction/introducing_zephyr.rst
@@ -9,7 +9,7 @@
wireless gateways.
It is designed to be supported by multiple architectures, including
-ARM Cortex-M, Intel x86, and ARC. The full list of supported platforms
+ARM Cortex-M, Intel x86, and ARC. The full list of supported boards
can be found :ref:`here <board>`.
Licensing
@@ -63,3 +63,54 @@
* *Power Management Services* such as tickless idle and an advanced idling
infrastructure.
+
+Fundamental Terms and Concepts
+******************************
+
+This section outlines the basic terms used by the Zephyr kernel ecosystem.
+
+:dfn:`kernel`
+ The set of Zephyr-supplied files that implement the Zephyr kernel,
+ including its core services, device drivers, network stack, and so on.
+
+:dfn:`application`
+ The set of user-supplied files that the Zephyr build system uses
+ to build an application image for a specified board configuration.
+ It can contain application-specific code, kernel configuration settings,
+ kernel object definitions, and at least one Makefile.
+
+ The application's kernel configuration settings direct the build system
+ to create a custom kernel that makes efficient use of the board's resources.
+
+ An application can sometimes be built for more than one type of board
+ configuration (including boards with different CPU architectures),
+ if it does not require any board-specific capabilities.
+
+:dfn:`application image`
+ A binary file that is loaded and executed by the board for which
+ it was built.
+
+ Each application image contains both the application's code and the
+ Zephyr kernel code needed to support it. They are compiled as a single,
+ fully-linked binary.
+
+ Once an application image is loaded onto a board, the image takes control
+ of the system, initializes it, and runs as the system's sole application.
+ Both application code and kernel code execute as privileged code
+ within a single shared address space.
+
+:dfn:`board`
+ A target system with a defined set of devices and capabilities,
+ which can load and execute an application image. It may be an actual
+ hardware system or a simulated system running under QEMU.
+
+ The Zephyr kernel supports a :ref:`variety of boards <board>`.
+
+:dfn:`board configuration`
+ A set of kernel configuration options that specify how the devices
+ present on a board are used by the kernel.
+
+ The Zephyr build system defines one or more board configurations
+ for each board it supports. The kernel configuration settings that are
+ specified by the build system can be over-ridden by the application,
+ if desired.
diff --git a/doc/kernel/overview/overview.rst b/doc/kernel/overview/overview.rst
index 87e75da..956104e 100644
--- a/doc/kernel/overview/overview.rst
+++ b/doc/kernel/overview/overview.rst
@@ -8,7 +8,6 @@
.. toctree::
:maxdepth: 1
- system_fundamentals.rst
kernel_fundamentals.rst
application_fundamentals.rst
source_tree.rst
diff --git a/doc/kernel/overview/system_fundamentals.rst b/doc/kernel/overview/system_fundamentals.rst
deleted file mode 100644
index 84f57d8..0000000
--- a/doc/kernel/overview/system_fundamentals.rst
+++ /dev/null
@@ -1,30 +0,0 @@
-.. _system_fundamentals:
-
-System Fundamentals
-###################
-
-An :dfn:`application image` is a binary that controls the operation
-of a hardware system, or of a simulated system running under QEMU.
-Each application image contains both the application's code and the Zephyr
-kernel code needed to support it. They are compiled as a single,
-fully-linked binary.
-
-Once an application image has been loaded onto a target system, the image takes control
-of the system, initializes it, and runs forever as the system's sole application.
-Both application code and kernel code execute as privileged code within a single
-shared address space.
-
-An :dfn:`application` is a set of user-supplied files that the Zephyr build
-system processes to generate an application image. The application consists of
-application-specific code, a collection of kernel configuration settings, and at
-least one Makefile. The application's kernel configuration settings enable the build
-system to create a kernel tailor-made to meet the needs of the application
-and to make the best use of the system's resources.
-
-The Zephyr Kernel supports a variety of target systems, known as *boards*;
-each :dfn:`board` has its own set of hardware devices and capabilities. One or more
-*board configurations* are defined for a given board; each
-:dfn:`board configuration` indicates how the devices that may be present on the
-board are to be used by the kernel. The board and board configuration concepts
-make it possible to develop a single application that can be used by a set of related
-target systems, or even target systems based on different CPU architectures.