osSemaphoreAttr_t - структура атрибутов для создания семафора в CMSIS-RTOS2

Структура атрибутов, используемая функцией osSemaphoreNew() при создании нового семафора.

/// Attributes structure for semaphore.
typedef struct {
   const char     *name;       /// name of the semaphore
   uint32_t       attr_bits;   /// attribute bits
   void           *cb_mem;     /// memory for control block
   uint32_t       cb_size;     /// size of provided memory for control block
} osSemaphoreAttr_t;

Поля структуры

*name
name of the semaphore
Указатель на строку с удобочитаемым именем семафора (используется при отладке)

По умолчанию: NULL - имя не задано.

attr_bits
attribute bits
Зарезервировано для дальнейшего использования. Должно быть установлено нулевое значение для будущей совместимости.

По умолчанию: 0.

*cb_mem
memory for control block
Указатель на область памяти где размещён блок управления семафором. Устанавливается в случае распределения памяти пользователем (User-defined Allocation).

По умолчанию: NULL - используется автоматическое распределение памяти (Automatic Dynamic Allocation).

cb_size
size of provided memory for control block
Размер (в байтах) области памяти где размещён блок управления семафором, передаваемый указателем *cb_mem.

По умолчанию: 0 - используется автоматическое распределение памяти (Automatic Dynamic Allocation) и *cb_mem не передаётся.