73 while ((i < name_max) && (src[i] !=
'\0')) {
101 SCB->ICSR |= SCB_ICSR_PENDSVSET_Msk;
142 if (delta >= ticks) {
#define ICARUS_MAX_TASK_NAME_LEN
Maximum length of task name string (including null terminator)
ICARUS Kernel Core - State and Initialization.
uint8_t num_created_tasks
Total number of created tasks.
volatile uint32_t current_task_ticks_remaining
Ticks remaining in current task's time slice.
uint8_t running_task_count
Count of tasks in active states.
uint8_t current_task_index
Index of currently executing task.
void exit_critical(void)
Exit critical section (re-enable scheduler if outermost)
icarus_task_t * task_list[128]
Array of pointers to all task control blocks.
void enter_critical(void)
Enter critical section (disable scheduler)
volatile uint32_t os_tick_count
System tick counter.
volatile uint32_t ticks_per_task
Configured ticks per time slice.
uint32_t __os_get_tick_count(void)
Privileged implementation of os_get_tick_count.
uint32_t __task_blocking_sleep(uint32_t ticks)
Privileged implementation of task_blocking_sleep.
uint8_t __os_get_running_task_count(void)
Privileged implementation of os_get_running_task_count.
const char * __os_get_current_task_name(void)
Privileged implementation of os_get_current_task_name.
uint32_t __task_busy_wait(uint32_t ticks)
Privileged implementation of task_busy_wait.
uint32_t __task_active_sleep(uint32_t ticks)
Privileged implementation of task_active_sleep.
void __os_yield(void)
Privileged implementation of os_yield.
uint32_t __os_get_task_ticks_remaining(void)
Privileged implementation of os_get_task_ticks_remaining.
static char task_name_buffer[32]
ICARUS Scheduler - Task Scheduling and Timing.
uint32_t os_get_tick_count(void)
Get current system tick count.
uint32_t task_busy_wait(uint32_t ticks)
Busy-wait for specified ticks.
uint32_t global_tick_paused
Tick count when blocked (offset 20)
char name[32]
Human-readable task name.
icarus_task_state_t task_state
Current task state (offset 16)
uint32_t ticks_to_pause
Ticks to remain blocked (offset 24)
@ TASK_STATE_BLOCKED
Task waiting for timeout or event.