1c81b5651e40695efc6a32ae035bd7d4527b1a62
[bertos.git] / examples / benchmark / kernel-only_arm / main.c
1 // Emtpy main.c file generated by the wizard
2 #include <cpu/irq.h>
3 #include <kern/proc.h>
4 #include <kern/signal.h>
5 #include <kern/msg.h>
6
7 MsgPort in_port;
8
9 static void init(void)
10 {
11         IRQ_ENABLE;
12         proc_init();
13 }
14
15 static cpu_stack_t proc1_stack[500];
16
17 static void proc1_main(void)
18 {
19
20 }
21
22 int main(void)
23 {
24         init();
25         // generate code for process
26         struct Process *p = proc_new(proc1_main, 0, sizeof(proc1_stack), proc1_stack);
27         proc_setPri(p, 5);
28         proc_yield();
29         // generate code for msg
30         Msg msg;
31         msg_initPort(&in_port, event_createSignal(p, SIG_USER1));
32         msg_put(&in_port, &msg);
33         msg_peek(&in_port);
34         Msg *msg_re = msg_get(&in_port);
35         msg_reply(msg_re);
36         // generate code for signals
37         sig_signal(p, SIG_USER0);
38         sig_wait(SIG_USER0);
39
40         return 0;
41 }
42