Zephyr System Requirements

Hardware Architecture Interface

The Zephyr RTOS shall provide a framework to communicate with a set of hardware architectural services.

The Zephyr RTOS shall support symmetric multiprocessing on multiple cores.

C Library

The Zephyr RTOS shall support a subset of the standard C library.

Device Drivers

The Zephyr RTOS shall provide a framework for managing device drivers and peripherals.

Exception and Error Handling

The Zephyr RTOS shall provide a framework for error and exception handling.

File Systems

The Zephyr RTOS shall provide a framework for managing file system access.

Interrupts

The Zephyr RTOS shall provide a framework for interrupt and interrupt service routine management.

Zephyr RTOS shall support development of direct ISRs by providing platform specific code fragments and factory functions including, minimal header instructions, minimal footer instructions, low power termination, and ISR construction.

Logging

The Zephyr RTOS shall provide a framework for logging events.

Memory Management

The Zephyr RTOS shall support a memory management framework.

Power Management

The Zephyr RTOS shall provide an interface to control hardware power states.

SMP and Multi core

The Zephyr RTOS shall support scheduling of threads on multiple hardware CPUs.

The Zephyr RTOS shall provide an interface to assign a thread to a specific CPU.

Mutex

The Zephyr RTOS shall provide an interface for managing communication between threads.

Semaphore

The system shall implement a semaphore synchronization primitive for coordinating access to shared resources among multiple threads.

Threads

The Zephyr RTOS shall support threads.

The Zephyr RTOS shall provide a framework for managing multiple threads of execution.

Threads shall have a priority.

Timers

The Zephyr RTOS shall provide a framework for managing time-based events.

Tracing

Zepyhr shall provide a framework mechanism for tracing low level system operations (NOTE: system calls, interrupts, kernel calls, thread, synchronization, etc.).

Condition Variables

The Zephyr RTOS shall provide a framework to synchronize threads based on a condition variable.