Zephyr Project Requirements
Threads

Threads

STATEMENT:

SPDX-License-Identifier: Apache-2.0

1. Creating threads
UID: ZEP-SRS-1-1
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
parent relations:
STATEMENT:

The Zephyr RTOS shall provide an interface to create (start) a thread.

2. Setting thread priority
UID: ZEP-SRS-1-2
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
parent relations:
STATEMENT:

The Zephyr RTOS shall provide an interface to set a thread's priority.

3. Suspending a thread
UID: ZEP-SRS-1-3
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
parent relations:
STATEMENT:

The Zephyr RTOS shall provide an interface to suspend a thread.

4. Resuming a suspended thread
UID: ZEP-SRS-1-4
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
parent relations:
STATEMENT:

The Zephyr RTOS shall provide an interface to resume a suspended thread.

5. Resuming a suspended thread after a timeout
UID: ZEP-SRS-1-5
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
parent relations:
STATEMENT:

The Zephyr RTOS shall provide an interface to resume a suspended thread after a timeout.

6. Deleting a thread
UID: ZEP-SRS-1-6
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
parent relations:
STATEMENT:

The Zephyr RTOS shall provide an interface to delete (end) a thread.

7. Thread states
UID: ZEP-SRS-1-7
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
parent relations:
STATEMENT:

Threads shall have different states to fulfill the Life-cycle of a thread

USER_STORY:

As a Zephyr RTOS user, I want to know in what state a specific thread is.

8. Thread stack objects
UID: ZEP-SRS-1-8
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
parent relations:
STATEMENT:

Every Thread shall have it's own stack.

USER_STORY:

As a Zephyr RTOS user I want to be able to configure the stack size of a thread. And every thread shall have it's own dedicated stack.

9. Thread privileges
UID: ZEP-SRS-1-9
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
parent relations:
STATEMENT:

The Zephyr RTOS shall provide an interface to create threads with defined privilege.

10. Scheduling multiple threads
UID: ZEP-SRS-1-10
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
parent relations:
STATEMENT:

The Zephyr RTOS shall provide an interface to schedule multiple threads.

11. Thread Options
UID: ZEP-SRS-1-11
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
parent relations:
STATEMENT:

The Zephyr RTOS shall support a set of thread options.

USER_STORY:

As a Zephyr RTOS user, I want to be able to pass specific option to a thread.

12. Thread Custom Data
UID: ZEP-SRS-1-12
STATUS: Draft
TYPE: Functional
COMPONENT: Threads
parent relations:
STATEMENT:

Every thread shall have a custom data area.

USER_STORY:

As a Zephyr RTOS user, I want to be able to set a thread specific custom area for every thread I create and which can be used only by the thread itself or the can be used by the application