Commit Graph

78 Commits

Author SHA1 Message Date
Allan Stephens 6fe1e2357f doc: Fix typo in description of microkernel semaphores
Change-Id: Iaa5e511aa0ca901fcf2f57f49dd4816898fada37
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:24:36 -05:00
Allan Stephens 935a809cc6 doc: Add documentation for using private events
This reflects the changes made in commit df6be15aa5...

Change-Id: Ibe1bc167390268c0e335a0b4060a600ef55d1add
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:24:36 -05:00
Allan Stephens a891c045a7 doc: Add section on floating point services to Kernel Primer
Change-Id: Ic96385595740796e6bb28425cacd05a1285a89bb
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:24:36 -05:00
L.S. Cook 0c2e25f73e doc: Edits to the Overview and kernel primer
Fixed typo in system_fundamentals.  Acronyms FIFO and LIFO
defined with capital letters in kernel_fundamentals. Added bold
to paragraph lists to enhance readability in application_fundamentals

Added lots of :dfn: syntax for better interlinking to API.

Corrected whitespace for sub-bullet directive.

Change-Id: If6c5bc78746686d1a4986974f1b56bf9b2caebca
Signed-off-by: L.S. Cook <leonax.cook@intel.com>
2016-02-05 20:24:36 -05:00
Rodrigo Caballero 0452ab7463 doc: Fix warnings shown when building the documentation.
Fixes broken labels and the following warnings:

/home/nashif/Viper/forto-collab/doc/about_zephyr.rst:1: WARNING:
malformed hyperlink target.
/home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:26:
WARNING: malformed hyperlink target.
/home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:73:
WARNING: malformed hyperlink target.
/home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:90:
WARNING: malformed hyperlink target.
/home/nashif/Viper/forto-collab/doc/application/
apps_common_procedures.rst:24:
WARNING: Enumerated list ends without a blank line; unexpected unindent.
/home/nashif/Viper/forto-collab/doc/application/
apps_common_procedures.rst:12: ERROR: Unknown target name:
"set_environment_variables".
/home/nashif/Viper/forto-collab/doc/application/apps_kernel_conf.rst:26:
WARNING: Block quote ends without a blank line; unexpected unindent.
/home/nashif/Viper/forto-collab/doc/application/apps_kernel_conf.rst:75:
WARNING: Malformed :option: u'CONF_FILE =', does not contain option
marker - or -- or /
/home/nashif/Viper/forto-collab/doc/application/
apps_kernel_conf.rst:109: WARNING: malformed hyperlink target.
/home/nashif/Viper/forto-collab/doc/application
/apps_kernel_conf.rst:172: WARNING: malformed hyperlink target.
/home/nashif/Viper/forto-collab/doc/application/
apps_kernel_conf.rst:208: WARNING: malformed hyperlink target.
/home/nashif/Viper/forto-collab/doc/application/
apps_object_conf.rst:24: WARNING: malformed hyperlink target.
/home/nashif/Viper/forto-collab/doc/application/
apps_object_conf.rst:76: WARNING: malformed hyperlink target.
/home/nashif/Viper/forto-collab/doc/application/
apps_object_conf.rst:89: WARNING: Include file
u'/home/nashif/Viper/forto-collab/samples/microkernel/apps/
philosophers/proj.mdef' not found or reading it failed
/home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/
defines.rst:65: WARNING: Line spec '42-47': no lines pulled from include
file u'/home/nashif/Viper/forto-collab/samples/microkernel/apps/
philosophers/src/phil.h'
/home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/
functions.rst:13: ERROR: Unknown interpreted text role "code:c".
/home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/
functions.rst:13: ERROR: Unknown interpreted text role "code:c".
/home/nashif/Viper/forto-collab/doc/collaboration/code/
gerrit_practices.rst:53: WARNING: Title underline too short.

Change-Id: I41cb0ee3edb401b0f8e9ecab1819278f0465343d
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:24:36 -05:00
Anas Nashif ba751c80b0 doc: codename -> Zephyr Kernel
To make the documentation readable from the source I want to get rid of the
substitutions for the project name an code name. This does not add any values
and makes it unreadable when looking at the text files directly. It also causes
some issues when people use those without actually knowing what they represent,
resulting in some weird and redundant language.

Change-Id: I09e8cbbee7c1141a7a77d3ffff59cdae2b52050c
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:34 -05:00
Anas Nashif ea19a2dfc1 doc: remove empty driver model documentation
Change-Id: I8131a91e6109c8cbe2b00c644a92005191827966
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:34 -05:00
Yonattan Louise 6221ef066e doc: Kernel event logger documentation
Add the kernel event logger documentation where the user can find
how to use this mechanism and which event logging points are
available currently.

Change-Id: I6d86c7b79c6b4a56a9e3514b6c4933a35e0c782f
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
2016-02-05 20:24:34 -05:00
L.S. Cook 8f613da882 doc: Added bold to lists and made some confusing wording more clear.
Another pass to improve readability and eliminate wordiness

Change-Id: I028483b6630de195e157159e8491abde60bb683c
Signed-off-by: L.S. Cook <leonax.cook@intel.com>
2016-02-05 20:24:32 -05:00
Andrei Emeltchenko 82c958581e doc: Replace bt_init() with bt_enable()
bt_init() is now static function and API should use bt_enable().

Change-Id: I565f30bf816282961b71ceae2bbe90d5d93e7b8a
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2016-02-05 20:24:32 -05:00
Andrei Emeltchenko 7c7a94ae4e doc: Correct Bluetooth sample lines
After license text was changed correct also code lines.

Change-Id: Idd3f34c38bb8ff9a40b6c02755f9716a98a6e86f
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2016-02-05 20:24:30 -05:00
Rodrigo Caballero a5e1b78141 doc: Changed the API table in the Bluetooth document.
Changed the existing API table to a list as it was done
in the Kernel Primer.

Change-Id: Ib0d7952c650316b414ac9258ab3c48e9f6c70c4e
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:24:29 -05:00
Rodrigo Caballero c1c1ffe7f7 doc: Change API tables to lists in the Kernel Primer.
The tables in the Kernel Primer are changed to lists. Making it easier
to update them. Other minor changes were done to ensure consitency.
The :c: and :cpp: markup has been fixed. When the documentation for a
call exists, then it is linked.

Change-Id: I8f389a0a0ca7c5fe904c0a1fa520e2e499f1001b
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:24:29 -05:00
Allan Stephens 843f8a6224 doc: Add documentation for sys_thread_busy_wait()
Change-Id: I71f405448f141ae02c28889afd3fc03ddef55ecd
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:24:28 -05:00
L.S. Cook 86f851c55a doc: adding :dfn: syntax where needed
Updated as per Allan's comments to correct use of Zephyr
kernel in lieu of codename variable

Change-Id: Iaf5f8531c5452b6d8fb13318f00050aa63d99200
Signed-off-by: L.S. Cook <leonax.cook@intel.com>
2016-02-05 20:24:27 -05:00
Gerardo A. Aceves 30a04a2250 doc: Edit redundant use of file
Removed the word "file" after all the MDEF to avoid redundancy
Edited single line under overview folder in order to
gramatically correct the use of "file".

Change-Id: Ie785aa8c620f095fcd4171ef4efd2d056d6fa04b
Signed-off-by: Gerardo A. Aceves <gerardo.aceves@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:22 -05:00
Gerardo A. Aceves a049bf3de8 Change minor punctuation characters.
Corrected some punctuation characters to improve readability.

Change-Id: I44930a8a314f9fa5f3da216df3c7d2262c9cb1ef
Signed-off-by: Gerardo A. Aceves <gerardo.aceves@intel.com>
2016-02-05 20:24:19 -05:00
Anas Nashif bcbea5dbc7 doc: remove doxygen index and add groups instead
Instead of loading all indexed doxygen symbols in one page, we
use the defined groups to load the API documentation in the specific
sections and reduce the trash coming from doxygen to just what we
need.

Change-Id: I030e3de33e8cc26871f95cd45a50af0cae1bb942
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:15:58 -05:00
steveballard123 ab315b3046 doc: edited grammar, punctuation, spelling, word usage.
Changes made to streamline using Gerrit recommended practices.
Changes included edits to grammar, punctuation, spelling,
word usage across multiple files.

Signed-off-by: steveballard123 <stephen.r.ballard@intel.com>
Change-Id: I286eb508abe10bb2ca0dd1b070fe7887fd5020e6
2016-02-05 20:15:36 -05:00
Allan Stephens dfa734d57e doc: Enhance information about microkernel pipes
Revises and supplements information on concepts.

Change-Id: I7dd9dd2e99cd5d975cc0f617b076dcf13c414fd0
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:35 -05:00
Allan Stephens 945ed24597 doc: Clarify requirements for referencing microkernel objects
Revises microkernel object sections to make it clear that objects
are referenced by name. (e.g. MY_TASK) Also adds text to make it
clear that task groups are named entities.

Change-Id: I3480f3526293dae7a0bab2006250c97334e04dfb
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:35 -05:00
Peter Mitsis 5089655d57 Add PRIORITY_CEILING note to mutex document
Adds a note to the mutex documentation indicating that the priority
inheritance algorithm caps the raising of the priority at PRIORITY_CEILING.

Change-Id: Ie87efe83e3fa0fc8ba55e584692f8de44347eb1a
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:34 -05:00
Peter Mitsis 7f7020b2cf Update priority inheritance in mutex document
Corrects the description of the priority inheritance algorithm used by mutexes.
It also draws attention to one of its short-comings.

Change-Id: I5aba6221fb9e9ed78e3bfe6509ca3d6e13743e71
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:34 -05:00
Allan Stephens 67ff063acd doc: Add info on configuring the microkernel server fiber
Change-Id: I401bd874e862a03e6f80762699ba2bb6211adb78
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:34 -05:00
Allan Stephens e5f3e42b3c doc: Minor supplements to microkernel task services
Adds in a couple of pieces of useful information which improve
alignment between task documentation and fiber documentation.

Change-Id: I04b65aa6d125842205de3dd6a65dbe2b8e6853d6
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:34 -05:00
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
Allan Stephens f808c1c9a5 doc: Enhance information about microkernel FIFOs
Revises description to follow the pattern used for other microkernel
object types. Expands the description to provide additional useful
details about the operation and use of FIFOs.

Change-Id: If4d84c301922158c2c7cae26cb1520294397876a
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:32 -05:00
Allan Stephens 88a4ba1a35 doc: Enhance information about microkernel tasks
Revises description to follow the pattern used for other microkernel
documentation sections. Revises the description to provide additional
important information, and to leave out information that isn't really
useful to application developers.

Change-Id: I4eac50bbb597258baf199ede925f14097f9ec75a
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 5586c6a1a1 sys_clock: add missing fiber system clock APIs
tick_get(), tick_get_32() and cycle_get_32() APIs were missing for
fibers.

Change-Id: Ic03880714f9f83f57b5c0599bc04b680fabea533
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-02-05 20:15:27 -05:00
Benjamin Walsh 0dcad8331b clarify use of term 'context'
The term 'context' is vague and overloaded. Its usage for 'an execution
context' is now referred as such, in both comments and some APIs' names.
When the execution context can only be a fiber or a task (i.e. not an
ISR), it is referred to as a 'thread', again in comments and everywhere
in the code.

APIs that had their names changed:

  - nano_context_id_t is now nano_thread_id_t
  - context_self_get() is now sys_thread_self_get()
  - context_type_get() is now sys_execution_context_type_get()
  - context_custom_data_set/get() are now
    sys_thread_custom_data_set/get()

The 'context' prefix namespace does not have to be reserved by the
kernel anymore.

The Context Control Structure (CCS) data structure is now the Thread
Control Structure (TCS):

  - struct ccs is now struct tcs
  - tCCS is now tTCS

Change-Id: I7526a76c5b01e7c86333078e2d2e77c9feef5364
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-02-05 20:15:27 -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 9020d7654e doc: Revise description for microkernel semaphore objects
Revises and supplements information on concepts and use cases.

Change-Id: I1ae8f9382b6fd98af59f2a8ef555830981807d5d
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:26 -05:00
Allan Stephens f55bbbcc31 doc: Revise description for microkernel event objects
Revises and supplements information on concepts, use cases, and
how to define an event.

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