Commit Graph

875 Commits

Author SHA1 Message Date
Gerardo A. Aceves 60260536ac Add Recommended Practices Documentation.
Grammar updates.
Corrected formatting to produce cleaner HTML output
Document structure is updated to reflect the current changes
within the entire documentation project.

Change-Id: Icc389ddec16ddfa40ecbbb5871af44563374415c
Signed-off-by: Gerardo A. Aceves <gerardo.aceves@intel.com>
2016-02-05 20:15:36 -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
steveballard123 670da4331b doc: updating quickstart for style consistency
Rewrote and edited for clarity, punctuation, grammar, word usage.

Signed-off-by: Steve Ballard <stephen.r.ballard@intel.com>
Change-Id: I0332be9152312047a39067e7d610a563352abb1b
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
Anas Nashif 8a931c4828 Remove index.rst for kconfig, it is auto-generated
also add a readme saying files here are auto-generated.

Change-Id: Id33056192d8020c6cddcd12f406d15384db374ac
Signed-off-by: Anas Nashif <anas.nashif@intel.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
Anas Nashif dada389eb1 generate kconfig variables automatically
Change-Id: Iba70557100f49209edb6874251f93f79c2358737
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:15:35 -05:00
Anas Nashif dafe23edd9 Remove static configuration option reference
Change-Id: Iea95deb8cfbbc1bf2125f22b3a4eab81224b2115
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:15:35 -05:00
Peter Mitsis 64a9720a7b doc: Update arm platform configuration names
The platform configurations micro_ti_lm3s6965_defconfig and
nano_ti_lm3s6965_defconfig are obsolete.  The correct names
are micro_basic_cortex_m3_defconfig and nano_basic_cortex_m3_defconfig
respectively.

Change-Id: I0642008355a1abc70bc89db5202dab8266af4542
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:35 -05:00
Peter Mitsis 902dd32348 doc: Remove obsolete references to "generic pc"
The term "generic pc" is obsolete and has been supplanted by "ia32" and
"basic_xxx" as appropriate.

Change-Id: I7064eead81d526e2df89a7ccbfe1879f2e402f41
Signed-off-by: Peter Mitsis <peter.mitsis@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
Peter Mitsis 69bfbc5bcb doc: Fix unknown option error
Fixes the following error when generating the apps_microkernel documentation.
    .../apps_microkernel.rst:57:ERROR: Error in "code-block" directive:
    unknown option: "lineos".

The option was supposed to be "linenos".  The generated HTML document now
properly displays the sample MDEF file contents.

Change-Id: I510f2783ff656e980e222ffc6dc213e8dd45d136
Signed-off-by: Peter Mitsis <peter.mitsis@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 e9aee758a4 doc: Enhance usability of top level platform configuration section
Renames the document to better reflect its true nature -- it is
a reference guide that provides information about existing platform
configurations, not a "how to" that provides information about
creating a new platform configuration.

Re-orders the platform configuration entries so that they appear
in alphabetical order, and moves the links to the individual
platform configuration sections to the end. This allows a reader
to use the table to identify a platform configuration of interest,
then click on the link that follows to obtain more details.

Note: It would be ideal if the link to a specific platform configuration
section could be embedded in the associated table entry, but the :ref:
tag doesn't seem to allow this.

Change-Id: I8865dcb54b8abd92658e00c3d7d17dcead4442ac
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:34 -05:00
Allan Stephens b761ecb20a doc: Prune unneeded boilerplate from basic_cortex_m3 guide
The "introduction" section adds no value, and has already been
pruned from all of the other platform configuration guides.

Change-Id: I13bfd39d4806b3dd213a0d3f9023fd41e415db2a
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:34 -05:00
Andrei Emeltchenko 6d3da11599 doc: Fix formatting for galileo build
Change-Id: Ie5b3cbf8103a318567cd8f683342749c072cc642
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@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 c52a01fc93 doc: remove duplicate include of substitutions.rst
The file is already included globally in conf.py

Change-Id: If1b37936a6f5654e1e0397314389985997d85b73
Signed-off-by: Anas Nashif <anas.nashif@intel.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
Rodrigo Caballero a98d0dd5e3 Doc: Restructures the code collaboration content.
Changes the names and file structure for all code relevant collaboration
content. Updates the cross-references and figures where applicable.
Content was changed as little as possible.

Change-Id: If26499b12d7f49443167114e85d31709c01f5758
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:33 -05:00
Rodrigo Caballero 8dfa153fc9 Doc: Updates the master files to reflect the new structure.
The master files are changed to reflect the new structure. This
structure is identical to the proposed structure.

Change-Id: Ic8e205d84f8a0b7f60fad621073c95af11008cb8
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:33 -05:00
Peter Mitsis 859a4c8240 platform doc: Fix galileo content issues
Fixes minor content issues with the galileo documentation such as ...
  1. Avoid use of "Zephyr projects"
  2. Fix typos

Change-Id: Ie3e49cbebfe3cee819b85b005bb44916d6d96129
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:33 -05:00
Peter Mitsis 292ad9b757 platform doc: Fix fsl_frdm_k64f content issues
Fixes minor content issues with the fsl_frdm_k64f documentation such as ...
  1. Avoid use of "Zephyr projects"
  2. Fix referenced variable and file names
  3. Fix default value of NUM_IRQS Kconfig option
  4. Fix typos

Change-Id: Id5f2d219fab7ba184f0b1ae1c0d28894e69faacc
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:33 -05:00
Peter Mitsis 7cb19c9952 platform doc: Fix documentation build errors
Fixes multiple instances of the following build error:

    ERROR: Error in "code-block" directive:
    maximum 1 argument(s) allowed, 3 supplied.

The revised text avoids the use of code-blocks, and improves readability
by highlighting the supported combinations of configuration options.

Change-Id: I6f495bcc2e6bada096e5d117e9f886d4a9fb6269
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:33 -05:00
Peter Mitsis 0dcf0aad7f platform doc: Fix emphasis error
Adds a preceding backslash to the '*' character in C-like comments to ensure
that they are not interpreted as belonging to part of an emphasis block.

Change-Id: Iac9da1fc68ace0b9829e1b687c163baa81040718
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:33 -05:00
Peter Mitsis 648ca009ff platform doc: Standardize on note section formatting
Standardizes on the text formatting following a ".. note::" label.
  1. No blank line after the label.
  2. Uses an indentation of 3 spaces.

Change-Id: I9b28a88fef237fe5a8bb6eb2d6fb746f745598fd
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:33 -05:00
Peter Mitsis 1736809aee platform doc: Fix build warnings caused by unicode
Fixes multiple instances of the following build warning by updating the
platform documentation to no longer use a unicode equivalent to the ' character.

   WARNING: undecodable source characters, replacing with "?"

Change-Id: I226176cc4699be79692a3591c7b53772df6d1bef
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:33 -05:00
Peter Mitsis 17c83fe62e platform doc: Fix up minor issues in tables
Fixes up the following minor issues in the various tables in the fsl_frdm_k64f
and galileo documentation.
  1. Ensures that there is a space between the column '|' and text.
  2. Eliminates inconsistent italicizing of table text.
  3. Order of the "Interface" table matches "Supported Features"
  4. Ensures that items are correctly identified.

Fix tables in fsl_frdm_64kf platform documentation

Change-Id: I5d9127bdde2f2af285d4344a8def3a81a11deb76
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:33 -05:00
Peter Mitsis 73b066fc76 platform doc: Automate table of contents
Sections now make consistent use of the ####, ****, ====, and ----
headings so that the table of contents can be automatically generated
instead of relying upon a manually created table of contents.

Section names have been modified as necessary.

Change-Id: I57c2bb133de7ded07bb1e30d37c6a2850ccfb9c5
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:33 -05:00
Peter Mitsis 7752ddff16 platform doc: Clean up section names
Fixes up section names and the table of contents so that they align with
each other.  This necessitates a little reworking of content and relocation
of sections.

Change-Id: Ib9766f2090cf949eaf9a0d7686d496301b88a407
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:33 -05:00
Peter Mitsis d50f786145 doc: Rename quark platform configuration to galileo
Updates the documentation as the quark platform configuration had been
previously renamed to 'galileo'.

Change-Id: I31e1920f30f57b243b07215fe92be08b5e5c9d59
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:33 -05:00
Peter Mitsis ebe30b0348 doc: Provide basic_cortex_m3 platform documentation
Change-Id: If2f4f6352f0ac9f4c1fcc2246b8001965232822d
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:33 -05:00
Peter Mitsis 3efb572a3f doc: Provide basic_minuteia platform documentation
Change-Id: Ib1a17e2cc0f54b900fc285202fd6850d360fa6a2
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:33 -05:00
Peter Mitsis dd8187f6ae doc: Provide basic_atom platform documentation
Change-Id: I76051da6ad590192fc94c16b52ed462575b3c2c3
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:33 -05:00
Peter Mitsis c822760c43 doc: cosmetic cleanup to platform development primer
Except for the table, lines are now 80 characters or less.

Change-Id: I023f68b358806970899dd70a6cd49a0bee403dfa
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.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
Gerardo A. Aceves 94ca4a3015 Remove *_node* from documentation
Removed the term _node from the documentation as requested.

Change-Id: I7fa42563f1fcc0631954a96c477af68ec56e7617
Signed-off-by: Gerardo A. Aceves <gerardo.aceves@intel.com>
2016-02-05 20:15:28 -05:00
Andrei Emeltchenko 7d21d9df4c doc: Fix Gallileo setup documentation
Current documentation is not working and also badly formatted.

Change-Id: I885bacf641a84f4963e832dd67f597762ab54542
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.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
Benjamin Walsh c45fc04952 doc: clean rule removes 'xml' and 'latex' dirs
These are generated directories.

Change-Id: I0359b5dac128b194bc48604444b2e7f08caa6675
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
Rodrigo Caballero 33b13dc70d Doc: Restructures the documentation collaboration content.
Changes the names and file structure for all documentation collaboration
relevant content. Updates the cross-references and figures where
applicable. Content was changed as little as possible.

Change-Id: I8b3c59368fa288a43c87793bf731c7d8883df3ab
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:26 -05:00
Rodrigo Caballero 3acf84edab Doc: Restructures the communication collaboration content.
Changes the names and file structure for all communication relevant
content. Updates the cross-references and figures where applicable.
Content was changed as little as possible.

Change-Id: Icd19d2f17a9ab0f11373a0d8a175d8c95ac0f44b
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:26 -05:00
Rodrigo Caballero 03d2a4fcbc Doc: Moves and renames files into the new file structure.
The collaboration content files have been placed in three folders. One
for communication, one for code collaboration and one for documentation
collaboration. This change only moves and renames the files. The
cross-references and file paths within the files have NOT ben change.
That is comming on the next change.

Change-Id: Ic09a51878ab432561bc394a4464570cc51a28d69
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:26 -05:00
Anas Nashif 0e46b81faf doc: add documentation of kconfig variables
The configuration option documentation is autogenerated from
Kconfig files. This list right now applies only for x86.

Change-Id: Ibfc84324bb5e2206362d3bca6ab28aee0109f429
Signed-off-by: Anas Nashif <anas.nashif@intel.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
Allan Stephens 1201a73002 doc: Reorder listing of microkernel synchronization objects
Now ordered from most basic semaphore type (events) to most complex
semaphore type (mutexes).

Change-Id: I4cf69ee2b87b10b8d962f963b3631d9bdae608e9
Signed-off-by: Allan Stephens <allan.stephens@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 a6c11231ad doc: Fix typo in microkernel task documentation
Corrects example code by eliminating unneeded characters.

Change-Id: I9bbc8a19b6b66807a366a2d514d62495b9371046
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:26 -05:00
Allan Stephens d44e380496 doc: Clean up instructions for defining microkernel objects
Revise instructions to take advantage of the "public object"
and "private object" terminology now covered in the kernel
overview documentation. Also incorporates some missing information
the users need to be aware of when defining certain object types.

Change-Id: Ic0b359baf4443714c80200fdaff9cf2d253e6b99
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:26 -05:00
Allan Stephens b18b992980 doc: Enhance "About Zephyr" into to mention licensing
Mentions the open source nature of the Zephyr kernel and its
permissive licensing right up front, to help encourage potential
users who are concerned about GPL-type licenses.

Change-Id: I9250aae3caf5329cc58f547f381c32a94843ea03
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:25 -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
Benjamin Walsh 179f805322 doc: correct 'interrupts' section of fsl_frdm_k64f
Change-Id: I0c0aad54c3e9a386428443b1cbf2c7c447576743
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-02-05 20:15:25 -05:00
Andrei Emeltchenko ec6b57b9f6 doc: Correct Bluetooth sample application path
Since file got relocated, path needs to be corrected.

Change-Id: Ic56b7ec23704ab4f71c95f8cefb273866c398fb8
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2016-02-05 20:15:21 -05:00
Andrei Emeltchenko 543e25f970 doc: Enhance Bluetooth documentation
Point to Bluetooth applications location.

Change-Id: I3595a7f2403933d372f020099693a03e1197015b
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2016-02-05 20:15:21 -05:00
Benjamin Walsh c1f9fd888d irq: make utility functions private
irq_handler_set, irq_priority_set and irq_disconnect have been made
private by prepending an underscore to their names:

	irq_handler_set -> irq_handler_set
	irq_priority_set -> irq_priority_set
	irq_disconnect -> irq_disconnect

The prototypes have been removed from header files when possible, and
extern statements used in C code where they were called.

_irq_priority_set() for ARM is still in the header file because
IRQ_CONFIG() relies on it.

Change-Id: I2ad585f8156ff80250f6d9eeca4a249a4477fd9d
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-02-05 20:15:21 -05:00
Benjamin Walsh 751c765079 events: rename task_event_set_handler()
task_event_set_handler -> task_event_handler_set

Align with the "verb at the end" convention.

Change-Id: I8b72d41a20a7fdd4756f90765682e317289a241b
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-02-05 20:15:21 -05:00
Benjamin Walsh 87564a4602 pipes/mailboxes: rename functions using mem blocks
task_pipe_put_async -> task_pipe_block_put

  task_mbox_put_async -> task_mbox_block_put

  task_mbox_data_get_async_block -> task_mbox_data_block_get
  task_mbox_data_get_async_block_wait -> task_mbox_data_block_get_wait
  task_mbox_data_get_async_block_wait_timeout ->
       task_mbox_data_block_get_wait_timeout

Previous names, focusing on 'async', were misleading, because:

- some of those APIs can be used synchronously as well
- other APIs can also do asynchronous transfer, and don't have 'async'
  in their names
- the key concept of these APIs is that they use memory pool blocks
  rather than raw data buffers.

Change-Id: I0c08a6cf950ab23bb4172ce25eb6f9886b037649
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-02-05 20:15:21 -05:00
Anas Nashif c01a5c5c07 docs: install doxygen HTML output into output directory
This will move autogeneated html files to the final directory
which is copied by CI into the online documentation making the
raw doxygen html files accessible via <url>/api/

Change-Id: I79bc211377840358acfb94d4de839ce25d2830e0
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:15:21 -05:00
Anas Nashif e7ace3f4a7 docs: do not show internal documentation
The text between @internal and @endinternal will only be
visible if INTERNAL_DOCS is set to YES.

Change-Id: Ic09669e59b819e6f3e7820f345cf1f17303c0e3c
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:15:21 -05:00
Carol Lee 1aa7733298 Changes conf.py and fine tunes doxygen.config for index & auto-generated files.
Improves previous patch that enabled doxygen GUI for Reference.
Navigate to forto-collab/docs/ html/index.html to view. Not
linked to main docs in this patch. Index changes to show a
collapsed view as default.

Change-Id: I4d0c23699f645c5c20ca3ad50c988a5729afa24f
Signed-off-by: Carol Lee <carol.lee@windriver.com>
2016-02-05 20:15:21 -05:00
Allan Stephens fa2e040198 doc: Enhance usability of top-level documentation page
Regroups documents into 3 sets::

1) Documents needed when first encountering Zephyr. (Basically what
   you need to decide if you're interested in Zephyr, what it can do
   for you, and how to get the code so you can experiment with it.)

2) Documents used when developing new Zephyr software.

3) Reference documents for Zephyr. (Having these on the main page
   instead of a sub-page make sense, since the API guide and
   configuration option guide will be consulted frequently by users.)

Change-Id: Ifee7ac83f041c24e1efbe3ba7379c21a2ba8b9bc
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:21 -05:00
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
Allan Stephens 0be860ad1a doc: Add information about atomic APIs
Describes atomic operations, including concepts, examples,
and APIs.

Change-Id: I701435508ae179623cf983590802040b35b0f286
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:21 -05:00
Javier B Perez Hernandez 8750729989 doc: quick start: installing: New Zephyr SDK
Updated the SDK location in quick start documentation to the new Zephyr SDK hosted in 01.org.

Change-Id: I7a7616763441d93f10563b1a05268126990fd527
Signed-off-by: Javier B Perez Hernandez <javier.b.perez.hernandez@linux.intel.com>
2016-02-05 20:15:21 -05:00
Peter Mitsis 2c89a43244 doc: remove references to BSP
BSP terminology is obsolete; it has been supplanted by platforms and
platform configurations.

Change-Id: I105c7259e3eee6b0a0f67743d2b6b10ffb1db16f
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:15:21 -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 432a737106 doc: Restore information about microkernel task IRQs
Re-incorporates task IRQ information into microkernel documentation.
Also eliminates an unnecessary hidden space character at the end of
every line.

Change-Id: Ib1328dfae7a53bcf8abead4a5ebf1cbaa5610826
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:20 -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 6971d547cd Rename nano_node_tick_get_32 in documentation
leftovers from the renaming activities:

 nano_node_tick_get_32 -> nano_tick_get_32

Change-Id: Ic9f0870ddda159311005c2ed16e0a378ab9a6a62
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:15:20 -05:00
Allan Stephens 1b1e3af498 doc: Add information about kernel context services
Describes available services. Adds an example. Provides API table.

Change-Id: I99a2541fedc3bde3e23157a5fd85fb49dce1bf4d
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
Allan Stephens f5de9524fd doc: Add information about kernel clocks
Describes clocks available for use. Adds examples of direct clock
use. Provides API tables.

Change-Id: Icca8e1c8e75eed29c91f1387aed682dfdefdadb1
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:20 -05:00
Allan Stephens b36e887d47 doc: Add information about microkernel timers
Describes microkernel timer use only. Information about kernel
clocks and clock-related APIs will be documented elsewhere.

Change-Id: If868d9d93a0869e9535fbe0f807e72ccf816d15d
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:20 -05:00
Allan Stephens 3ca9a7413d doc: Task updates
Adds information about offloading work from a task to a fiber.

Change-Id: I600c47351158f1fbf80cc5da971560b0f028b979
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:15:20 -05:00
Rodrigo Caballero d7c32911c4 Doc: Create the Reference Guides part.
Placeholders were created for the missing content. The automatically
generated API docs were separated from the Doxygen collaboration guide.
The Kbuild User's Guide was moved unchanged.

Change-Id: I07dfed61bfbb3cad60372c57dc3cbdf627c872f0
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:20 -05:00
Rodrigo Caballero 4e472fa2fe Doc: Add the Platform Development Primer to the structure.
The content of the files was left unchanged except for labels for
cros-referncing, the main title of the part and the tabs on the tables
which were changed to spaces. That last change ensures the integrity of
the tables independently of editor. The structure of the content files
will be revised at a later time.

Change-Id: I90477966fb3f4727d61e859d77682b529c83337d
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:19 -05:00
Rodrigo Caballero d838f82aaa Doc: Creates the Application Dev. Primer with the existing content.
Moves the content found in the development part to the new Application
Development Primer. Creates a master file for the new part and a
placeholder for nanokernel-only applications. Labels that have already
been changed in prior changes of the topic were updated. The project's
master file was changed to include the new part.

Change-Id: I8e9df5b3e5d382997caf62b7503274e4821137e0
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:19 -05:00
Rodrigo Caballero 2eb7017640 Doc: Change the Network Stack information to the Kernel Primer.
Moves the Network Stack information to the Kernel Primer. Labels were
updated to reflect the new structure. 

Change-Id: Iaea3cf3506476dee3f165eeb9c4c1fd49af54c90
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:19 -05:00
Rodrigo Caballero c720db67d3 Doc: Change the Driver Model to its own section of the Kernel Primer.
Moves the placeholder to the proper location.

Change-Id: I952640912714073f1e0ac4a0bcb2d2b320faaee4
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:19 -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
Rodrigo Caballero 4d8b60adca Doc: Change the Microkernel Objects to the Microkernel Services section.
Moves the Microkernel Object documentation to a new Microkernel Services
section within the Kernel Primer. Labels, cross-references, figures,
headings and filenames were updated to reflect the new structure. 

Change-Id: Ia2a91410a94caa8a97bb8211db5afc84b5dc0974
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:19 -05:00
Rodrigo Caballero d1e57e1569 Doc: Change the Architecture part to the Overview section.
Moves the files from Architecture to the Overview section of the Kernel
Primer. Cross-references and figures were updated to reflect the new
structure. Headings and content were changed as little as possible.
These changes are needed to implement the proposed new structure of the
documentation. Content was changed as created as little as possible.

Change-Id: Id1f91ff6c8f858bfd48ad034594ba38531c7e1c4
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:19 -05:00
Rodrigo Caballero a952569f02 Doc: Create the Kernel Primer.
Creates the Kernel Primer, removes overview modules that are no longer
needed and updates the master file to include the new part.

Change-Id: I6d7f53f019089d502e763ecc1789fb152c90c465
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:19 -05:00
Rodrigo Caballero a8f3110905 Doc: Restructures the Quick Start Guide.
The Quick Start Guide is now comprised by Installing, Building and
Running the Zephyr Kernel Guides. The Installing Guide contains all the
procedures needed to install the required components and get access to
the code. The Building Guide contains the procedure to build the kernel
using a sample application. The Running Guide contains the procedures to
run an application using QEMU or the Galileo 2 board. Files and folders
were renamed. The toctree directives were updated to reflect the new
names.

Change-Id: I4398befd4a24b12a50970c21a5288afa5c533fc8
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:15:19 -05:00
Daniel Leung 0abe07a0cd microkernel: introduce support for private memory maps
This enable defining memory maps in source code in addition to
defining in MDEF files. This introduces the macro
DEFINE_MEM_MAP(mem_map_name, ...). The memory maps created this
way are the same, in functionality, as those defined in MDEF
files. They can be manipulated by the standard microkernel
memory map APIs.

Define the memory map using:

  DEFINE_MEM_MAP(mem_map1, blocks, block_size);

and "mem_map1" can be used, for example:

  task_mem_map_alloc(mem_map1, ...);

or,

  task_mem_map_free(mem_map1, ...);

etc.

To use the memory map defined in another source file, simply add:

extern const kmemory_map_t mem_map1;

to the desired C or header file.

Change-Id: I9c551b90f9d0a95f961fd8ec1c5278c2ea44312d
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:15:18 -05:00
Daniel Leung 8eec65c742 samples/microkernel: add test for private pipes
This adds unit test for microkernel private pipes.
The code piggybacks to the public pipe test (by
including the same source file), so any updates to
the test will be applied to both.

Note that the prj.mdef are different for both tests, since
the private pipes test move the pipes inside source
code. So, both mdef files will need to be updated at
the same time.

Change-Id: I6fdb5eab7c3a1d6f4b72c26a3620cee0188b07a5
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:15:18 -05:00
Daniel Leung b5517ab61c microkernel: introduce support for private pipes
This enable defining pipes in source code in addition to
defining in MDEF files. This introduces the macro
DEFINE_PIPE(pipe_name, ...). The pipes created this
way are the same, in functionality, as those defined in MDEF
files. They can be manipulated by the standard microkernel
pipe APIs.

Define the pipe using:

  DEFINE_PIPE(pipe1, size);

and "pipe1" can be used, for example:

  task_pipe_put(pipe1, ...);

or,

  task_pipe_get(pipe1, ...);

etc.

To use the pipe defined in another source file, simply add:

extern const kpipe_t pipe1;

to the desired C or header file.

Change-Id: Iae8e04706359bc18aae51acc75df3e3d26388882
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:15:18 -05:00
Daniel Leung 2bc5880d85 microkernel: introduce support for private tasks
This enable defining tasks in source code in addition to
defining in MDEF files. This introduces the macro
DEFINE_TASK(task_name). The tasks created this
way are the same, in functionality, as those defined in MDEF
files. They can be manipulated by the standard microkernel
task APIs.

Define the task using:

  DEFINE_TASK(task1, priority, entry_func, stack_size, groups);

and "task1" can be used, for example:

  task_start(task1);

or,

  task_abort(task1);

etc.

To use the task defined in another source file, simply add:

extern const ktask_t task1;

to the desired C or header file.

Change-Id: Ib2f3572950ca74b359b7fde1ccd6cfd04783eefb
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:15:18 -05:00
Daniel Leung 39887c4358 microkernel: introduce support for private mailboxes
This enable defining mailboxes in source code in addition to
defining in MDEF files. This introduces the macro
DEFINE_MAILBOX(mailbox_name). The mailboxes created this
way are the same, in functionality, as those defined in MDEF
files. They can be manipulated by the standard microkernel
mailbox APIs.

Define the mailbox using:

  DEFINE_MAILBOX(mailbox1);

and "mailbox1" can be used, for example:

  task_mbox_put(mailbox1, &msg);

or,

  task_mbox_get(mailbox1, &msg);

etc.

To use the mailbox defined in another source file, simply add:

extern const kmox_t mailbox1;

to the desired C or header file.

Change-Id: I32d4194af740f96fc8df8c6cd3144a0c9accb4ec
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:15:18 -05:00
Daniel Leung e510742d43 microkernel: introduce support for private FIFOs
This enable defining FIFOs in source code in addition to
defining in MDEF files. This introduces the macro
DEFINE_FIFO(fifo_name). The FIFOs created this
way are the same, in functionality, as those defined in MDEF
files. They can be manipulated by the standard microkernel
FIFO APIs.

Define the FIFO using:

  DEFINE_FIFO(fifo1, depth, width);

and "fifo1" can be used, for example:

  task_fifo_put(fifo1);

or,

  task_fifo_get(fifo1);

etc.

To use the FIFO defined in another source file, simply add:

extern const kfifo_t fifo1;

to the desired C or header file.

Change-Id: I29667c4cfdcd0e6d189358478acf1a6149ecb826
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:15:18 -05:00
Daniel Leung a0224842bc microkernel: introduce support for private semaphores
This enable defining semaphores in source code in addition to
defining in MDEF files. This introduces the macro
DEFINE_SEMAPHORE(semaphore_name). The semaphores created this
way are the same, in functionality, as those defined in MDEF
files. They can be manipulated by the standard microkernel
semaphore APIs.

Define the semaphore using:

  DEFINE_SEMAPHORE(sem1);

and "sem1" can be used, for example:

  task_sem_give(sem1);

or,

  task_sem_take(sem1);

etc.

To use the semaphore defined in another source file, simply add:

extern const ksem_t sem11;

to the desired C or header file.

Change-Id: Ia9c128648f7a26fc776eeb8f6fcc4158b1712a97
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:15:18 -05:00
Daniel Leung 811c838ff1 microkernel: introduce support for private mutexes
This enable defining mutexes in source code in addition to
defining in MDEF files. This introduces the macro
DEFINE_MUTEX(mutex_name). The mutexes created this way are
the same, in functionality, as those defined in MDEF files.
They can be manipulated by the standard microkernel
mutex APIs.

Sample usage:

    DEFINE_MUTEX(mutex1);

    void one_function(void)
    {
        task_mutex_lock_wait(mutex1);
        ...
        task_mutex_unlock(mutex1);
    }

To use the mutex defined in another source file, simply add:

    extern const kmutex_t mutex1;

to the desired C or header file.

[ DL: This is a slightly modified version of similar patch
      by Allan Stephens available at
      https://oic-review.01.org/gerrit/3255 ]

Change-Id: Ib9cd8193eaf849a8aad1d217912759324ee8818e
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:14:46 -05:00
Carol Lee ec2a74619c Doc: Changes doxygen.config for index & auto-generated files.
Enables standard doxygen GUI that shows relationships
and allows code access.Navigate to forto-collab/docs/
html/index.html to view. Not linked to main docs in
this patch.Index changes to show a collapsed view as
default.

Change-Id: If496f221924d3504d8d9d120e3d80650e724af48
Signed-off-by: Carol Lee <carol.lee@windriver.com>
2016-02-05 20:14:45 -05:00
Allan Stephens 4a09639b64 doc: Enhancements for microkernel tasks
Enhances description for task definition. Adds examples of most
frequently used task operations. Enhances descriptions in task
API tables.

Change-Id: I5b29e2e2715f7d672f375861ae01b26ffa762fc8
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:45 -05:00
Anas Nashif 486a2a1034 doc: fix docs target
The top make file has a documentation target that does not work.
Change it to work with our documentation and scripts.

Change-Id: Id32643900d122f54778e3179930f2e8e34387aa1
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:45 -05:00
Juan Manuel Cruz 0425a9ebbe documentation: adds application qemu and debug reference
This commit adds a quick reference on how to debug an
application with qemu and gdb.

Change-Id: Ib75465b110a65285dc55888fbfb95e8271ad83f9
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:14:45 -05:00
Juan Manuel Cruz eee3a9df95 documentation: updating kbuild project variables.
This commit updates information about Makefile variables
that define a project. It updates the definition for ARCH,
removes old BSP related definitions and adds definitions
for PLATFORM_CONFIG and O variables.

Change-Id: Id89251f576da0543b3349d75a87fa5b5e92326e7
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:14:45 -05:00
Javier B Perez Hernandez 2ac4246077 doc: install guide: changed .bash to .sh
Change zephyr-env.bash to zephyr-env.sh on installation_building.rst
due to the filename with .bash doesn't exist on tree.

Change-Id: I813968e9f8bd12efce457baa632177b1254b3601
Signed-off-by: Javier B Perez Hernandez <javier.b.perez.hernandez@linux.intel.com>
2016-02-05 20:14:45 -05:00
Allan Stephens be59308978 doc: Enhancements for microkernel pipe objects
Enhances description for pipe definition. Adds examples of pipe
use. Enhances descriptions in pipe API table.

Change-Id: I14485a4c5ef964ab0000699a79d7632ee4130167
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:42 -05:00
Allan Stephens ca3b1044a1 doc: More enhancements for microkernel mailbox objects
Adds examples of asynchronous mailbox operations. Adds missing
message priority support in synchronous mailbox operation examples.

Change-Id: I69a97d52b8bfbf98f31afed17c02a00d42e938e9
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:42 -05:00
Andrew Boie 7c4056ec84 doc: add note about new ccache feature
Change-Id: I87be61744fec74441a2c89ae37d56034a343e4c7
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:14:42 -05:00
Allan Stephens a426390daa doc: Enhancements for microkernel mailbox objects
Enhances description for mailbox definition. Adds examples of basic
mailbox use. Enhances descriptions in mailbox API table.

Note: Enhancement of the initial part of this document is left
for future commits, as are examples of more complex mailbox operations
like asynchronous send and receive.

Change-Id: I9a0b46f7e71242a113fab2ded395e068fefede84
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:42 -05:00
Rodrigo Caballero 79c4499fe1 Doc: Restructures the Kbuild documentation.
This change restructures the existing kbuild documentation. It adds the
labels to each module and does minor corrections in spelling, grammar
and ReST markup usage.

Change-Id: Id12705085a1f99e30204c7b82b4b95b28001cb00
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:41 -05:00
Allan Stephens 0a66ab3f2c doc: Add example of giving a microkernel sempahore from an ISR
Change-Id: I13ad61239659a17768831290535f02787776282c
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:41 -05:00
Allan Stephens 5d4a3178a0 doc: Enhancements for microkernel FIFO objects
Enhances description of FIFO definition. Adds examples of FIFO use.
Enhances descriptions in FIFO API table.

Change-Id: I29eed159651eed8d078ddc23818812246e58514e
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:41 -05:00
Allan Stephens 5118d2fa6a doc: Enhancements for microkernel event objects
Enhances description for event definition. Adds examples of event
use. Enhances descriptions in event API table.

Note: Enhancement of the initial part of this document is left
for future commits.

Change-Id: Ic754daacecbcb2b0ddc6b3a59d0a3b88d622662f
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:41 -05:00
Allan Stephens 359fc6cdfa doc: Enhancements for microkernel semaphore objects
Enhances description for semaphore definition. Adds examples of
semaphore use. Fills in gaps in the semaphore API table.

Note: Enhancement of the initial part of this document is left
for future commits.

Change-Id: I45a1326e564f20db2beed0c761584804ad61b053
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:41 -05:00
Rodrigo Caballero 8fd2fd8de4 DOC: Restructures the documentation in two parts.
The contents are split in two: Zephyr Kernel and Zephyr Project. Under
Zephyr Kernel is all the content directly about the code base. Under
Zephyr Project is all the content about the development of the kernel
and of applications. Only the Doxygen document needed to be split. The
output of the in-code comments was placed under the Zephyr Kernel while
all the Doxygen guidelines and the extraction process information were
placed under the Zephyr Project.

Change-Id: I4f7b674d19449968e976b63f40bcaa9737cc0ecb
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:39 -05:00
Anas Nashif 212146d5b4 doxygen: fix comments in printk.c
Change-Id: Ia76b2ef1798999057d8b3a8f1e100e930702d179
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:39 -05:00
Carol Lee 20fdf29cb9 doc: Doc changes made to reflects new ISR code.
ISR documentation changed to incorporate new ISR functionality.

Change-Id: I35a95dab9f4fd407ff297f55faa1e3ebbefc8064
Signed-off-by: Carol Lee <carol.lee@windriver.com>
2016-02-05 20:14:38 -05:00
Allan Stephens 0bd2bafb57 doc: Eliminate unneeded preamble to mutex documentation
This text was originally used to illustrate the layout that would
be used for all microkernel object documentation, but it's no
longer needed since enough files have been converted to make
the approach self-evident.

Change-Id: I2646f7e7c0e541dd5930c13b2319aa85205a8111
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:38 -05:00
Andrew Boie 84fed36539 Kbuild: Introduce QEMU_PIPE option
If set, 'make qemu' will direct its console output to a named pipe and
disable the interactive monitor. Intended for use with the new sanity
check system which will parallelize test execution.

Change-Id: I902f77c02ed3f210891ff13147afea890e64d9c1
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:14:38 -05:00
Rodrigo Caballero aec402b498 DOC: Fix broken tables of the microkernel object documentation.
Fixes the tables of the APIs so that they are displayed properly on the
HTML output.

Change-Id: I616def73e84d5b0ec51e5bc3fa0ce3673e9af344
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:38 -05:00
Peter Mitsis 42f8ae553f arch/x86: Remove unsupported platform configuration files
Removes the generic_pc and generic_pc_pentium4 platform configuration files
as Zephyr will not support them.

Change-Id: Iffa917d8e31702e6280eca3cbc9cdaf3f8ed9c98
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:38 -05:00
Carol Lee 271838b21e doc: Update to objects list in architecture_microkernel.
Removed "most important microkernel objects" and changed to
"microkerel objects are" and listed all the microkernel objects.

Change-Id: I18c63952085cc91f6d86045a86a5ea3b59982ee2
Signed-off-by: Carol Lee <carol.lee@windriver.com>
2016-02-05 20:14:38 -05:00
Rodrigo Caballero ccea9d3581 DOC: Split the microkernel object document into a file per object type.
Split the contents of microkernel.rst into several files. Each file
contains only the information of a specific object type. Labels have
been added to accomodate cross-references to each object type. Changed
the tables that did not comply with a 100 character line length.

Change-Id: I983bc76a89b1cf01442de53737de4f76a5262264
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:37 -05:00
Rodrigo Caballero 3fddad2eda DOC: Updated the overview modules to reflect the renaming of files.
The overview modules need to be updated after changing the file names.
The main overview module was not renamed. Therefore, no changes are
needed outside of the object folder.

Change-Id: I34590db3a680b2182aa86544820572a657b8e1ae
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:37 -05:00
Rodrigo Caballero 19551729eb DOC: Renames the Object Documentation files prior to restructure.
The object documentation files need to be renamed before they can be
split and restructured.

Change-Id: Ia3262885b801ed02b231ab14c6d4c0f4e2424cae
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:37 -05:00
Carol Lee cb6f2eec67 doc: Memory Pool documentation
Adds new documentation for memory pools.

Change-Id: Icca2f24971891bb70bb866eba71c6f8271e31bff
Signed-off-by: Carol Lee <carol.lee@windriver.com>
2016-02-05 20:14:37 -05:00
Anas Nashif fdce514ceb doxygen: scan all of include/ for docs
Also scan for .S files, not .s. All .s files have been renamed to
.S.

Change-Id: I73f8fccc0a3be950d47020e86cc6d24ee1ad37c4
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:37 -05:00
Andrew Boie 4f9a95ff1e kbuild: remove BSP_VARIANT Makefile variable
This wasn't being used anywhere and seems to be a legcy of old sanity tests.
By removing this x86 is no longer a special case.

Change-Id: I78c668a7d9e6bc7c7f60d91712c4c21c0121b7e2
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:14:37 -05:00
Rodrigo Caballero 7650bc0daa doc: Adds step by step procedure to develop microkernel apps.
Includes the procedure and updates all needed cross-references. The
procedure will include examples of MDEF, Makefiles and .conf files.

Change-Id: If5b3e88843a9257036265668765e3ad012818ae9
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:37 -05:00
Rodrigo Caballero e494bd71e6 Doc: Add information regarding application development.
General information regarding the development of microkernel
applications is included. A step by step process is included but 
still in development. Cross-references are added and updated as needed.

Change-Id: Ib7442883016c92c660d03d806009a0bd1932fce7
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:33 -05:00
Rodrigo Caballero cfb5bdc202 Doc: Add license guidelines with the acceptable code licenses.
The license guidelines list which code licenses are acceptable and what
licenses can be problematic. It also includes the IANAL disclaimer. The
collaboration.rst was changed to include the new content.

Change-Id: I92081a13575453c68b2492129126be4b4cee9766
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:33 -05:00
Carol Lee 9f8ce095b8 Quark Platform Configuration documentation
Adds new Quark platform configuration documentation to support the Galileo board.

Change-Id: I00ccc01ee75dbd54721d2d36583e9c7626e237d8
Signed-off-by: Carol Lee <carol.lee@windriver.com>
2016-02-05 20:14:33 -05:00
Carol Lee a74b4fa277 doc: Initial platform configuration guides
Adds infrastructure for platform configuration guides,
starting with the fsl_frdm_k64f platform configuration.

Incorporates inline sphynx tags except :guilabel:
which does not bold gui labels, a feature needed
for scanning a procedure for key info.

Change-Id: I4f5154dae896449fb709842501c69d8757deca3e
Signed-off-by: Carol Lee <carol.lee@windriver.com>
2016-02-05 20:14:33 -05:00
Anas Nashif 1b1905e2ef doc: change documentation style to javadoc
Change-Id: I313ebeda3028a7aa1b355561d0bf1dec41cd25fa
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:33 -05:00
Rodrigo Caballero 2dd21c199e Doc: Edit to the Doxygen guidelines based on feedback.
Added a asterisk in front of every line of the comments to fully comply
with the Javadoc style. Updated all cross-references to comply with the
new style. Added a note indicating explicitly that enums are to be
documented just as structs. 

Change-Id: If017e14e3e478ec28befb5c1fcae92090f91c32e
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:32 -05:00
Rodrigo Caballero e37d9a5fbd Doc: Edit the microkernel overview with additional information.
Additional information regarding the microkernel is provided. Earlier
content was edited and some phrasing was improved in the introduction.

Change-Id: Ic940688d1b68dd410b0f2efecc73a7eff45fe6aa
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:32 -05:00
Rodrigo Caballero 5c25fc24b2 Doc: Edits performed on the Quick Start Guide.
Added and updated cross-references. Made changes in content to increase
clarity based on feedback. Performed minor spelling, grammar and style
corrections.

Change-Id: I66c1920fd743a9b7f7a2b5313504c97bb7879afb
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:32 -05:00
Javier B Perez Hernandez e401d0fb87 doc: microkernel fix PIPE API descriptions
Changed PIPE get APIs description to Get data off pipe instead of put data on.

Change-Id: If68b1f15541de1acd43df80cbd9799bb902fda0d
Signed-off-by: Javier B Perez Hernandez <javier.b.perez.hernandez@linux.intel.com>
2016-02-05 20:14:28 -05:00
Anas Nashif 128675085c doc: add custom zephyr theme
Add a new theme inherited from sphinxdocs to allow zephyr
specific customisations and improvements.

Initially, it adds css style for guilabel and makes that
appear bold in html output.

Change-Id: I2c80b3be4d06ab73907d2f117ea84c847c0ddf7f
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:28 -05:00
Rodrigo Caballero d35ee355f4 Doc: Change Doxygen style to Javadoc.
Changes the start tag of the comments from /*! to /** in order to comply
with the Javadoc commenting style.

Change-Id: Ie6c46f47ee0a7dd6be9788830620dd1c7ee51159
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:28 -05:00
Rodrigo Caballero 4e83dac6e0 Doc: Add architectural overview of the operating system.
The architectural overview of the OS contains the general information
regarding the nanokernel, the microkernel, the driver model and the
application model.

Change-Id: I5a16f3f5ec5023239a772d3e559bd761795c27d4
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:28 -05:00
Anas Nashif 6ec03ce9d6 doc: fixed checkpatch instructions
Change-Id: I3f09e5160506784813712309269aa81e0436fb44
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:27 -05:00
Anas Nashif 82f4a76f8f doc: Rename network secion name
also rename Zephyr OS to Zephyr kernel

Change-Id: I68f560b162abe2ce49dfd2a7d9cf8ee3a2039177
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:27 -05:00
Carol Lee 1e6e8fb8ee Adds Memory Map documentation
Memory Map text and examples added to current Objects documentation.
Code-block type changed from console to c and syntax error with file
tag.

Change-Id: Ib350425b3512e0d19d3e6a4c66ca73120a622a97
Signed-off-by: Carol Lee <carol.lee@windriver.com>
2016-02-05 20:14:27 -05:00
Rodrigo Caballero 5ae0d28d9b Doc: Add documentation guidelines to master file.
The documentation master file index.rst is changed to include the
documentation style guide.

Change-Id: I5074968d5e1be754c38f599a5220bf9596abd828
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:27 -05:00
Rodrigo Caballero 52c116e4ec Doc: Add the ReST usage guidelines.
The guidelines contain how to tag content using the ReST markup employed
by Sphinx. Only the project specific rules are supplied. The general
syntax is provided by the Sphinx documentation. Examples and templates
are provided to make creating documentation easier.

Change-Id: If97e1f01de5d4f3de4cad82b7b35279a199433bf
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:27 -05:00
Rodrigo Caballero 3cad1c6e6d Add General documentation style guidelines.
The style guidelines are mandatory patterns of writing designed to ease
the creation of documentation for the Zephyr project. All authors, which
includes the developers, must adhere to the style guide.

More detailed information, including examples, will be added shortly.

Change-Id: I198e5fe90b279560a60c028260b1fc8c972d322a
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:27 -05:00
Rodrigo Caballero c94fc1ee60 Add detailed documentation guidelines.
The guidelines include information regarding: lists, modular writing,
notices, parallelism and simple English.

Also includes the capitalization, punctuation and spelling conventions
for the project.

Change-Id: I754f492db41dc5cc2432d03441b0526603b043e6
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:27 -05:00
Andrei Emeltchenko d695b9f41f Doc: Fix code-block syntax bug
Fixes error:
...
doc/installation/installation_linux_steps_optional.rst:252: ERROR:
Error in "code-block" directive:
maximum 1 argument(s) allowed, 5 supplied.

.. code-block:: bash
   $ git clone git://git.qemu-project.org/qemu.git
...

Change-Id: Idcb4f018114298109507814ea3b84eb823e8426e
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2016-02-05 20:14:27 -05:00
Andrei Emeltchenko c35a1b21cb Doc: Add Bluetooth basic documentation
Add basic Bluetooth documentation with sample.

Change-Id: I46077c8ee7e0ef464cda2374056fe061caaaee8b
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2016-02-05 20:14:27 -05:00
Anas Nashif ac47c45ca0 Rename Zephyr OS into Zephyr Kernel
We are a kernel, not an OS.

Change-Id: Ib987e3e511e1bdbed6293ab5e15e598bff00b09b
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:26 -05:00
Allan Stephens e96164aa30 Rename various microkernel source files
Now spells out the name of the associated microkernel object in full.
Also renames file containing FIFO code to correspond to the associated
public include file (microkernel/fifo.h).

Change-Id: I47f7a2ca01e0feff8f499acda0000fe475e7ee5a
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:25 -05:00
Allan Stephens 4f4a8170ee Rename microkernel/mail.h to mailbox.h
Now spells out the name of the associated microkernel object in full.

Change-Id: Iee532e9fbbcafbf9ba44c91de0894b7181285e8e
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:25 -05:00
Anas Nashif d2b1bdd552 doc: add forgotten index file
Change-Id: I71abbf58e0af803c09de620272ac656ffa54d170

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:25 -05:00
Anas Nashif 4d819a9c92 doc: use kconfig for code-blocks where it applies
Change-Id: Ic2440c9e1411408dcddb659753d604d5033ce50c
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:25 -05:00
Anas Nashif 5e43129aa5 doc: rename |zos| to |codename|
Change-Id: I2aefc5a7b8ab30374ebdb250761c101da01f6f8a

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:25 -05:00
Anas Nashif 8b749c4cfe doc: Add development section
Change-Id: I5d5256607d5b6fff2537ce3d3175c8bf90168a73

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:25 -05:00
Peter Mitsis 25fd37d9d5 Rename option CPU_CORTEXM to CPU_CORTEX_M
Makes name more consistent with other CPU_CORTEX_M* options.

Change-Id: I65968cb300207ba0de6231d9a67f2720be77b6ba
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:25 -05:00
Carol Lee d12fcef665 doc: Add microkernel mutex object info
Adds a description for the mutex object, which is currently
undocumented. This text uses an enhanced structure that presents
the material in a more user-friendly manner.

Change-Id: I986be388b4943064d0449c2194de786fbad84863
Signed-off-by: Carol Lee <carol.lee@windriver.com>
2016-02-05 20:14:24 -05:00
Juan Manuel Cruz f62119a260 Kbuild Documentation
This commit sends a draft of the topics that will be included
as a section for Kbuild documentation.

It also includes content for the Kconfig Structure section.

The intention of this draft is to start gathering comments on
the content sent and the initial menu of topics.

Change-Id: I11f62b015ef0fc722f5e0a089ec83cb0a08b3889
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:14:23 -05:00
Anas Nashif 54b4d3a24c fixed block formatting
Change-Id: I34fcab68ac0b7346e8a79c62a2b041e31a88e308
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Anas Nashif 85fb2e1445 remove merge conflict
Change-Id: Iff634d72838a3975d62b6977b9e7fe5d32a2d6de

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Anas Nashif df575997c4 Tiny Mountain -> Zephyr renames
Change-Id: I323c3c2bc06c8fc2b6200186dde6853c61b094a8
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Anas Nashif 99f150682e remove extra 'Table of Contents'
sphinx was complaining about this.

Change-Id: Id97170cf28145dfcce9b650aff946dc0117c34cf
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Anas Nashif 79dd79dc4d Gerrit: patch -> change
In gerrit documentation, use 'Change' instead of 'Patch'.
Use terminology similar to the gerrit help.

Change-Id: Ib521d5d8742e274510079e88e270f81f3f3e7a62
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Anas Nashif 61d5c0ff2b remove extra space from quick start
Change-Id: Ib6a0edc02aa4cfa34fe4413e99c72e06c5b700dc

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Anas Nashif 5a7de14ffd Fix the index page and headers
- Put license at the bottom
- Add a title
- Change disclaimer from a heading to a rubric

Change-Id: I19b73e3a0408fd95efb514e75ea4ee028bb8f50c
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Anas Nashif 75472567b4 Set version of documentation to 0.1
Change-Id: I667fd8a1afcede1b87e09c5f540ed7f40432db1f

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Anas Nashif dc36a229f3 Use Zephyr instead of Tiny Mountain
Change-Id: I9a7ef2ab121103b5738f98cf5d7c0c373cc97060
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Anas Nashif aaa4e59db9 make quick start guide complete
Change-Id: Ie23702f5351e3c8ebd972f5e5fc6a2bf54fd34ea
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Anas Nashif 464e04da17 Rename to Quick Start
Change-Id: Ife49b594458506c876750d5df2485f5e4f684f08

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Anas Nashif 60bc48a06e move doxygen documentation to collab guide
Change-Id: I7522fcb2dddd30d63faf0878c55380267ba6792f
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Anas Nashif 210e22b4fb do not include substitutions
Change-Id: I4aaaec0addb987af709ca865c681beb79444ca55

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Anas Nashif fd3acb73aa restructure installation guide
Change-Id: I4d1b50b7826514802db926c0911a63fc08e9f761
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Anas Nashif 031e68f1a5 Use Kernel Objects in the title
Change-Id: I5fc164bd50879961fbfab5aeadfa43abab21e0ae

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:21 -05:00
Juan Manuel Cruz 308f1586d6 Kbuild: Assembly code extension.
This commit set back .S as the assembly code extension for Kbuild.

Change-Id: Ib0119876bd0bed6617bbfbad2ca6a44e172ab042
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:14:20 -05:00
Allan Stephens 6c2da86281 Rename scheduler_time_slice_set() to sys_scheduler_time_slice_set()
This API now uses an approved Zephyr OS prefix.

Change-Id: I1041b982492ea7b76213e3b57cf28a9f17e7fd9d
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:19 -05:00
Anas Nashif 089a10b128 Rename documentation project
Also use substitutions globally.

Change-Id: Ieafec21820e73c4befe0979dbc1a43ecdf5178a9
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:16 -05:00
Dan Kalowsky 4e66e9922d Adding coding conventions
Converting the coding conventions documentation over to the new format

Change-Id: I9f2552436e59c48a9fb9103834ad5a5d9c4bcc0f
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:16 -05:00
Dan Kalowsky 1e4624ea23 Adapt installation guide with current requirements
- Update naming where it makes sense
- Fix a few spelling and phrasing issues

Change-Id: If08a7c77a35624adfdaafc276850b6d896356441
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:16 -05:00
Anas Nashif b8823770d2 Rename TIMO -> ZEPHYR
Change-Id: Id44a129e275fb0cfe1fce6ec2a03c2d86ffe3995
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:16 -05:00
Anas Nashif 8accfcfb2c Rename timo-env.sh and timo-env_install.bash
These files now use the zephyr- prefix.

Change-Id: Iab24bc1fc15e7b7e40922996ba338763638644bf
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:16 -05:00
Anas Nashif 274622ea69 Rename VXMICRO_ARCH_arm -> CONFIG_ARM
Change-Id: I32b2e39781825504e7936b3df0c864988650c35c
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:16 -05:00
Anas Nashif 191fc279ce Rename VXMICRO_ARCH_x86 -> CONFIG_X86_32
Change-Id: Ie1bcfebce1db838ea994cb3626396ea032225830
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:16 -05:00
Anas Nashif 2eb30f3aac Remove dos carriage return
Change-Id: I9732769550c01a0341104d3f8778c152d7745a94
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:16 -05:00
Allan Stephens 74b98c1cc4 Rename VXMICRO_GCC_VARIANT to ZEPHYR_GCC_VARIANT
Updates this environment variable to reflect the new OS name.

Change-Id: Iba9230466fbfda786be7d1265927b4ecc4c7dd93
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:15 -05:00
Allan Stephens 815c6406bc Rename VPF files to use MDEF file extension
The file extension indicates a "Microkernel DEFinitions" file,
and no longer reflects the obsolete VxMicro/Viper branding.

Change-Id: Ib95b271404a4a4737e851d603c371244fa609e4d
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:15 -05:00
Allan Stephens 5b291d3567 Eliminate VxMicro branding in main application include file
File is renamed to zephyr.h.

Change-Id: Ice7ab9318c525630572023614b5bed67ae0400c1
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:15 -05:00
Allan Stephens a1bd59de35 Eliminate obsolete coding convention comments
Gets rid of single-line comments required by a previous set of
coding conventions. These comments provide no value to readers
and just clutter things up.

Change-Id: I2a08b12cf5026253de56979efdfc510e7e68defe
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:14 -05:00
Juan Manuel Cruz 4994fadc9d Kbuild documentation update.
This commit updates the installation documentation to be used with Kbuild.

Change-Id: Ic343e4e90d8e5849c098af1e37993446a0920aef
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:14:12 -05:00
Rodrigo Caballero fb74cd4a79 Add In-Code Documentation Guidelines
The in-code Documentation Guidelines contains the best practices for
documenting code using Doxygen. The guidelines offer options for both
novice and expert developers to document their code in a compatible and
correct manner.
Fully marked and simplified templates are provided to ease the
documentation effort.
Examples taken directly from Tiny Mountain's code show the difference
clearly.
The .c files contained here are used for the examples only and do not
have any function within Tiny Mountain.
Finally, the doxygen.rst file was updated to include the new content.


Change-Id: I6a39a54feed5fa95f2f21545c3967ff0755d85ae
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:12 -05:00
Anas Nashif 1d339cd724 doc: add nano kernel files and *.s pattern
- Extend the scanned files to include nano kernel headers
and source files.
- Add *.s to file pattern

Change-Id: I9d2566344f4a6bcfe0506e233fd6784704b9624e
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Rodrigo Caballero 56b092d1d5 Add Disclaimer explaining that the documentation is a work in progress.
The disclaimer was added in a separate file keeping the master file
index.rst clean. 
The master file was only changed to include the disclaimers.rst file.

Change-Id: I51a56c64dee3285ea3b9be22f0eab477459d8417
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:11 -05:00
Rodrigo Caballero 67405bb918 Add Object Documentation
Adds the basic kernel objects' documentation describing the function of
tasks, fiber and interrupt service routines.
Adds the nanokernel objects' docuementation describing the function of
the most important nanokernel objects.
Adds the microkernel objects' documentation describing the function of
the most important microkernel objects.

Changes the index.rst file to include the Object Documentation.

Change-Id: Ib35d973cc3575a7ecc32c4ab175e05cb298e3306
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif 5d91c935fe doc: put a 'Last update on: timestamp' in footer
Change-Id: I8cf2e1dfe8836273991c278e2c7e68c7e7bad9fd
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif c462756fb9 doc: Fixed instructions for building documentation
Change-Id: I4d932ca0ae337c009a68e6911e7e529fd969ccad
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif 43acce185d doc: indent code blocks
In a list, the code blocks were causing the list numbering to restart
after each block, shifting them to the right helps keep the list numbers
right.

Change-Id: I5476114949422e8f917a46b041ee362faf4b81e2
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif a4dc59243c doc: update for kbuild based build system
Change documentation for usage with kbuild based make system.

Change-Id: I4071d65c3eaf69a91b93e13e71d6f44a12edc317
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif dba6188b58 doc: fix formatting and move around optional requirements
- Fix missing spaces between package names
- Move optional software to its own section, no need to have
  it in the main requirement section if it is options
- crosstool-NG instead of crosstool-next Generation. Treat that
  as a brand name.
- Fixed command line for installing groups with yum
- minor fixes

Change-Id: Ib231bb09dea3aa6d3af00961eae8a2e3d6ded011
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:01 -05:00
Anas Nashif 7d23b99ae2 doc: fix missing spaces in package list
Change-Id: Ie788720bc0c164b7c4810eacd2a13eb73ab2f77a
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:01 -05:00
Rodrigo Caballero 08ff46718c ADD Collaboration Guideline ReST content files.
Includes the Collaboration Guideline. It contains the infromation
regarding the use of the mailing list, Gerrit, the coding style and
other usefull collaboration information.

This Collaboration Guideline is constantly changing as new methods of
collaboration are used.


Change-Id: I9f1e66556e99defa8729f87f19052b539e8628d3
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:01 -05:00
Rodrigo Caballero 6eab071e07 ADD Installation Guide ReST content files.
Includes the Linux Installation Guide. It contains the requirements and
required steps to install a development environment and to run a sample
application. The optional steps include information regarding running
Tiny Mountain on additional hardware.


Change-Id: I0f0c78fbec6816310d893b40dea5649ead98e92f
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:01 -05:00
Rodrigo Caballero 17fa692922 ADD in-code documentation integration files.
Includes an explanation of how the in-code documentation is integrated
using Doxygen / Breathe and the raw generated output from the code.

These files are needed to understand how the in-code comments flow into
the documentation and to be able to display and link to those comments
from the documentation.

Change-Id: I275f8c32cfe889da43b4db5b8037e52876ae3c68
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:00 -05:00
Rodrigo Caballero a4a50fa2d9 ADD framework files for ReST content.
Includes the documentation license, a
substitutions file and a README detailing the new infrastructure and its
installation.

Updates the master file, index.rst, to accomodate the content files.

Change-Id: I529567e6e29d24a4261c0fa4b3db1176266f9777
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:00 -05:00
Rodrigo Caballero c394b34406 CHANGE Doxygen configuration to limit it to the doc folder.
Configures Doxygen to generate its output inside the doc/xml folder. It
also configures Breathe to look for that output in that location.

Patset 2: Changed the project name to Tiny Mountain included aditional
files for Doxygen.

Change-Id: I8514dc7035b196fae365d2f02fe9f6ca54584af0
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:00 -05:00
Anas Nashif 06d380c2ba Add tools and Makefiles for Documentation
This will allow us to start adding content and structure.
To generate documentation you will need to install both
- sphinx
- breathe

go into the doc directory and run:

$ make doxy html

No content has been submitted here, only a few placeholders.

Change-Id: Ifc3617aee8f7d45fa4e4a494ff0a1ab71516af06
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:13:58 -05:00