ICARUS OS (Intelligent Cooperative Architecture for Real-time Unified Systems) 0.1.0
Preemptive Real-Time Operating System for ARM Cortex-M7
Loading...
Searching...
No Matches
icarus_semaphore_t Struct Reference

Counting Semaphore. More...

#include <types.h>

Data Fields

bool engaged
 true if semaphore is initialized and active
 
uint32_t count
 Current semaphore count.
 
uint32_t max_count
 Maximum count (initial value)
 
uint32_t tick_updated_at
 Last modification timestamp (for debugging)
 

Detailed Description

Counting Semaphore.

Implements a counting semaphore for resource management and task synchronization. Supports both binary (max_count=1) and counting (max_count>1) semaphore semantics.

Note
Memory footprint: 16 bytes per semaphore
See also
docs/do178c/design/SDD.md Section 4.4 - Synchronization Primitives

Definition at line 151 of file types.h.

Field Documentation

◆ count

uint32_t icarus_semaphore_t::count

Current semaphore count.

Definition at line 153 of file types.h.

Referenced by __init_sem(), __sem_can_consume(), __sem_can_feed(), __sem_decrement(), __sem_increment(), __semaphore_get_count(), and __semaphore_init().

◆ engaged

bool icarus_semaphore_t::engaged

true if semaphore is initialized and active

Definition at line 152 of file types.h.

Referenced by __init_sem(), and __semaphore_init().

◆ max_count

uint32_t icarus_semaphore_t::max_count

Maximum count (initial value)

Definition at line 154 of file types.h.

Referenced by __init_sem(), __sem_can_feed(), __semaphore_get_max_count(), and __semaphore_init().

◆ tick_updated_at

uint32_t icarus_semaphore_t::tick_updated_at

Last modification timestamp (for debugging)

Definition at line 155 of file types.h.

Referenced by __init_sem(), __sem_decrement(), __sem_increment(), and __semaphore_init().


The documentation for this struct was generated from the following file: