No description
Find a file
Jordan Yates 60442a221a modules: segger: remove mutex locking
Remove mutex locking in favour of the standard IRQ locking mechanism.
The primary problem with the mutex implementation is that mutex locking
is forbidden in ISR's. This means that any logging from an interrupt
context (e.g. LOG_PANIC in an exception handler), will itself trigger
another assertion due its attempt to use a mutex.

Furthermore, mutexes are a relatively heavyweight locking scheme, which
doesn't necessarily make sense in the context of extremely short locking
periods that would be expected from RTT.

This change aligns Zephyr with the default RTT locking scheme, which
uses interrupt masking to perform access control.

Resolves #79403.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-11-07 11:06:45 -08:00
.github ci: Add '-specs' to ccache ignore option list 2024-11-06 11:26:32 +09:00
arch mips: tracing: add switched_out trace point 2024-11-06 14:43:27 -06:00
boards intel_adsp: set exec for simulator targets 2024-11-07 11:06:10 -08:00
cmake arch: common: fix copy for ramfunc region during XIP init 2024-11-06 10:19:08 -08:00
doc doc: release: 4.0: mention LLEXT for ARM64 2024-11-07 09:08:02 -08:00
drivers modules: segger: remove mutex locking 2024-11-07 11:06:45 -08:00
dts Bluetooth: drivers: Rename IPM to IPC 2024-11-06 14:42:19 -06:00
include/zephyr xtensa: remove mem_domain excess padding 2024-11-07 11:06:23 -08:00
kernel arch: common: fix copy for ramfunc region during XIP init 2024-11-06 10:19:08 -08:00
lib lib: os: cbprintf_packaged: Fix cbprintf_package_convert 2024-11-01 09:56:03 -05:00
misc
modules modules: segger: remove mutex locking 2024-11-07 11:06:45 -08:00
samples samples: drivers: video: fix shield name 2024-11-07 08:32:33 -06:00
scripts twister: custom simulator needs an exec defined 2024-11-07 11:06:10 -08:00
share sysbuild: Add missing option for MCUboot encryption support 2024-10-30 08:54:33 -05:00
snippets snippets: Add snippet for the Zephyr Bluetooth Controller 2024-10-25 12:52:33 -05:00
soc soc: nrf54h: gpd: use callback to fetch nrfs async result 2024-11-07 08:57:45 -08:00
submanifests manifest: tf-m: update to 2.1.1 2024-11-05 15:24:57 -06:00
subsys board: npcx: remove CONFIG_PINCTRL from defconfig of npcx boards 2024-11-07 08:59:14 -08:00
tests arm: tests: kernel: fix bug in fatal_exception test 2024-11-07 11:06:34 -08:00
.checkpatch.conf checkpatch: ignore EXPORT_SYMBOL 2024-04-05 12:19:36 +02:00
.clang-format clang-format: add entry for SYS_SEM_LOCK() 2024-10-03 17:07:05 +01:00
.codechecker.yml tests: Add a CodeChecker config file 2024-09-12 10:04:05 +02:00
.codecov.yml
.editorconfig
.gitattributes
.gitignore scripts: ci: check_compliance: Add text encoding check 2024-10-17 10:49:08 -04:00
.gitlint gitlint: do not allow treewide as an area in commit messages 2024-04-10 09:22:24 +02:00
.mailmap mailmap: missing entry for Manuel Argüelles 2024-08-05 18:36:50 -04:00
.yamllint
CMakeLists.txt cmake: use CMake variable KERNEL_VERSION_CUSTOMIZATION for default value 2024-11-05 10:53:49 -06:00
CODE_OF_CONDUCT.md coc: Update Code of Conduct to latest Contributor Covenant 2023-12-21 09:38:23 +00:00
CODEOWNERS CODEOWNERS: Updated coder owners file 2024-09-05 17:03:05 -04:00
CONTRIBUTING.rst
Kconfig
Kconfig.constants kconfig: Add variables for integer constants 2024-07-27 20:49:15 +03:00
Kconfig.zephyr linker: lto: Remove experimental label 2024-10-30 08:55:06 -05:00
LICENSE
MAINTAINERS.yml MAINTAINERS: Fix issues with Bluetooth HCI section 2024-11-06 09:56:26 -08:00
README.rst README: drop the stray link underscores between badges 2024-09-26 15:20:39 +01:00
SDK_VERSION SDK_VERSION: Use Zephyr SDK 0.17.0 2024-10-22 19:04:37 -04:00
VERSION release: Zephyr 4.0.0-rc2 2024-11-01 17:59:28 -07:00
version.h.in version.h.in: Do not use @template@ 2024-05-24 18:05:41 -04:00
west.yml modules: segger: remove mutex locking 2024-11-07 11:06:45 -08:00
zephyr-env.cmd
zephyr-env.sh

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <picture>
         <source media="(prefers-color-scheme: dark)" srcset="doc/_static/images/logo-readme-dark.svg">
         <source media="(prefers-color-scheme: light)" srcset="doc/_static/images/logo-readme-light.svg">
         <img src="doc/_static/images/logo-readme-light.svg">
       </picture>
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a href="https://scorecard.dev/viewer/?uri=github.com/zephyrproject-rtos/zephyr"><img src="https://api.securityscorecards.dev/projects/github.com/zephyrproject-rtos/zephyr/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-A,
Cortex-R, Cortex-M), Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V,
SPARC, MIPS, 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:

Getting Started
---------------

  | 📖 `Zephyr Documentation`_
  | 🚀 `Getting Started Guide`_
  | 🙋🏽 `Tips when asking for help`_
  | 💻 `Code samples`_

Code and Development
--------------------

  | 🌐 `Source Code Repository`_
  | 📦 `Releases`_
  | 🤝 `Contribution Guide`_

Community and Support
---------------------

  | 💬 `Discord Server`_ for real-time community discussions
  | 📧 `User mailing list (users@lists.zephyrproject.org)`_
  | 📧 `Developer mailing list (devel@lists.zephyrproject.org)`_
  | 📬 `Other project mailing lists`_
  | 📚 `Project Wiki`_

Issue Tracking and Security
---------------------------

  | 🐛 `GitHub Issues`_
  | 🔒 `Security documentation`_
  | 🛡️ `Security Advisories Repository`_
  | ⚠️ Report security vulnerabilities at vulnerabilities@zephyrproject.org

Additional Resources
--------------------
  | 🌐 `Zephyr Project Website`_
  | 📺 `Zephyr Tech Talks`_

.. _Zephyr Project Website: https://www.zephyrproject.org
.. _Discord Server: https://chat.zephyrproject.org
.. _supported boards: https://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: https://docs.zephyrproject.org
.. _Introduction to Zephyr: https://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: https://docs.zephyrproject.org/latest/develop/getting_started/index.html
.. _Contribution Guide: https://docs.zephyrproject.org/latest/contribute/index.html
.. _Source Code Repository: https://github.com/zephyrproject-rtos/zephyr
.. _GitHub Issues: https://github.com/zephyrproject-rtos/zephyr/issues
.. _Releases: https://github.com/zephyrproject-rtos/zephyr/releases
.. _Project Wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _User mailing list (users@lists.zephyrproject.org): https://lists.zephyrproject.org/g/users
.. _Developer mailing list (devel@lists.zephyrproject.org): https://lists.zephyrproject.org/g/devel
.. _Other project mailing lists: https://lists.zephyrproject.org/g/main/subgroups
.. _Code samples: https://docs.zephyrproject.org/latest/samples/index.html
.. _Security documentation: https://docs.zephyrproject.org/latest/security/index.html
.. _Security Advisories Repository: https://github.com/zephyrproject-rtos/zephyr/security
.. _Tips when asking for help: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help
.. _Zephyr Tech Talks: https://www.zephyrproject.org/tech-talks