Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 1179 → Rev 1180

/demos/trunk/first/test7.c
18,11 → 18,11
 
/*
------------
CVS : $Id: test7.c,v 1.1 2003-06-18 08:16:00 trimarchi Exp $
CVS : $Id: test7.c,v 1.2 2003-08-01 13:20:38 trimarchi Exp $
 
File: $File$
Revision: $Revision: 1.1 $
Last update: $Date: 2003-06-18 08:16:00 $
Revision: $Revision: 1.2 $
Last update: $Date: 2003-08-01 13:20:38 $
------------
 
this test shows a set of 5 tasks (+main+dummy+keyboard driver).
70,8 → 70,8
#include "modules/cabs.h"
 
#include "modules/pi.h"
#include "modules/nop.h"
 
 
// --------------------------------------------------
// --------------------------------------------------
// Init Part
93,8 → 93,8
EDF_register_level(EDF_ENABLE_ALL);
 
cbsstar_level = CBSSTAR_register_level(3, 0);
mybudget = CBSSTAR_setbudget(cbsstar_level, 10000, 100000);
mybudget1 = CBSSTAR_setbudget(cbsstar_level, 10000, 70000);
mybudget = CBSSTAR_setbudget(cbsstar_level, 15000, 30000);
mybudget1 = CBSSTAR_setbudget(cbsstar_level, 14000, 56000);
posixstar_level = POSIXSTAR_register_level(mybudget, cbsstar_level, 3000,1);
posixstar_level1 = POSIXSTAR_register_level(mybudget1, cbsstar_level, 5000,1);
RR_register_level(RRTICK, RR_MAIN_YES, mb);
105,7 → 105,7
 
//SEM_register_module();
PI_register_module();
 
NOP_register_module();
return TICK;
}
 
159,10 → 159,10
for (i=0;i<5; i++) {
for (j=0; j<10; j++);
//sem_wait(&s);
mutex_lock(&s);
//mutex_lock(&s);
cputc('°');
cputs((char *)arg);
mutex_unlock(&s);
//mutex_unlock(&s);
//sem_post(&s);
}
 
183,7 → 183,7
nrt_task_default_model(m1);
nrt_task_def_group(m1, 1);
nrt_task_def_level(m1,2);
nrt_task_def_arg(m1,(void *)"#");
nrt_task_def_arg(m1,(void *)"A");
nrt_task_def_weight(m1,0);
p1a = task_create("a",star,&m1,NULL);
if (p1a == -1) {
191,49 → 191,95
sys_abort(-1);
}
nrt_task_def_level(m1,1);
nrt_task_def_arg(m1,(void *)"+");
nrt_task_def_arg(m1,(void *)"B");
nrt_task_def_group(m1, 1);
nrt_task_def_level(m1,2);
p1b = task_create("b", star, &m1, NULL);
p1b = task_create("b", star, &m1, NULL);
if (p1b == -1) {
perror("Could not create task b ...");
sys_end();
}
nrt_task_def_arg(m1,(void *)"1");
nrt_task_def_group(m1, 1);
nrt_task_def_level(m1,2);
 
p1c[5] = task_create("1", star, &m1, NULL);
if (p1c[5] == -1) {
perror("Could not create task b ...");
sys_end();
}
 
nrt_task_def_arg(m1,(void *)"Q");
nrt_task_def_arg(m1,(void *)"C");
nrt_task_def_group(m1, 1);
nrt_task_def_level(m1,3);
nrt_task_def_level(m1,2);
p1c[0] = task_create("c", star, &m1, NULL);
p1c[4] = task_create("c", star, &m1, NULL);
if (p1c[4] == -1) {
perror("Could not create task b ...");
sys_end();
}
 
nrt_task_def_arg(m1,(void *)"D");
nrt_task_def_group(m1, 1);
nrt_task_def_level(m1,2);
p1c[5] = task_create("d", star, &m1, NULL);
if (p1c[5] == -1) {
perror("Could not create task b ...");
sys_end();
}
nrt_task_def_arg(m1,(void *)"E");
nrt_task_def_group(m1, 1);
nrt_task_def_level(m1,2);
p1c[0] = task_create("e", star, &m1, NULL);
if (p1c[0] == -1) {
perror("Could not create task b ...");
sys_end();
}
 
nrt_task_def_arg(m1,(void *)"E");
p1c[1] = task_create("d", star, &m1, NULL);
nrt_task_def_arg(m1,(void *)"F");
p1c[1] = task_create("f", star, &m1, NULL);
if (p1c[1] == -1) {
perror("Could not create task b ...");
sys_end();
}
 
 
nrt_task_def_arg(m1,(void *)"R");
p1c[2] = task_create("e", star, &m1, NULL);
nrt_task_def_arg(m1,(void *)"G");
nrt_task_def_group(m1, 1);
nrt_task_def_level(m1,2);
p1c[2] = task_create("g", star, &m1, NULL);
if (p1c[2] == -1) {
perror("Could not create task b ...");
sys_end();
}
 
nrt_task_def_arg(m1,(void *)"H");
p1c[3] = task_create("h", star, &m1, NULL);
if (p1c[3] == -1) {
perror("Could not create task b ...");
sys_end();
}
nrt_task_def_arg(m1,(void *)"I");
p1c[4] = task_create("h", star, &m1, NULL);
if (p1c[4] == -1) {
perror("Could not create task b ...");
sys_end();
}
 
hard_task_default_model(m2);
hard_task_def_ctrl_jet(m2);
hard_task_def_mit(m2,50000); // the budget has dline 100,000!
hard_task_def_mit(m2,32000); // the budget has dline 100,000!
hard_task_def_wcet(m2, 3000);
hard_task_def_arg(m2,(void *)"Û");
hard_task_def_arg(m2,(void *)"X");
hard_task_def_group(m2,1);
hard_task_def_periodic(m2);
242,9 → 288,10
perror("Could not create task edf ...");
sys_end();
}
hard_task_def_mit(m2,6000); // the budget has dline 100,000!
 
hard_task_def_mit(m2,32000); // the budget has dline 100,000!
hard_task_def_wcet(m2, 3000);
hard_task_def_arg(m2,(void *)"A");
hard_task_def_arg(m2,(void *)"K");
p3 = task_create("3", edftask, &m2, NULL);
if (p3 == -1) {
perror("Could not create task edf ...");
252,7 → 299,7
}
 
cprintf("stars=%d", p2);
fineprg.tv_sec=550;
fineprg.tv_sec=140;
fineprg.tv_nsec=0;
kern_event_post(&fineprg,(void(*)(void *))sys_end, NULL);
group_activate(1);
263,6 → 310,11
char c='t';
PI_mutexattr_t a;
PI_mutexattr_default(a);
 
//NOP_mutexattr_t a;
//NOP_mutexattr_default(a);
 
 
mutex_init(&s,&a);
 
clear();
274,6 → 326,7
 
do {
//c =keyb_getch(BLOCK);
// cprintf("[]");
} while (c != ESC);
 
cprintf("ESC pressed!");