Go to file
Simon Glass 302d671ea2 emul: Create an emulation implementation
Create a header file and implementation for emulators. Set up a linker
list so that emulators can be found and initialised at start-up.

Emulators are used to emulate hardware devices, to support testing of
various subsystems. For example, it is possible to write an emulator
for an I2C compass such that it appears on the I2C bus and can be used
just like a real hardware device.

Emulators often implement special features for testing. For example a
compass may support returning bogus data if the I2C bus speed is too
high, or may return invalid measurements if calibration has not yet
been completed. This allows for testing that high-level code can
handle these situations correctly. Test coverage can therefore
approach 100% if all failure conditions are emulated.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
Signed-off-by: Simon Glass <sjg@chromium.org>
2020-09-01 14:30:46 -04:00
.buildkite ci: retry failed west update 2020-08-31 09:42:51 -04:00
.github doc: update versions of build tools 2020-08-31 09:57:33 -04:00
.known-issues doc: update known issues for Sphinx>=3.2.0 2020-08-31 09:57:33 -04:00
arch arch: arm: Collect full register state in Cortex-M Exception Stack Frame 2020-08-31 10:13:27 +02:00
boards boards: arm: stm32f3_disco: enable PWM 2020-09-01 13:35:55 +02:00
cmake build: auto-generate signed mcuboot binaries 2020-09-01 13:33:46 +02:00
doc Bluetooth: Mesh: Config client net_key_del 2020-09-01 14:49:20 +03:00
drivers drivers: i2c_ll_stm32_v1: Reset i2c device on read/write error 2020-09-01 09:21:44 -05:00
dts driver: uart: add wake-up support for uart device. 2020-09-01 13:35:25 +02:00
include emul: Create an emulation implementation 2020-09-01 14:30:46 -04:00
kernel code-guideline: Tag name should be a unique identifier 2020-09-01 08:03:23 -04:00
lib lib: fdtable: fix reference counting in z_reserve_fd() 2020-08-27 11:42:19 +03:00
misc
modules MXRT600: Add DMA support 2020-08-28 14:24:21 -05:00
samples samples: bluetooth: hci_uart: Improve TX path 2020-09-01 13:57:27 +02:00
scripts scripts: west sign: add --quiet option 2020-09-01 13:33:46 +02:00
share cmake: Zephyr CMake package clean-up and minor fix 2020-08-19 12:52:33 -04:00
soc drivers: npcx: replace type of register base address with uintptr_t 2020-09-01 13:35:25 +02:00
subsys emul: Create an emulation implementation 2020-09-01 14:30:46 -04:00
tests tests: kernel: gen_isr_table: Add workaround for npcx7m6fb soc. 2020-09-01 13:35:25 +02:00
.checkpatch.conf checkpatch: disable REPEATED_WORD 2020-08-21 13:57:02 -04:00
.clang-format clang-format: Update with latest FOR_EACH macro list 2020-05-02 11:23:13 -04:00
.codecov.yml
.editorconfig editorconfig: indent Kconfig files with tabs 2020-07-08 21:30:38 -04:00
.gitattributes gitattributes: Tell linguist to ignore test pattern files 2020-04-23 14:07:57 -04:00
.gitignore gitignore: exclude tests/drivers/build_all 2020-03-20 13:49:05 -05:00
.gitlint
.mailmap
.uncrustify.cfg
CMakeLists.txt build: auto-generate signed mcuboot binaries 2020-09-01 13:33:46 +02:00
CODE_OF_CONDUCT.md
CODEOWNERS emul: Create an emulation implementation 2020-09-01 14:30:46 -04:00
CONTRIBUTING.rst
Kconfig
Kconfig.zephyr build: auto-generate signed mcuboot binaries 2020-09-01 13:33:46 +02:00
LICENSE
MAINTAINERS.yml MAINTAINERS: remove bogus path for i2c 2020-08-13 17:03:47 +02:00
Makefile doc: provide a target to only generate doxygen 2020-04-11 08:40:54 -04:00
README.rst doc: Replace shippable badge with buildkite badge 2020-07-14 07:21:44 -05:00
VERSION release: Update patch level to 99, post 2.3.0 release 2020-06-06 00:44:36 +02:00
version.h.in
west.yml west: hal_nxp: Fix USB_DEVICE_CONFIG_ENDPOINTS definition 2020-09-01 13:32:11 +02:00
zephyr-env.cmd
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>
   <a href="https://buildkite.com/zephyr/zephyr">
   <img
   src="https://badge.buildkite.com/f5bd0dc88306cee17c9b38e78d11bb74a6291e3f40e7d13f31.svg?branch=master"></a>


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