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
main.c
Go to the documentation of this file.
1
30
#include "main.h"
31
#include "interactive_tasks.h"
32
#include "game/game.h"
33
#include "showcase_tasks.h"
34
35
/* ============================================================================
36
* CONFIGURATION
37
* ========================================================================= */
38
43
#define ENABLE_STRESS_TEST 0
44
49
#define ENABLE_DEMO_TASKS 0
50
55
#define ENABLE_INTERACTIVE 0
56
61
#define ENABLE_GAME 1
62
69
#define ENABLE_SHOWCASE 0
70
72
#define ANSI_SHOW_CURSOR() printf("\033[?25h")
73
74
/* ============================================================================
75
* MAIN ENTRY POINT
76
* ========================================================================= */
77
97
int
main
(
void
)
98
{
99
hal_init
();
100
101
os_init
();
102
103
#if ENABLE_DEMO_TASKS
104
demo_tasks_init();
105
#endif
106
107
#if ENABLE_STRESS_TEST
108
stress_test_init();
109
#endif
110
111
#if ENABLE_INTERACTIVE
112
interactive_tasks_init();
113
#endif
114
115
#if ENABLE_GAME
116
game_init();
117
#endif
118
119
#if ENABLE_SHOWCASE
120
showcase_tasks_init();
121
#endif
122
123
os_start
();
124
125
/* Error path: restore cursor before error message */
126
ANSI_SHOW_CURSOR
();
127
printf(
"ERROR: Should not be here\r\n"
);
128
while
(1) {
129
LED_Blink
(50, 900);
130
}
131
}
os_start
void os_start(void)
Start the ICARUS scheduler.
Definition
svc.c:502
os_init
void os_init(void)
Initialize the ICARUS kernel.
Definition
svc.c:501
LED_Blink
void LED_Blink(uint32_t on_ticks, uint32_t off_ticks)
Blink LED with specified timing.
Definition
retarget_hal.c:93
ANSI_SHOW_CURSOR
#define ANSI_SHOW_CURSOR()
ANSI escape code to show cursor (used in error path)
Definition
main.c:72
main
int main(void)
Application entry point.
Definition
main.c:97
hal_init
void hal_init(void)
Initialize all hardware abstraction layer components.
Definition
retarget_hal.c:201
Core
Src
main.c
Generated on Fri Apr 17 2026 13:48:31 for ICARUS OS (Intelligent Cooperative Architecture for Real-time Unified Systems) by
1.9.8