zephyr/doc
Daniel Leung ce2e4ebdf1 device: add macro to assign driver_api at compile time
This adds the DEVICE_AND_API_INIT() macro to take in a parameter
to assign to device->driver_api. This eliminates the need to
assign to driver_api during runtime device initialization.

This provides an alternative way to declare devices. This should
save a few bytes in ROM for those devices that will never fail
initialization (in other words, never need to manipulate
driver_api pointer at all).

Also clean up the documentation a bit to remove duplicated
block of information.

Change-Id: I6abed1abe75db2e8babfcf1ecf590491132a5543
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-04-15 22:06:09 +00:00
..
api doc: move device driver to a new section 2016-04-12 22:52:42 +00:00
application doc: fix path to samples after restructering 2016-02-11 13:08:44 -05:00
bluetooth Bluetooth: doc: Add L2CAP PICS file 2016-02-16 13:50:00 +01:00
board nanokernel: deprecate dynamic IRQs 2016-04-15 16:02:12 +00:00
collaboration doc: make naming conventions apply to none kernel functions 2016-04-12 22:52:44 +00:00
crypto docs: fixed crypto headline and bullet indentation 2016-02-25 21:28:58 +00:00
drivers device: add macro to assign driver_api at compile time 2016-04-15 22:06:09 +00:00
getting_started doc: remove usage of sudo and reduce notes 2016-04-12 22:52:45 +00:00
kernel nanokernel: deprecate dynamic IRQs 2016-04-15 16:02:12 +00:00
reference doc: Remove orphaned kbuild_toolchains.rst 2016-02-18 22:58:07 +00:00
scripts/genrest doc: Documentation generator failed for html format 2016-03-01 16:53:51 +00:00
subsystems docs: remove notes from bluetooth document 2016-04-12 22:52:43 +00:00
themes/zephyr doc: Change conf.py and index.rst to fix the copyright and license. 2016-02-05 20:24:34 -05:00
about_zephyr.rst trivial: fixed typo: sempahores -> semaphores 2016-02-09 18:04:36 +00:00
conf.py doc: sphinx conf: use env var in sphinx doc version 2016-04-13 23:42:18 +00:00
doxygen.config doc: Edit the Event Logger APIs 2016-02-12 01:41:20 +00:00
index.rst doc: create subsystem section 2016-04-12 22:52:43 +00:00
Makefile docs: fixed errors when building docs 2016-02-25 21:28:58 +00:00
README.rst doc: Change link in README to external link. 2016-02-08 16:16:59 -05:00
substitutions.rst doc: remove PM keyword from substitutions 2016-02-05 20:24:34 -05:00

Welcome to Zephyr Kernel
########################

.. This document is in Restructured Text Format.
   Find more information regarding the ReST markup in the
   `ReST documentation`_.
   This is a comment that won't show up in formatted output

Welcome to the Zephyr Project.

Thank you for your interest in the Zephyr Project. These instructions are
designed to walk you through generating the Zephyr Project's documentation.

Documentation Notes
*******************

The project's documentation currently comprises the following items:

* An Installation Guide for Linux host systems

* A set of Collaboration Guidelines for the project.

* Doxygen output from the code base for all APIs.

Installing the documentation processors
***************************************

Install the current version of ``Sphinx``, type:

.. code-block:: bash

   $ git clone https://github.com/sphinx-doc/sphinx.git sphinx

   $ cd sphinx

   $ sudo -E python setup.py install

   $ cd ..

   $ git clone https://github.com/michaeljones/breathe.git breathe

   $ cd breathe

   $ sudo -E python setup.py install

.. note::

   Make sure that ``Doxygen`` is installed in your system.
   The installation of Doxygen is beyond the scope of this document.

Running the Documentation Generators
************************************

Assuming that the Zephyr Project tree with the doc directory is in
``DIRECTORY``, type:

.. code-block:: bash

   $ cd DIRECTORY/doc

   $ make doxy html

Find the output in ``DIRECTORY/doc/_build/html/index.html``

Review the available formats with:

.. code-block:: bash

   $ make -C DIRECTORY/doc doxy html

If you want the LaTeX PDF output, you need to install all the Latex
packages first. That installation is beyond the scope of this document.

.. _ReST documentation: http://sphinx-doc.org/rest.html