Zephyr Project Requirements
Zephyr System Requirements

Zephyr System Requirements

Type LevelUIDREFS Title Statement Rationale Comment
Text

SPDX-License-Identifier: Apache-2.0

Requirement 1 ZEP-SYRS-1
Architecture Layer Interface

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

Requirement 2 ZEP-SYRS-2
Support multiprocessor management

The Zephyr RTOS shall support symmetric multiprocessing on multiple cores.

Requirement 3 ZEP-SYRS-3
Support Subset of Standard C Library

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

Requirement 4 ZEP-SYRS-4
Device Driver Abstraction

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

Requirement 5 ZEP-SYRS-5
Fatal error and exception handling

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

Requirement 6 ZEP-SYRS-6
Common File system operation support

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

Requirement 7 ZEP-SYRS-7
Interrupt Management

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

Requirement 8 ZEP-SYRS-20
Direct ISR, Platform Specific helpers.

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.

Requirement 9 ZEP-SYRS-8
Logging

The Zephyr RTOS shall provide a framework for logging events.

Requirement 10 ZEP-SYRS-9
Memory Management framework

The Zephyr RTOS shall support a memory management framework.

Requirement 11 ZEP-SYRS-10
Power Management

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

Requirement 12
Multi core and SMP
Requirement 12.1 ZEP-SYRS-11
Multiple CPU scheduling

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

Requirement 12.2 ZEP-SYRS-12
Scheduling

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

Requirement 13
Thread Synchronization
Requirement 13.1 ZEP-SYRS-13
Mutex

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

Requirement 13.2 ZEP-SYRS-14
Counting Semaphore

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

Requirement 14
Threads
Requirement 14.1 ZEP-SYRS-15
Thread support

The Zephyr RTOS shall support threads.

Requirement 14.2 ZEP-SYRS-16
Thread management

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

Requirement 14.3 ZEP-SYRS-17
Thread priority

Threads shall have a priority.

Requirement 15 ZEP-SYRS-18
Timers

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

Requirement 16 ZEP-SYRS-19
Tracing

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

Requirement 17
Condition Variables
Requirement 17.1 ZEP-SYRS-21
Condition Variables

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

Requirement 18
Queues
Requirement 18.1 ZEP-SYRS-22
Queues data passing

The Zephyr RTOS shall implement a queue which can be used to pass data between threads and interrupt service routines.

Requirement 19
LIFOs
Requirement 19.1 ZEP-SYRS-23
LIFOs data passing

The Zephyr RTOS shall implement a LIFOs which can be used to pass data between threads and interrupt service routines.

Requirement 20
FIFOs
Requirement 20.1 ZEP-SYRS-24
FIFOs data passing

The Zephyr RTOS shall implement FIFOs which can be used to pass data between threads and interrupt service routines.