Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
Loading...
Searching...
No Matches
thread_config.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2014-2021 Freie Universität Berlin
3
* SPDX-FileCopyrightText: 2021 Inria
4
* SPDX-FileCopyrightText: 2021 Kaspar Schleiser <kaspar@schleiser.de>
5
* SPDX-License-Identifier: LGPL-2.1-only
6
*/
7
8
#pragma once
9
20
21
#include "cpu_conf.h"
22
#include "
sched.h
"
/* for SCHED_PRIO_LEVELS */
23
24
#ifdef __cplusplus
25
extern
"C"
{
26
#endif
27
35
#ifndef THREAD_STACKSIZE_DEFAULT
36
#error THREAD_STACKSIZE_DEFAULT must be defined per CPU
37
#endif
38
#ifdef DOXYGEN
39
#define THREAD_STACKSIZE_DEFAULT
40
#endif
41
49
#ifndef THREAD_STACKSIZE_IDLE
50
#error THREAD_STACKSIZE_IDLE must be defined per CPU
51
#endif
52
#ifdef DOXYGEN
53
#define THREAD_STACKSIZE_IDLE
54
#endif
55
63
#ifndef THREAD_EXTRA_STACKSIZE_PRINTF
64
#error THREAD_EXTRA_STACKSIZE_PRINTF must be defined per CPU
65
#endif
66
#ifdef DOXYGEN
67
#define THREAD_EXTRA_STACKSIZE_PRINTF
68
#endif
69
74
#ifndef THREAD_STACKSIZE_MAIN
75
#define THREAD_STACKSIZE_MAIN (THREAD_STACKSIZE_DEFAULT + \
76
THREAD_EXTRA_STACKSIZE_PRINTF)
77
#endif
78
82
#ifndef THREAD_STACKSIZE_LARGE
83
#define THREAD_STACKSIZE_LARGE (THREAD_STACKSIZE_MEDIUM * 2)
84
#endif
85
89
#ifndef THREAD_STACKSIZE_MEDIUM
90
#define THREAD_STACKSIZE_MEDIUM THREAD_STACKSIZE_DEFAULT
91
#endif
92
96
#ifndef THREAD_STACKSIZE_SMALL
97
#define THREAD_STACKSIZE_SMALL (THREAD_STACKSIZE_MEDIUM / 2)
98
#endif
99
103
#ifndef THREAD_STACKSIZE_TINY
104
#define THREAD_STACKSIZE_TINY (THREAD_STACKSIZE_MEDIUM / 4)
105
#endif
106
110
#ifndef THREAD_STACKSIZE_MINIMUM
111
#define THREAD_STACKSIZE_MINIMUM (sizeof(thread_t))
112
#endif
113
118
#define THREAD_PRIORITY_MIN (SCHED_PRIO_LEVELS - 1)
119
124
#define THREAD_PRIORITY_IDLE (THREAD_PRIORITY_MIN)
125
130
#ifndef THREAD_PRIORITY_MAIN
131
#define THREAD_PRIORITY_MAIN (THREAD_PRIORITY_MIN - \
132
(SCHED_PRIO_LEVELS / 2))
133
#endif
134
135
#ifdef __cplusplus
136
}
137
#endif
138
sched.h
Scheduler API definition.
Generated on Sun Nov 23 2025 23:27:56 by
1.13.2