Core kernel parameters.
More...
Core kernel parameters.
◆ ICARUS_DATA_WORDS
| #define ICARUS_DATA_WORDS 512 |
Data region size per task in 32-bit words.
- Note
- 512 words = 2KB per task Must be even for 8-byte alignment (ARM ABI requirement)
Definition at line 91 of file config.h.
◆ ICARUS_MAX_MESSAGE_BYTES
| #define ICARUS_MAX_MESSAGE_BYTES 512 |
Maximum bytes per message pipe buffer.
- Note
- Widened to 512 to support Software Bus and CFDP PDU routing. Each pipe uses this as the static buffer size regardless of the capacity set at pipe_init() time.
Definition at line 76 of file config.h.
◆ ICARUS_MAX_MESSAGE_QUEUES
| #define ICARUS_MAX_MESSAGE_QUEUES 64 |
Maximum number of message queues (pipes)
- Note
- Each pipe uses ~140 bytes in DTCM 64 pipes = ~9KB DTCM usage
Definition at line 68 of file config.h.
◆ ICARUS_MAX_SEMAPHORES
| #define ICARUS_MAX_SEMAPHORES 64 |
Maximum number of semaphores.
- Note
- Each semaphore uses 16 bytes in DTCM 64 semaphores = 1KB DTCM usage
Definition at line 61 of file config.h.
◆ ICARUS_MAX_TASK_NAME_LEN
| #define ICARUS_MAX_TASK_NAME_LEN 32 |
Maximum length of task name string (including null terminator)
Definition at line 102 of file config.h.
◆ ICARUS_MAX_TASKS
| #define ICARUS_MAX_TASKS 128 |
Maximum number of concurrent tasks.
- Note
- Each task requires STACK_WORDS * 4 bytes of stack memory With MAX_TASKS=128 and STACK_WORDS=512: 256KB stack pool
- See also
- STM32H750 has 512KB RAM_D1 available for stacks
Definition at line 54 of file config.h.
◆ ICARUS_STACK_WORDS
| #define ICARUS_STACK_WORDS 512 |
Stack size per task in 32-bit words.
- Note
- 256 words = 1KB per task 512 words = 2KB per task (increased for printf with floats) Must be even for 8-byte alignment (ARM ABI requirement)
Definition at line 84 of file config.h.
◆ ICARUS_TICKS_PER_TASK
| #define ICARUS_TICKS_PER_TASK 50 |
Number of SysTick interrupts per task time slice.
- Note
- At 1ms SysTick, 50 = 50ms time slice
Definition at line 97 of file config.h.