Find a file
Torsten Rasmussen 61453e4a58 cmake: Zephyr CMake package and CMake modules
Create a cmake/modules folder containing all Zephyr CMake modules.
All Zephyr cmake files that are included from boilerplate are now
converted into CMake modules which can be individually loaded.

The Zephyr CMake package is updated to support loading of individual
CMake modules using the COMPONENTS argument to `find_package(Zephyr)`.
If the COMPONENTS argument is not specified, the default Zephyr build
system will load.
If COMPONENTS is specified then, only those components and the
dependencies will be loaded.

If a Zephyr CMake module depends on another CMake module which has not
been loaded, it will automatically be loaded.

This allows us to modularize and reuse individual parts of the Zephyr
CMake build system in a more flexible way in future.

Such usage could be:
- Higher livel multi image build system
- Invocation of individual components, for example dts processing by
  twister without loading all build code
- Doc build
- Unittesting

With this new CMake package and CMake module scheme then direct
sourcing of boilerplate.cmake has been deprecated.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2022-02-22 10:02:39 -08:00
.github ci: run full twister twice a week 2022-02-16 16:34:58 +01:00
arch arch/x86: Fix MSI MAP destination 2022-02-22 10:35:39 -05:00
boards boards: arm: add missing memory-region compatible to stm32h7b3i_dk 2022-02-22 12:43:42 -05:00
cmake cmake: Zephyr CMake package and CMake modules 2022-02-22 10:02:39 -08:00
doc doc: logging: Add section about stack usage 2022-02-22 14:44:11 +01:00
drivers drivers: clock_control: stm32h7: select max clock freq for STM32H7B3 2022-02-22 10:34:56 -05:00
dts dts: arm: st: h7b3: add support for stm32h7b3 2022-02-22 10:34:56 -05:00
include arch/x86: Add a CPUID function to get initial APIC ID 2022-02-22 10:35:39 -05:00
kernel kernel/init.c: missing memset() to early_memset() conversion 2022-02-22 09:05:40 -05:00
lib lib: os: mpsc_pbuf: Add usage tracking 2022-02-21 20:41:17 -05:00
misc cmake: only write devicetree files when there are changes. 2022-02-11 15:47:09 +01:00
modules tfm: Add config to disable all TF-M output 2022-02-21 21:02:25 -05:00
samples kconfig: Rename the TEST_EXTRA stack size option to align with the rest 2022-02-22 08:23:05 -05:00
scripts cmake: Zephyr CMake package and CMake modules 2022-02-22 10:02:39 -08:00
share cmake: Zephyr CMake package and CMake modules 2022-02-22 10:02:39 -08:00
soc soc: arm: stm32h7: add support for stm32h7b3xx and stm32h7b3xxq 2022-02-22 10:34:56 -05:00
submanifests west.yml: allow users to easily add more modules 2021-10-07 13:45:42 +02:00
subsys net: openthread: filter ipv6 fragments 2022-02-22 10:33:47 -05:00
tests Bluetooth: Mesh: Disable pb_adv_reprovision 2022-02-22 09:53:41 -05:00
.checkpatch.conf checkpatch: Ignore IS_ENABLED_CONFIG warnings 2021-10-18 08:28:01 -04:00
.clang-format clang-format: Change lines length limit from 80 to 100 2021-05-06 08:13:32 -05:00
.codecov.yml ci: add .codecov.yml for codecov.io configuration 2018-01-03 13:12:03 -05:00
.editorconfig editorconfig: indent Kconfig files with tabs 2020-07-08 21:30:38 -04:00
.gitattributes gitattributes: consider SVG files generated 2021-10-14 12:42:44 -04:00
.gitignore gitignore: ignore macos DS_Store files 2021-11-03 16:14:20 -04:00
.gitlint gitlint: Stop ignoring merge, revert, fixup and squash commits 2022-01-10 08:13:36 -05:00
.mailmap mailmap: update mailmap file with some stray emails 2021-06-17 14:15:41 -04:00
.uncrustify.cfg uncrustify: force a single EOF newline 2021-11-03 16:14:20 -04:00
CMakeLists.txt cmake: emu: allow emulation to be OOT 2022-02-21 22:10:42 -05:00
CODE_OF_CONDUCT.md coc: move to markdown format 2019-01-24 15:37:15 -05:00
CODEOWNERS CODEOWNERS: Removed vanwinkeljan 2022-02-21 22:14:15 -05: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 soc: rp2040: Added UF2 output file support 2022-02-02 16:23:35 +01:00
LICENSE
MAINTAINERS.yml MAINTAINERS: Removed filesystems collaborator 2022-02-21 22:14:15 -05:00
README.rst readme: make README logo dark-mode aware 2022-02-15 19:47:48 +01:00
VERSION VERSION: bump patchlevel to 99 2022-02-21 19:05:46 -05:00
version.h.in cmake: version.h generation performed at build time 2022-02-08 07:50:24 -05:00
west.yml west.yml: update fatfs for new config option 2022-02-21 20:48:54 -05: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/_static/images/logo-readme.svg">
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img
   src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a
   href="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain">
   <img
   src="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml/badge.svg?event=push"></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


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.

.. start_include_here

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

Community support is provided via mailing lists and Discord; 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 nightly build results.
* **Chat**: Real-time chat happens in Zephyr's Discord Server. Use
  this `Discord 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

.. _Discord Invite: https://chat.zephyrproject.org
.. _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/getting_started/index.html#asking-for-help