Commit Graph

45 Commits

Author SHA1 Message Date
Anas Nashif 8ba05cc2ad update documentation to use boards where applicable
Change the terminology in the documentation and use board instead
of platform where applicable.

Change-Id: I812598e1948ee7df8739e5cc9029278e9e849c7f
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif 10bb38c186 Use SoC instead of platform.
Change terminology and use SoC instead of platform. An SoC provides
features and default configurations available with an SoC. A board
implements the SoC and adds more features and IP block specific to the
board to extend the SoC functionality such as sensors and debugging
features.

Change-Id: I15e8d78a6d4ecd5cfb3bc25ced9ba77e5ea1122f
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Juan Manuel Cruz bc1a79c4c3 irq: removes priority parameter from IRQ_CONFIG macro
Removes the 'priority' parameter from the IRQ_CONFIG macro.
This parameter was not used anymore in any architecture.
The priority is handled in the IRQ_CONNECT macro.
The documentation is updated as well.

Change-Id: I24a293c5e41bd729d5e759113e0c4a8a6a61e0dd
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:24:57 -05:00
Peter Mitsis b858a99f7b doc: Fix ring buffer doc build errors
Change-Id: Ibef77ca5fc16a2532d56111d216e26f948718078
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:24:54 -05:00
Peter Mitsis 8c658e11b1 nanokernel: Add task_sleep()
This routine allows the background task to sleep for a specified
number of ticks.

Change-Id: I2533005e3d9a564c2ca0de8333e224743cefb658
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:24:53 -05:00
Peter Mitsis 699b4ee03d nanokernel: Add generic stack routines
Adds the following generic stack routines:
	nano_stack_push()
	nano_stack_stack_pop()
	nano_stack_pop_wait()

Those routines are convenience wrappers for invoking the task, fiber and
ISR (if applicable) specific implementations.

Change-Id: I6e7bb2ca69bb2e3d5ed955654390746e76e4ab92
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:24:53 -05:00
Peter Mitsis 836eaee18a nanokernel: Add generic semaphore routines
Adds the following generic semaphore routines:
	nano_sem_take()
	nano_sem_take_wait()

Those routines are convenience wrappers for invoking the task, fiber and
ISR (if applicable) specific implementations.

Change-Id: I09d715d07263eb0ee526231120ba65d1e3feebce
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:24:53 -05:00
Peter Mitsis 16c7452f6b nanokernel: Add generic lifo routines
Adds the following generic lifo routines:
	nano_lifo_put()
	nano_lifo_get()
	nano_lifo_get_wait()
	nano_lifo_get_wait_timeout()

Those routines are convenience wrappers for invoking the task, fiber and
ISR (if applicable) specific implementations.

Change-Id: I5252e4643fe4772f1309b26c1b3e4319f5035956
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:24:53 -05:00
Peter Mitsis 3d2afc63c0 nanokernel: Add generic timer routines
Adds the following timer routines:
	nano_isr_timer_start()
	nano_isr_timer_stop()
	nano_isr_timer_test()
	nano_timer_start()
	nano_timer_stop()
	nano_timer_test()
	nano_timer_wait()

Change-Id: Ib93f2ef2ffaa12dea3ddb52e9f3ae758b2987300
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:24:53 -05:00
Dmitriy Korovkin a4f6a32169 doc: Add flags to irq_connect(), IRQ_CONNECT_STATIC() and task_irq_alloc()
Change-Id: I671208ac3b1e9f6c26917e86c99337ff195ae2d4
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:24:44 -05:00
Anas Nashif 833fb90087 doc: fix parameters to IRQ_CONFIG
Change-Id: I5c3e22ad2311faf76ada79a61eac7ccac5864334
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:43 -05:00
Peter Mitsis 111323fc90 doc: Fix typo in nanokernel semaphore APIs
Change-Id: If3206b3113b7a47efc520887f53b3299e8da2404
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:24:43 -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
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
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
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
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