Commit Graph

29 Commits

Author SHA1 Message Date
Allan Stephens
1e3c8902ec doc: Enhance section on nanokernel fiber services
Provides additional details about the use of fibers, following
the standard format now being used for kernel services.

Change-Id: Iee5cca7af213259f1dec53d75b729388fcf93bf8
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:34 -05:00
Andrew Boie
f18f102feb nanokernel: add optional ring buffer data type
This patch is based on some code contributed by Dirk Brandewie.

This is a generic data structure for queuing data in a FIFO ring
buffer. Any given data enqueued is annotated with an app-specific
type identifier, and small integral value. Use of a data pointer
is optional if the necessary information can be conveyed in the
annotations. We want all the metadata to fit in a single DWORD.
The ring buffer always contains at least one free dword in the
buffer to correctly distinguish between full and empty queues.

Concurrency control is almost nonexistent; depending on usage,
apps may want to introduce the usage of semaphores and/or mutexes
to preserve the integrity of the ring buffer or provide notifications
when data is available.

Change-Id: I860262d2afc96db4476d4c695a92f7da355ab732
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:15:34 -05:00
Allan Stephens
9fc6bcaa8d doc: Add label for nanokernel semaphore documentation
Adds in a label that can be used to reference the nanokernel semaphore
documentation, similar to what's available for other nanokernel services.

Change-Id: Ic97852e85b41a9e6e778dde820b98ea5be5f06f1
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:34 -05:00
Anas Nashif
3f5eb3b7e6 doc: Restore main index and cleanup
Also move about_zephyr back to main page and remove duplicated
examples for nano kernel.

Change-Id: Icbc899ce5688d853a59dfc5c8d50f34048ed212b
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:15:33 -05:00
Rodrigo Caballero
5753b6e4dc Doc: Restructure clean up.
This commit fixes all warnings about cross-references and file names. It
addresses all mark-up issues. Only the warnings regarding Doxygen
objects and files that are intentionally not added to a toctree are left
unhandled.

Change-Id: I5d840522ea0bade4f183e447745244aecf893c94
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:33 -05:00
Allan Stephens
8205366f37 doc: Minor changes for nanokernel timer objects
Revises the concepts section to better align with the conventions
used for other kernel object documentation.

Change-Id: Iaefe87ffa163fdaf091a4fc0f42afb9f0988cc7c
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:32 -05:00
Allan Stephens
87d41fb144 doc: Enhance section on nanokernel semaphore objects
Provides additional details about the use of nanokernel semaphores,
following the standard format now being used for kernel object types.

Change-Id: Iddd1c53ebbdbebdfa7e8bfa335d4d267c69ab572
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:32 -05:00
Allan Stephens
5f322787f3 doc: Enhance section on nanokernel stack objects
Provides a bit more detail, to better align with the descriptions
now used for other nanokernel object types.

Change-Id: I963c670d3b7fb5eedbe902bed66f1ce57d18eb12
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:32 -05:00
Allan Stephens
e65beba607 doc: Enhance section on nanokernel LIFO objects
Provides additional details about the use of nanokernel FIFOs,
following the standard format now being used for kernel object types.

Change-Id: Ieccc94eee035413b22b1c8902df61e580f0920e8
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:32 -05:00
Allan Stephens
8d85985d87 doc: Enhance section on nanokernel FIFO objects
Provides additional details about the use of nanokernel FIFOs,
following the standard format now being used for kernel object types.

Change-Id: Ic6828c1730d160f79ae51ebf004d6af2e7adb7af
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:32 -05:00
Peter Mitsis
3d2f48b68f doc: Add missing Usage section title
Change-Id: I2533bd7f16ad1e3ba44f9c0c282067dc82d33c26
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:32 -05:00
Peter Mitsis
b20adcc0d1 doc: Add nanokernel LIFO code samples
Adds examples showing how to ...
 1. initialize a nanokernel LIFO
 2. write to a nanokernel LIFO
 3. read from a nanokernel LIFO

Change-Id: I8b3646a3712b0aa3b5d3e432bdba63464753a6b5
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:32 -05:00
Peter Mitsis
d4dd9842e6 doc: remove extra closing brace in code example
Change-Id: I0286800966a0e3f41874db9ccf1c31afedd76d1e
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:32 -05:00
Allan Stephens
60bd3c7d3a doc: Add section on nanokernel application use of tasks
Adds a short section describing the nanokernel's background task.
This section is modelled on the section for microkernel tasks,
but excludes areas that aren't applicable to the background task.

Change-Id: Id209bad8ada222347cfcd01a3c822ca486bb48db
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:32 -05:00
Allan Stephens
2aeff35a1c doc: Add section on microkernel application use of fibers
Adds a short section to make clear that microkernel applications
can utilize fibers, and can even use them with a few microkernel
object types. Revises some link names to account for the fact that
there are now 2 sections describing fiber services.

Change-Id: I5960aea8b3959bb4a383f919882419effff5917d
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:32 -05:00
Peter Mitsis
a4266bdf3a doc: Add nanokernel FIFO code samples
Adds examples showing how to ...
 1. initialize a nanokernel FIFO
 2. write to a nanokernel FIFO
 3. read from a nanokernel FIFO with a timeout

Change-Id: I6dbe741c2439a80e663f31372b11ef85b9e5b503
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:28 -05:00
Peter Mitsis
51a8a998cd doc: Add nanokernel signaling code samples
Adds examples showing how to ...
 1. initialize a nanokernel semaphore
 2. give a nanokernel semaphore from an ISR
 3. take a nanokernel semaphore with a timeout

Change-Id: I6d5c2c0616c1dd69b42f5e3002c8678c067fb0f2
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:28 -05:00
Benjamin Walsh
b981326ae9 microkernel: remove last remnants of 'process' from text
There is no concept of a "process" in the system, so remove last
mentions of that concept from free-form text (doc, comments, macro
parameter names).

Change-Id: Ic1b73371c448ed93b0db46bc9bb412d1e1dbc8bd
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-02-05 20:15:27 -05:00
Peter Mitsis
ea2a07a50e doc: Add nanokernel fiber code sample
Adds an example showing how to start a fiber from a task.

Change-Id: I5728d9b48650c60ab265924f436f78696849b915
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:26 -05:00
Allan Stephens
61fa627f74 doc: Terminology change - signalling -> synchronization
The kernel's services previously referred to as "signalling services",
which include object types such as semaphores, events, and mutexes,
are now referred to as "synchronization services". This term more
clearly conveys their use as a means to synchronize the operation
of two or more entities within the kernel.

Change-Id: Id24b96f2daf7d866a2d134c222e3d0b6fc568f5a
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:26 -05:00
Allan Stephens
46c5f12a1f doc: Overhaul of Zephyr Kernel Primer overview section
A complete rewrite of the Overview section. The revised text
provides a more logical and comprehensive introduction to the
main concepts and capabilities of Zephyr, without providing
an excessive level of detail. (Those details should be provided
by the remaining sections of the Kernel Primer.)

This rewrite has also resulted in some small changes to the
About Zephyr and other Kernel Primer sections.

Change-Id: Idd4d5e0f0aabaaee8cd43d12563018ba4d8f7417
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:25 -05:00
Allan Stephens
10ba8f7e6e doc: Improve accessibility of microkernel and nanokernel info
Removes an unnecessary level of headings in the microkernel and
nanokernel sections of the Zephyr kernel documentation, providing
users with direct access to the major service areas of the
microkernel and nanokernel from the main kernel web page. Also
greatly reduces the introductory text for these 2 sections,
since users can now easily find out what the various subsections
provide by simply clicking on them.

Change-Id: Ibc5858daad49cfb6567dfad285b7a1d5a755d149
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:21 -05:00
Allan Stephens
3a91819e7b doc: Updates to nanokernel timer services
Describes nanokernel timer use, including concepts, examples,
and APIs.

Change-Id: Ibee277c62299e8cbe5c5093f097efd3596fbaf77
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:20 -05:00
Allan Stephens
d9461bf072 doc: Updates to nanokernel signalling services
Adds introductory text to highlight the limited signalling choices
provided by the nanokernel. Updates the semaphore API table to
incorporate missing APIs.

Change-Id: I947de383178f8710f0ae238a03f197102dac2845
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:20 -05:00
Allan Stephens
1d5ebda336 doc: Nanokernel stacks addition
Describes nanokernel stacks concepts, examples, and APIs.

Change-Id: I53aea9c4557953beaf5d0dd7b601446c7b8f3984
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:20 -05:00
Allan Stephens
8fe4f41ce6 doc: Updates to nanokernel data passing services
Partitions services into a separate file for each service. Updates
API tables to incorporate missing APIs.

Change-Id: Ia08b52b4865967beda02851cfe4a7d5ca4e8f596
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:20 -05:00
Allan Stephens
cc1b0f9af3 doc: Add information about fiber APIs
Added an API table to summarize available APIs. (Still need to
add examples of how to use to more significant ones.)

Change-Id: I371912ea77ad264ed0c96f129e8676ab866697db
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:20 -05:00
Anas Nashif
0a7ff3b461 doxygen: move nanokernel fiber comments to header
Fix documentation to link to autogenerated API entries.

Change-Id: I0355435c189bff17c4468b1f300dcffcce73e51d
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:15:20 -05:00
Rodrigo Caballero
f81ee6efdd Doc: Change the Nanokernel Objects to the Nanokernel Services section.
Moves the Nanokernel Object documentation to a new Nanokernel Services
section within the Kernel Primer. Labels, cross-references, figures,
headings and filenames were updated to reflect the new structure. 

Change-Id: I04f97e712d78cd211a8ed1315f86895a51affa01
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:19 -05:00