Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1664 | pj | 1 | #include <kernel/kern.h> |
2 | #include <drivers/keyb.h> |
||
3 | #include <ll/i386/cons.h> |
||
4 | #include <drivers/glib.h> |
||
5 | |||
6 | PID p,p1; |
||
7 | |||
8 | TASK Woop(void* arg) |
||
9 | { |
||
10 | int iCount = 0; |
||
11 | while(1) |
||
12 | { |
||
13 | ++iCount; |
||
14 | |||
15 | if (iCount == 100) |
||
16 | { |
||
17 | cprintf(" blocking the task \n",iCount); |
||
18 | task_disable(p); |
||
19 | } |
||
20 | |||
21 | cprintf(" this is p %d \n",iCount); |
||
22 | task_endcycle(); |
||
23 | |||
24 | } |
||
25 | } |
||
26 | |||
27 | TASK Woop1(void* arg) |
||
28 | { |
||
29 | int iCount = 0; |
||
30 | while(1) |
||
31 | { |
||
32 | ++iCount; |
||
33 | //cprintf(" this is p1 %d \n",iCount); |
||
34 | if (iCount == 100) |
||
35 | { |
||
36 | |||
37 | |||
38 | } |
||
39 | |||
40 | task_endcycle(); |
||
41 | |||
42 | |||
43 | } |
||
44 | } |
||
45 | |||
46 | void end_fun(KEY_EVT* k) |
||
47 | { |
||
48 | cprintf("Ending...\n"); |
||
49 | sys_end(); |
||
50 | } |
||
51 | |||
52 | int main(int argc, char **argv) |
||
53 | { |
||
54 | |||
55 | KEY_EVT k; |
||
56 | k.flag = 0; |
||
57 | k.scan = KEY_ENT; |
||
58 | k.ascii = ESC; |
||
59 | keyb_hook(k,end_fun); |
||
60 | |||
61 | |||
62 | SOFT_TASK_MODEL m; |
||
63 | soft_task_default_model(m); |
||
64 | soft_task_def_level(m,0); |
||
65 | soft_task_def_periodic(m); |
||
66 | //soft_task_def_save_arrivals(m); |
||
67 | soft_task_def_period(m,25000); |
||
68 | soft_task_def_wcet(m, 500); |
||
69 | soft_task_def_met(m,100); |
||
70 | p = task_create("WOO",Woop,&m,NULL); |
||
71 | p1 = task_create("WOO1",Woop1,&m,NULL); |
||
72 | task_activate(p); |
||
73 | task_activate(p1); |
||
74 | task_join(p,NULL); |
||
75 | } |