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
config.h File Reference

ICARUS OS Configuration Header. More...

Go to the source code of this file.

Macros

#define ICARUS_VERSION_MAJOR   0
 
#define ICARUS_VERSION_MINOR   2
 
#define ICARUS_VERSION_PATCH   0
 
#define ICARUS_VERSION_STRING   "0.2.0"
 
#define ICARUS_MAX_TASKS   128
 Maximum number of concurrent tasks.
 
#define ICARUS_MAX_SEMAPHORES   64
 Maximum number of semaphores.
 
#define ICARUS_MAX_MESSAGE_QUEUES   64
 Maximum number of message queues (pipes)
 
#define ICARUS_MAX_MESSAGE_BYTES   512
 Maximum bytes per message pipe buffer.
 
#define ICARUS_STACK_WORDS   512
 Stack size per task in 32-bit words.
 
#define ICARUS_DATA_WORDS   512
 Data region size per task in 32-bit words.
 
#define ICARUS_TICKS_PER_TASK   50
 Number of SysTick interrupts per task time slice.
 
#define ICARUS_MAX_TASK_NAME_LEN   32
 Maximum length of task name string (including null terminator)
 
#define ICARUS_USE_DTCM   1
 Enable DTCM placement for kernel data structures.
 
#define ICARUS_USE_ITCM   1
 Enable ITCM placement for hot-path code.
 
#define ITCM_FUNC   __attribute__((section(".itcm")))
 
#define DTCM_DATA_PRIV   __attribute__((section(".dtcm_priv")))
 
#define DTCM_DATA_OBC   __attribute__((section(".dtcm_obc")))
 
#define BKPRAM_DATA   __attribute__((section(".ram_d3")))
 
#define ICARUS_ENABLE_ASSERTS   1
 Enable runtime assertions.
 
#define ICARUS_ENABLE_STATS   0
 Enable kernel statistics collection.
 
#define ICARUS_PRINT_BUFFER_BYTES   64
 Print buffer size for USB CDC output.
 
#define ICARUS_MAX_PRINT_RETRIES   4
 Maximum retries for print operations.
 
#define ICARUS_ENABLE_HEARTBEAT_VIS   1
 Enable heartbeat LED visualization on terminal.
 
#define ICARUS_HEARTBEAT_ON_TICKS   437
 Heartbeat LED on duration in ticks.
 
#define ICARUS_HEARTBEAT_OFF_TICKS   479
 Heartbeat LED off duration in ticks.
 

Detailed Description

ICARUS OS Configuration Header.

Version
0.2.0

Central configuration file for ICARUS Real-Time Operating System. All tunable parameters and feature flags are defined here.

Note
Modify this file to customize ICARUS for your target application.
See also
docs/do178c/design/SDD.md for Software Design Document
docs/do178c/requirements/SRS.md for Software Requirements Specification
Author
Souham Biswas
Date
2025-2026

Definition in file config.h.

Macro Definition Documentation

◆ BKPRAM_DATA

#define BKPRAM_DATA   __attribute__((section(".ram_d3")))

Definition at line 158 of file config.h.

◆ DTCM_DATA_OBC

#define DTCM_DATA_OBC   __attribute__((section(".dtcm_obc")))

Definition at line 157 of file config.h.

◆ DTCM_DATA_PRIV

#define DTCM_DATA_PRIV   __attribute__((section(".dtcm_priv")))

Definition at line 156 of file config.h.

◆ ICARUS_VERSION_MAJOR

#define ICARUS_VERSION_MAJOR   0

Definition at line 33 of file config.h.

◆ ICARUS_VERSION_MINOR

#define ICARUS_VERSION_MINOR   2

Definition at line 34 of file config.h.

◆ ICARUS_VERSION_PATCH

#define ICARUS_VERSION_PATCH   0

Definition at line 35 of file config.h.

◆ ICARUS_VERSION_STRING

#define ICARUS_VERSION_STRING   "0.2.0"

Definition at line 36 of file config.h.

◆ ITCM_FUNC

#define ITCM_FUNC   __attribute__((section(".itcm")))

Definition at line 155 of file config.h.