zephyr/doc/about_zephyr.rst
Allan Stephens 503112dd0c doc: Add "About Zephyr" section
Provides high level background material for Zephyr, to help newcomers
easily determine its suitability for their needs.

Change-Id: I2f843ad627024f601f163eafc7d965ecf44da8f9
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:21 -05:00

54 lines
2.0 KiB
ReStructuredText

.. _about_zephyr::
About Zephyr
############
The Zephyr kernel is a small footprint kernel designed for use on
resource-constrained systems, such as embedded sensor hubs,
environmental sensors, simple LED wearables, and store inventory tags.
Key Features
************
A Zephyr application consists of kernel code, device driver code, and
application-specific code, which are compiled into a monolithic image
executing in a single shared address space.
The Zephyr kernel provides an extensive suite of services,
which are summarized below.
* Multi-threading services, including both priority-based, non-preemptive fibers
and priority-based, preemptive tasks (with optional round robin time-slicing).
* Interrupt services, including both compile-time and run-time registration
of interrupt handlers, which can be written in C or assembly language.
* Inter-thread signalling services, including binary sempahores,
counting semaphores, and mutex semaphores.
* Inter-thread data passing services, including basic message queues,
enhanced message queues, and byte streams.
* Memory management services, including dynamic allocation and freeing of
fixed-size or variable-size memory blocks.
* Power management services, including tickless idle and an advanced idling
infrastructure.
There are several additional features that distinguish Zephyr from
other small footprint kernels.
* Zephyr is highly configurable, allowing an application to incorporate only
the capabilities it needs, and to specify their quantity and size.
* Zephyr requires all system resources to be defined at compile-time
to reduce code size and increase performance.
* Zephyr provides minimal run-time error checking to reduce code size and
increase performance. An optional error checking infrastructure is provided
that can assist in debugging during application development.
The Zephyr kernel is suppported on multiple architectures,
including ARM Cortex-M, Intel x86, and ARC. The list of supported platforms
can be found :ref:`here <platform>`.