Zephyr Software Requirements
Hardware Architecture Interface
- Attributes
Component: Hardware Architecture Interface
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-19-1
- Parent
The Zephyr RTOS shall provide an interface functionality to access memory while ensuring mutual exclusion. Note: Implementation by atomic variables and accessing them by APIs.
- Attributes
Component: Hardware Architecture Interface
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-19-2
- Parent
The Zephyr RTOS shall provide a mechanism for context switching between threads.
- Attributes
Component: Hardware Architecture Interface
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-19-3
- Parent
The Zephyr RTOS shall provide an interface to implement software exceptions.
- Attributes
Component: Hardware Architecture Interface
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-19-4
- Parent
The Zephyr RTOS shall provide an interface for managing processor modes.
C Library
- Attributes
Component: C Library
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-18-1
- Parent
The Zephyr RTOS shall support formatted output.
- Attributes
Component: C Library
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-18-2
- Parent
The Zephyr RTOS shall support floating point math libraries for processors where floating point is available.
- Attributes
Component: C Library
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-18-3
- Parent
The Zephyr RTOS shall support boolean primitives.
- Attributes
Component: C Library
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-18-4
- Parent
The Zephyr RTOS shall support the standard UNIX time interface.
- Attributes
Component: C Library
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-18-5
- Parent
The Zephyr RTOS shall support an interface to manage strings.
- Attributes
Component: C Library
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-18-6
- Parent
The Zephyr RTOS shall support an interface to move contents between regions of memory.
- Attributes
Component: C Library
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-18-7
- Parent
The Zephyr RTOS shall support a file i/O based interface for driver communication.
- Attributes
Component: C Library
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-18-8
- Parent
The Zephyr RTOS shall support standard C99 integer types.
- Attributes
Component: C Library
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-18-9
- Parent
The Zephyr RTOS shall support standard system error numbers as defined by IEEE Std 1003.1-2017.
- Attributes
Component: C Library
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-18-10
- Parent
The set of C Library functions required by Zephyr needs to be documented in the Zephyr Safety Manual.
- Attributes
Component: C Library
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-18-11
- Parent
The Zephyr Safety Manual needs to specify how to configure the support of external C Libraries.
Device Driver API
- Attributes
Component: Device Driver API
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-14-1
The Zephyr RTOS shall provide abstraction of device drivers with common functionalities as an intermediate interface between applications and device drivers, where such interface is implemented by individual device drivers.
Proposal for replacement: Zephyr shall provide an interface between application and individual device drivers to provide an abstraction of device drivers with common functionalities.
- Attributes
Component: Device Driver API
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-14-2
The Zephyr RTOS shall provide an interface for managing a defined set of hardware exceptions (including interrupts) across all systems.
Exception and Error Handling
- Attributes
Component: Exception and Error Handling
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-16-1
The Zephyr RTOS shall provide default handlers for exceptions.
- Attributes
Component: Exception and Error Handling
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-16-2
The Zephyr RTOS shall provide default handlers for fatal errors that do not have a dedicated handler.
- Attributes
Component: Exception and Error Handling
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-16-3
The Zephyr RTOS shall provide an interface to assign a specific handler with an exception.
- Attributes
Component: Exception and Error Handling
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-16-4
The Zephyr RTOS shall provide an interface to assign a specific handler for a fatal error.
File System
- Attributes
Component: File System
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-17-1
Zephyr shall provide file create capabilities for files on the file system.
- Attributes
Component: File System
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-17-2
Zephyr shall provide file open capabilities for files on the file system.
- Attributes
Component: File System
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-17-3
Zephyr shall provide read access to files in the file system.
- Attributes
Component: File System
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-17-4
Zephyr shall provide write access to the files in the file system.
- Attributes
Component: File System
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-17-5
Zephyr shall provide file close capabilities for files on the file system.
- Attributes
Component: File System
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-17-6
Zephyr shall provide the capability to move files on the file system.
- Attributes
Component: File System
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-17-7
Zephyr shall provide file delete capabilities for files on the file system.
Interrupts
- Attributes
Component: Interrupts
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-7-1
- Parent
Zephyr RTOS shall provide a mechanism to initialize a static IRQ service routine (ISR), providing all parameters needed to configure the hardware and software.
- Attributes
Component: Interrupts
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-7-2
- Parent
The static IRQ shall be initially disabled.
- Attributes
Component: Interrupts
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-7-3
- Parent
Zephyr RTOS shall provide a mechanism to initialize a direct IRQ handler, providing all parameters needed to configure the hardware and software.
- Attributes
Component: Interrupts
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-7-4
- Parent
The direct IRQ shall be initially disabled.
- Attributes
Component: Interrupts
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-7-5
- Parent
Zephyr RTOS shall provide a mechanism to initialize a dynamic IRQ service routine, providing all parameters needed to configure the hardware and software.
- Attributes
Component: Interrupts
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-7-6
- Parent
The dynamic IRQ shall be initially disabled.
- Attributes
Component: Interrupts
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-7-7
- Parent
Zephyr RTOS shall provide a mechanism to uninstall a dynamic ISR.
- Attributes
Component: Interrupts
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-7-8
- Parent
Zephyr RTOS shall provide a mechanism to Disable all IRQs on a CPU, and return the state the IRQ hardware prior to being disabled.
- Attributes
Component: Interrupts
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-7-9
- Parent
Zephyr RTOS shall provide a mechanism to Enable all IRQs on a CPU and return them to thier previous state.
- Attributes
Component: Interrupts
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-7-10
- Parent
Zephyr RTOS shall provide a mechanism to Disable a specified IRQ.
- Attributes
Component: Interrupts
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-7-11
- Parent
Zephyr RTOS shall provide a mechanism to Enable a specified IRQ.
- Attributes
Component: Interrupts
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-7-12
- Parent
Zephyr RTOS shall provide mechanisms that returns the Enabled status of a specified IRQ, where the status is Enabled or Disabled.
- Attributes
Component: Interrupts
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-7-13
- Parent
Zephyr RTOS shall provide mechanisms that returns the execution context, where the context is In-ISR or Not In-ISR.
- Attributes
Component: Interrupts
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-7-14
- Parent
The Zephyr RTOS shall support multi-level preemptive interrupt priorities, when supported by hardware.
Logging
- Attributes
Component: Logging
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-11-1
The Zephyr RTOS shall support isolation of logging from other functionality.
- Attributes
Component: Logging
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-11-2
The Zephyr RTOS logging shall produce logs that are capable of being post processed.
- Attributes
Component: Logging
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-11-3
The Zephyr RTOS logging shall support formatting of log messages to enable filtering.
- Attributes
Component: Logging
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-11-4
The Zephyr RTOS logging system shall support filtering based on severity level.
- Attributes
Component: Logging
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-11-5
The Zephyr RTOS shall support logging messages to multiple system resources.
- Attributes
Component: Logging
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-11-6
The Zephyr RTOS shall support deferred logging (TODO: need more detail about the constraints and limits on what can be deferred).
Memory Protection
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-1
The Zephyr RTOS shall support memory protection features to isolate a thread’s memory region.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-2
The Zephyr RTOS shall provide a mechanism to grant user threads access to kernel objects.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-3
The Zephyr RTOS shall be able to differentiate between user threads and kernel threads for memory access.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-4
The Zephyr RTOS shall have a defined behaviour when an invocation of an unimplemented system call is made.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-5
The Zephyr RTOS shall have a defined behaviour when an invalid system call ID is used.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-6
The Zephyr RTOS shall prevent user threads from creating new threads that are higher priority than the caller.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-7
The Zephyr RTOS shall support revoking permission to a kernel object. User mode threads may only revoke their own access to an object.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-8
The Zephyr RTOS shall prevent user threads from creating kernel threads.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-9
The Zephyr RTOS shall allow the creation of threads that run in reduced privilege level.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-10
The Zephyr RTOS shall provide system calls to allow user mode threads to perform privileged operations.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-11
The Zephyr RTOS shall support a defined mechanism for user mode handling a of detected stack overflow.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-12
The Zephyr RTOS shall support detection of stack overflows.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-13
The Zephyr RTOS shall support configurable access to memory during boot time.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-14
The Zephyr RTOS shall provide helper functions for system call handler functions to validate the inputs passed in from user mode before invoking the implementation function to protect the kernel.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-15
The Zephyr RTOS shall support system calls to be able to safely accept C strings passed in from user mode.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-16
The Zephyr RTOS shall track kernel objects that are used by user mode threads.
Note: this means Zephyr shall track the resources used by the user mode thread (associate this with a user story).
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-17
The Zephyr RTOS shall have an interface to request access to specific memory after initial allocation.
- Attributes
Component: Memory Protection
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-8-18
The Zephyr RTOS shall support assigning a memory pool to act as that thread’s resource pool.
Memory Objects
- Attributes
Component: Memory Objects
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-9-1
The Zephyr RTOS shall allow threads to dynamically allocate variable-sized memory regions from a specified range of memory.
- Attributes
Component: Memory Objects
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-9-2
The Zephyr RTOS shall allow threads to dynamically allocate fixed-sized memory regions from a specified range of memory.
Data Passing
- Attributes
Component: Data Passing
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-15-1
The Zephyr RTOS shall provide a kernel object that implements a traditional first in, first out (FIFO) queue, allowing threads and ISRs to add and remove a limited number of 32-bit data values.
- Attributes
Component: Data Passing
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-15-2
The Zephyr RTOS shall provide a kernel object that implements a traditional last in, first out (LIFO) queue, allowing threads and ISRs to add and remove a limited number of 32-bit data values.
Mutex
- Attributes
Component: Mutex
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-6-1
The Zephyr RTOS shall support resource synchronization. (Note synchronization can be for memory access, and mutex may be one implementation, but not the only one).
Semaphore
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-1
- Parent
The Zephyr RTOS shall provide a mechanism to define and initialize a semaphore at compile time.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-2
- Parent
The Zephyr RTOS shall provide a mechanism to define and initialize a semaphore at runtime.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-3
The Zephyr RTOS shall define the maximum limit of a semaphore when the semaphore is used for counting purposes and does not have an explicit limit.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-4
- Parent
When initializing a counting semaphore, the maximum permitted count a semaphore can have shall be set.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-5
- Parent
When initializing a counting semaphore, the initial semaphore value shall be set.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-6
- Parent
The Zephyr RTOS shall provide a mechanism allowing threads to acquire a semaphore.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-7
- Parent
While the semaphore’s count is greater than zero, the requesting thread shall acquire the semaphore and decrement its count.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-8
- Parent
While the semaphore’s count is zero, the requesting thread shall be blocked until the semaphore is released by another thread.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-9
- Parent
When attempting to acquire a semaphore, the Zephyr RTOS shall accept options that specify timeout periods, allowing threads to set a maximum wait time for semaphore acquisition.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-10
- Parent
When attempting to acquire a semaphore, where the semaphore is not acquired within the specified time, the Zephyr RTOS shall return an error indicating a timeout.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-11
- Parent
When attempting to acquire a semaphore, where the current count is zero and no timeout time was provided, the Zephyr RTOS shall return an error indicating the semaphore is busy.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-12
- Parent
The Zephyr RTOS shall provide a mechanism allowing threads to release a semaphore.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-13
- Parent
The Zephyr RTOS shall increment the semaphore’s count upon release.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-14
- Parent
When there are threads waiting on the semaphore, the highest-priority waiting thread shall be unblocked and acquire the semaphore.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-15
- Parent
The Zephyr RTOS shall provide a mechanism for threads to check the current count of a semaphore without acquiring it.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-16
- Parent
The Zephyr RTOS shall provide a mechanism that resets the semaphore count to zero.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-17
- Parent
When a semaphore is reset, the Zephyr RTOS shall abort all existing acquisitions of the semaphore returning a resource contention error code.
- Attributes
Component: Semaphore
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-5-18
- Parent
When initializing a counting semaphore, where the maximum permitted count of a semaphore is invalid, then the Zephyr RTOS shall return an error indicating invalid values.
Power Management
- Attributes
Component: Power Management
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-13-1
The Zephyr RTOS shall provide control over changes to system power states.
- Attributes
Component: Power Management
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-13-2
TBD
- Attributes
Component: Power Management
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-13-3
The Zephyr RTOS shall provide notification of changes to system power states.
Thread Communication
- Attributes
Component: Thread Communication
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-3-1
The Zephyr RTOS shall provide a mechanism for exchanging data between threads.
- Attributes
Component: Thread Communication
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-3-2
The Zephyr RTOS shall provide mechanisms to enable waiting for results during communication between threads. (NOTE: waiting for results is really bad and dangerous, want to avoid if at all possible).
- Attributes
Component: Thread Communication
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-3-3
The Zephyr RTOS shall support a poll operation which enables waiting concurrently for any one of multiple conditions to be fulfilled.
- Attributes
Component: Thread Communication
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-3-4
The Zephyr RTOS shall provide a communication primitive that allows a thread to transfer a block of data to another thread.
- Attributes
Component: Thread Communication
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-3-5
The Zephyr RTOS shall provide a a communication primitive that allow threads and ISRs to asynchronously exchange fixed-size data items.
- Attributes
Component: Thread Communication
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-3-6
The Zephyr RTOS shall provide a communication primitive that allows threads to exchange messages of varying sizes asynchronously or synchronously.
Multi Core
- Attributes
Component: Multi Core
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-2-1
The Zephyr RTOS shall support operation on more than one physical CPU sharing the same kernel state.
- Attributes
Component: Multi Core
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-2-2
The Zephyr RTOS shall provide an interface for running threads on specific sets of CPUs ( default is 1 CPU).
- Attributes
Component: Multi Core
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-2-3
The Zephyr RTOS shall provide an interface for mutual exclusion between multiple physical CPUs.
Thread Scheduling
- Attributes
Component: Thread Scheduling
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-2-4
- Parent
The Zephyr RTOS shall provide an interface to schedule a thread based on an event.
- Attributes
Component: Thread Scheduling
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-2-5
The Zephyr RTOS shall organize running threads by earliest deadline first priority.
- Attributes
Component: Thread Scheduling
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-2-6
The Zephyr RTOS shall provide a thread-pooled work queue utility capable of running preemptible work items with specific scheduler priorities.
- Attributes
Component: Thread Scheduling
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-2-7
The Zephyr RTOS shall provide an interface for running user-supplied functions.
- Attributes
Component: Thread Scheduling
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-2-8
The Zephyr RTOS shall organize running threads into a fixed list of numeric priorities.
- Attributes
Component: Thread Scheduling
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-2-9
The Zephyr RTOS shall support preemption of a running thread by a higher priority thread.
- Attributes
Component: Thread Scheduling
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-2-10
The Zephyr RTOS shall support thread priorities which cannot be preempted by other user threads.
- Attributes
Component: Thread Scheduling
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-2-11
The Zephyr RTOS shall support time sharing of CPU resources among threads of the same priority.
Threads
- Attributes
Component: Threads
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-1-1
- Parent
The Zephyr RTOS shall provide an interface to create (start) a thread.
- Attributes
Component: Threads
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-1-2
- Parent
- Validated by
The Zephyr RTOS shall provide an interface to set a thread’s priority.
- Attributes
Component: Threads
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-1-3
- Fulfilled by
- Parent
- Validated by
The Zephyr RTOS shall provide an interface to suspend a thread.
- Attributes
Component: Threads
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-1-4
- Parent
- Validated by
The Zephyr RTOS shall provide an interface to resume a suspended thread.
- Attributes
Component: Threads
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-1-5
- Parent
The Zephyr RTOS shall provide an interface to resume a suspended thread after a timeout.
- Attributes
Component: Threads
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-1-6
- Parent
The Zephyr RTOS shall provide an interface to delete (end) a thread.
- Attributes
Component: Threads
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-1-7
- Parent
Threads shall have different states to fulfill the Life-cycle of a thread
- Attributes
Component: Threads
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-1-8
- Parent
Every Thread shall have it’s own stack.
- Attributes
Component: Threads
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-1-9
- Parent
The Zephyr RTOS shall provide an interface to create threads with defined privilege.
- Attributes
Component: Threads
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-1-10
- Parent
The Zephyr RTOS shall provide an interface to schedule multiple threads.
- Attributes
Component: Threads
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-1-11
- Parent
The Zephyr RTOS shall support a set of thread options.
- Attributes
Component: Threads
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-1-12
- Parent
Every thread shall have a custom data area.
Timers
- Attributes
Component: Timers
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-4-1
- Parent
The Zephyr RTOS shall provide a interface for checking the current value of the real-time clock.
- Attributes
Component: Timers
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-4-2
- Parent
The Zephyr RTOS shall provide an interface to schedule user mode call back function triggered by a real time clock value.
Tracing
- Attributes
Component: Tracing
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-10-1
Zephyr shall provide an interface to initialize a trace.
- Attributes
Component: Tracing
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-10-2
Zephyr shall provide an interface to trigger a trace.
- Attributes
Component: Tracing
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-10-3
Zephyr shall provide an interface to dump results from a trace.
- Attributes
Component: Tracing
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-10-4
Zephyr shall provide an interface to remove trace data.
- Attributes
Component: Tracing
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-10-5
Zephyr shall provide an interface to identify the objects being traced.
- Attributes
Component: Tracing
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-10-6
Zepyhr shall prevent the tracing functionality from interfering with normal operations.
Condition Variables
- Attributes
Component: Condition Variables
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-21-1
- Parent
The Zephyr RTOS shall provide a mechanism to define and initialize a condition variable dynamically (at runtime).
- Attributes
Component: Condition Variables
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-21-2
- Parent
The Zephyr RTOS shall provide a mechanism to define and initialize a condition variable statically (at compile time).
- Attributes
Component: Condition Variables
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-21-3
- Parent
The Zephyr RTOS shall provide a mechanism to signal the highest priorite waiting thread when a condition is met.
- Attributes
Component: Condition Variables
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-21-4
- Parent
The Zephyr RTOS shall provide a mechanism to signal all waiting threads when a condition is met.
- Attributes
Component: Condition Variables
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-21-5
- Parent
The Zephyr RTOS shall provide a mechanism for a thread to wait on a condition variable.
- Attributes
Component: Condition Variables
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-21-6
- Parent
When waiting on a condition variable, the thread shall specify a timeout value.
- Attributes
Component: Condition Variables
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-21-7
- Parent
When a timeout occurs while waiting on a condition variable, the thread shall be unblocked and a timeout error shall be returned.
- Attributes
Component: Condition Variables
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-21-8
- Parent
If a thread is waiting on a condition variable, the thread shall release the current owned mutex independently.
- Attributes
Component: Condition Variables
Requirement type: Functional
Status: Draft
UID: ZEP-SRS-21-9
- Parent
henever some thread signals a condition variable the Zephyr RTOS shall unblock the highest priority thread currently waiting for this condition variable.