Find a file
Peter Bigot fadd98aad2 sys: add generic asynchronous notification infrastructure
k_poll() for a signal is often desired for notification of completion
of asynchronous operations, but there are APIs where it may be
necessary to invoke "asynchronous" operations from contexts where
sleep is disallowed, or before the kernel has been initialized.
Extract the general notification solution from the on-off service into
a utility that can be used for other APIs.

Also move documentation out to a resource management section.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-04-06 16:41:41 +02:00
.github doc: lock sphinx version to a compatible one 2020-04-05 19:10:43 -04:00
.known-issues docs: crypto: crypto API documentation 2020-03-14 13:01:03 -04:00
arch arch: posix: Kconfig: select HAS_DTS as the arch level 2020-04-04 16:01:11 +02:00
boards boards: stm32: Enable entropy device in device tree 2020-04-06 09:14:33 -05:00
cmake boards: nrf52_pca10040: Rename to nrf52dk_nrf52832 2020-04-06 13:09:07 +02:00
doc sys: add generic asynchronous notification infrastructure 2020-04-06 16:41:41 +02:00
drivers drivers/entropy: stm32: Enable driver based on compatible 2020-04-06 09:14:33 -05:00
dts dts: stm32: Add rng node 2020-04-06 09:14:33 -05:00
include sys: add generic asynchronous notification infrastructure 2020-04-06 16:41:41 +02:00
kernel kernel/timeout: Add k_uptime_ticks() API 2020-03-31 19:40:47 -04:00
lib sys: add generic asynchronous notification infrastructure 2020-04-06 16:41:41 +02:00
misc license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
modules drivers: ieee802154_nrf5: Add CSMA CA transmit capability 2020-04-03 14:07:41 +03:00
samples boards: arm: nrf5340_dk_nrf5340: rename target to nrf5340pdk_nrf5340 2020-04-06 15:21:45 +02:00
scripts boards: nrf52_pca10040: Rename to nrf52dk_nrf52832 2020-04-06 13:09:07 +02:00
share cmake: Relocating Zephyr Unittest CMake package. 2020-03-31 10:00:15 -04:00
soc drivers/entropy: stm32: Enable driver based on compatible 2020-04-06 09:14:33 -05:00
subsys net: tcp2: Fix handling single octet option at the EOL 2020-04-06 15:13:21 +03:00
tests sys: add generic asynchronous notification infrastructure 2020-04-06 16:41:41 +02:00
.checkpatch.conf checkpatch: suppress mailback option in conf file 2020-02-06 08:31:53 -05:00
.clang-format clang-format: add support for clang-format 2018-11-19 09:31:44 -05:00
.codecov.yml ci: add .codecov.yml for codecov.io configuration 2018-01-03 13:12:03 -05:00
.editorconfig editorconfig: add yaml file extension variant 2020-03-25 16:16:01 -04:00
.gitattributes First commit 2015-04-10 16:44:37 -07:00
.gitignore gitignore: exclude tests/drivers/build_all 2020-03-20 13:49:05 -05:00
.gitlint gitlint: match max title length restriction with checkpatch 2019-05-29 14:43:16 -04:00
.mailmap mailmap: add entry for Sean Nyekjaer 2019-11-04 14:33:31 +01:00
.shippable.yml ci: docker: Update image to 0.11.6 2020-03-31 07:18:06 +02:00
.uncrustify.cfg uncrustify: Add a rule to remove space inside function argument 2018-10-16 09:50:03 -04:00
CMakeLists.txt kernel/timeout: Enable 64 bit timeout precision 2020-03-31 19:40:47 -04:00
CODE_OF_CONDUCT.md coc: move to markdown format 2019-01-24 15:37:15 -05:00
CODEOWNERS sys: add generic asynchronous notification infrastructure 2020-04-06 16:41:41 +02:00
CONTRIBUTING.rst doc: Fixed a link in CONTRIBUTING.rst 2019-02-28 12:46:04 -08:00
Kconfig kconfig: Clean up header comments and make them consistent 2019-11-04 17:31:27 -05:00
Kconfig.zephyr ext: lib: Move fnmatch to lib/ 2020-03-20 22:56:19 -04:00
LICENSE add top level Apache 2.0 license file 2016-02-05 20:24:37 -05:00
Makefile Makefile: ZEPHYR_BASE is not needed anymore 2020-04-01 15:20:56 +02:00
README.rst doc: fix broken links in README and board docs 2020-03-12 17:18:49 -04:00
VERSION release: post release patch level = 99 2020-03-10 11:57:47 +02:00
version.h.in cmake: explain BUILD_VERSION and KERNEL_VERSION_* 2019-05-09 11:52:05 +02:00
west.yml boards: nrf52840_pca10059: Rename to nrf52840dongle_nrf52840 2020-04-06 13:09:07 +02:00
zephyr-env.cmd scripts: remove west from scripts/ 2019-01-29 10:15:01 +01:00
zephyr-env.sh zephyr_env.sh: Remove semicolons at ends of lines 2019-12-10 14:34:46 -08:00

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <img src="doc/images/Zephyr-Project.png">
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img
   src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <img
   src="https://api.shippable.com/projects/58ffb2b8baa5e307002e1d79/badge?branch=master">


The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr kernel supports multiple architectures, including ARM Cortex-M,
Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V, and a large number of
`supported boards`_.

.. below included in doc/introduction/introduction.rst

.. start_include_here

Getting Started
***************

Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview,
and the documentation's `Getting Started Guide`_ to start developing.

Community Support
*****************

Community support is provided via mailing lists and Slack; see the Resources
below for details.

.. _project-resources:

Resources
*********

Here's a quick summary of resources to help you find your way around:

* **Help**: `Asking for Help Tips`_
* **Documentation**: http://docs.zephyrproject.org (`Getting Started Guide`_)
* **Source Code**: https://github.com/zephyrproject-rtos/zephyr is the main
  repository; https://elixir.bootlin.com/zephyr/latest/source contains a
  searchable index
* **Releases**: https://github.com/zephyrproject-rtos/zephyr/releases
* **Samples and example code**: see `Sample and Demo Code Examples`_
* **Mailing Lists**: users@lists.zephyrproject.org and
  devel@lists.zephyrproject.org are the main user and developer mailing lists,
  respectively. You can join the developer's list and search its archives at
  `Zephyr Development mailing list`_. The other `Zephyr mailing list
  subgroups`_ have their own archives and sign-up pages.
* **Nightly CI Build Status**: https://lists.zephyrproject.org/g/builds
  The builds@lists.zephyrproject.org mailing list archives the CI
  (shippable) nightly build results.
* **Chat**: Zephyr's Slack workspace is https://zephyrproject.slack.com.  Use
  this `Slack Invite`_ to register.
* **Contributing**: see the `Contribution Guide`_
* **Wiki**: `Zephyr GitHub wiki`_
* **Issues**: https://github.com/zephyrproject-rtos/zephyr/issues
* **Security Issues**: Email vulnerabilities@zephyrproject.org to report
  security issues; also see our `Security`_ documentation. Security issues are
  tracked separately at https://zephyrprojectsec.atlassian.net.
* **Zephyr Project Website**: https://zephyrproject.org

.. _Slack Invite: https://tinyurl.com/y5glwylp
.. _supported boards: http://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: http://docs.zephyrproject.org
.. _Introduction to Zephyr: http://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: http://docs.zephyrproject.org/latest/getting_started/index.html
.. _Contribution Guide: http://docs.zephyrproject.org/latest/contribute/index.html
.. _Zephyr GitHub wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _Zephyr Development mailing list: https://lists.zephyrproject.org/g/devel
.. _Zephyr mailing list subgroups: https://lists.zephyrproject.org/g/main/subgroups
.. _Sample and Demo Code Examples: http://docs.zephyrproject.org/latest/samples/index.html
.. _Security: http://docs.zephyrproject.org/latest/security/index.html
.. _Asking for Help Tips: https://docs.zephyrproject.org/latest/guides/getting-help.html