blob: 2bd77d9dbc7c11cc0b0126ffbb6f605db4b44ec8 [file] [edit]
.. _docs-os-threadx:
.. _module-pw_third_party_threadx:
=======
ThreadX
=======
Pigweed's ThreadX integration provides a suite of abstractions and helpers
designed to make developing C++ applications on ThreadX safer, more robust, and
fully compatible with Pigweed's portable facades.
* **Compile-time lock safety**: Support for Clang's static thread-safety analysis
annotations, enabling compile-time detection of data races and incorrect lock ordering.
* **Safe non-recursive mutexes**: Enforces strict non-recursive mutex semantics
and assertions to detect bugs and prevent deadlocks.
* **Port-safe interrupt spinlocks**: Disables preemption and interrupts to prevent
deadlocks and context switches during critical sections.
.. grid:: 1
.. grid-item-card:: Advantages & differences
:link: docs-os-threadx-features
:link-type: ref
:class-item: sales-pitch-cta-primary
Learn how Pigweed's wrappers improve safety, catch bugs at compile-time or
runtime, and compare directly with raw ThreadX APIs.
.. grid:: 1
.. grid-item-card:: Setup
:link: docs-os-threadx-setup
:link-type: ref
:class-item: sales-pitch-cta-secondary
Integrate ThreadX with GN, configure target parameters, and configure
module backend options.
.. grid:: 1
.. grid-item-card:: ThreadX backend modules
:link: threadx-backends
:link-type: ref
:class-item: sales-pitch-cta-secondary
Pigweed provides native ThreadX backends for several of its core OS
abstraction layers.
.. toctree::
:maxdepth: 1
:hidden:
setup
features
backends