osThreadAttr_t - структура атрибутов для создания потока / задачи в CMSIS-RTOS2
Структура атрибутов, используемая функцией osThreadNew() при создании нового потока / задачи.
/// Attributes structure for thread.
typedef struct {
const char *name; /// name of the thread
uint32_t attr_bits; /// attribute bits
void *cb_mem; /// memory for control block
uint32_t cb_size; /// size of provided memory for control block
void *stack_mem; /// memory for stack
uint32_t stack_size; /// size of stack
osPriority_t priority; /// initial thread priority (default: osPriorityNormal)
TZ_ModuleId_t tz_module; /// TrustZone module identifier
uint32_t reserved; /// reserved (must be 0)
} osThreadAttr_t;
Поля структуры
По умолчанию: NULL - имя не задано, отладчик отображает имя функции как имя задачи.
// Thread attributes (attr_bits in \ref osThreadAttr_t).
#define osThreadDetached 0x00000000U /// Thread created in detached mode (default)
#define osThreadJoinable 0x00000001U /// Thread created in joinable mode
#define osThreadUnprivileged 0x00000002U /// Thread runs in unprivileged mode
#define osThreadPrivileged 0x00000004U /// Thread runs in privileged mode
#define osThreadZone (n) /// n - MPU zone value in attribute bit field format.
#define osSafetyClass (n) /// n - Safety class value in attribute bit field format
По умолчанию: 0 - никакие атрибуты задачи не установлены.
По умолчанию: NULL - используется автоматическое распределение памяти (Automatic Dynamic Allocation).
По умолчанию: 0 - используется автоматическое распределение памяти (Automatic Dynamic Allocation) и *cb_mem не передаётся.
По умолчанию: NULL - память для стека предоставляется системой на основе конфигурации ядра FreeRTOS.
По умолчанию: 0 - определяется системой.
По умолчанию: osPriorityNormal.
#ifndef TZ_MODULEID_T
#define TZ_MODULEID_T
/// \details Data type that identifies secure software modules called by a process.
typedef uint32_t TZ_ModuleId_t;
#endif
По умолчанию: 0.
По умолчанию: 0 - маска не используется.
Примечание
Биты атрибутов определены как макросы и описаны в разделе Macro Definition. Используемые биты атрибутов описаны в файле cmsis_os2.h и их наличие в файлах библиотеки CMSIS-RTOS2 зависит от номера релиза.