Backends#

Operating system, RTOS, and bare-metal backends for Pigweed's OS abstraction layers

Zephyr#

Modules, backends, and helpers for the Zephyr RTOS

Learn more: Zephyr

Name

Status

Description

Languages

pw_allocator_zephyr

stable

pw_assert_zephyr

stable

pw_chrono_zephyr

stable

pw_digital_io_zephyr

experimental

C++

pw_env_setup_zephyr

experimental

Zephyr utilities

pw_i2c_zephyr

experimental

Zephyr implementation for pw_i2c

pw_interrupt_zephyr

unstable

pw_log_zephyr

stable

pw_spi_zephyr

stable

pw_sync_zephyr

stable

pw_sys_io_zephyr

stable

pw_thread_zephyr

stable

Amazon FreeRTOS#

Safe, non-overflowing OS abstractions & wrappers for FreeRTOS

Learn more: Amazon FreeRTOS

Name

Status

Description

Languages

pw_chrono_freertos

stable

pw_interrupt_freertos

experimental

pw_malloc_freertos

stable

pw_sync_freertos

stable

pw_thread_freertos

stable

Eclipse ThreadX#

Thread-safe OS abstraction layers & backends for Azure RTOS ThreadX

Learn more: Eclipse ThreadX

Name

Status

Description

Languages

pw_chrono_threadx

stable

pw_sync_threadx

stable

pw_thread_threadx

stable

Segger embOS#

RTOS abstraction layers & thread-safety integrations for SEGGER embOS

Learn more: Segger embOS

Name

Status

Description

Languages

pw_chrono_embos

stable

pw_sync_embos

stable

pw_thread_embos

stable

STL#

C++ Standard Template Library backends for host and POSIX targets

Learn more: STL (Linux, MacOS, Windows, Fuchsia)

Name

Status

Description

Languages

pw_chrono_stl

stable

pw_sync_stl

stable

pw_thread_stl

stable

Bare metal#

Backends for running directly on target hardware without an OS or scheduler

Learn more: Bare metal

Name

Status

Description

Languages

pw_sync_baremetal

stable

Android#

Utilities and toolchains for using Pigweed on Android

Learn more: Android

Name

Status

Description

Languages

pw_android_toolchain

unstable

GN toolchains for the Android NDK

GN

pw_build_android

stable

Utilities for using Pigweed in Android platform

C++

pw_chre

experimental

Android Context Hub Runtime Environment backend

C++

pw_log_android

stable

Android logging backend

C++

Fuchsia#

Backends and platform integrations for Fuchsia OS

Learn more: Fuchsia

Name

Status

Description

Languages

pw_assert_fuchsia

experimental

pw_assert backend for Fuchsia

C, C++

pw_async_fuchsia

experimental

Fuchsia backend for pw_async

C, C++

pw_log_fuchsia

experimental

Fuchsia logging backend

C, C++

pw_random_fuchsia

experimental

Fuchsia implementation of pw_random