Multitasking with priority problem

Inderjit Singh inderjit.singh at spaceapplications.com
Thu Sep 8 15:25:59 UTC 2011


Hi, 

I'm running RTEMS 4.10 on Gaisler-RASTA platform with Leon2 processor. 

I'm trying to run 2 tasks with priorities but failing to get my code to work. The code is: 

-------------- 
#include <rtems.h> 
#include <bsp.h> /* for device driver prototypes */ 
#include <pthread.h> 
#include <stdio.h> 
#include <stdlib.h> 

#define CONFIGURE_INIT_TASK_ENTRY_POINT POSIX_Init 

pthread_t task_2_id; 

void* task_2(void* arg) 
{ 
int type; 
struct sched_param sch_params; 
pthread_getschedparam(task_2_id, &type, &sch_params); 
while(1) 
{ 
printf("TASK 2 priority: %d\n", sch_params.sched_priority); 
sleep(1); 
} 
} 

//rtems_task Init(rtems_task_argument ignored) 
//void* POSIX_Init() 
void *POSIX_Init(void *argument) 

{ 
int type; 
int status; 
pthread_attr_t attr; 
struct sched_param sch_params; 

pthread_attr_init(&attr); 
sch_params.sched_priority = 100; 
pthread_attr_setschedpolicy(&attr, SCHED_FIFO); 
pthread_attr_setschedparam(&attr,&sch_params); 

/* Main task with priority */ 
status = pthread_create(&task_2_id, 
&attr, 
task_2, 
NULL); 
printf("Status: %d\n", status); 

pthread_getschedparam(pthread_self(), &type, &sch_params); 

while(1) 
{ 
printf("Maint task priority: %d\n", sch_params.sched_priority); 
sleep(1); 
} 

exit(0); 
} 

#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER 
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER 
#define CONFIGURE_MAXIMUM_POSIX_THREADS 4 
#define CONFIGURE_POSIX_INIT_THREAD_TABLE 
/* #define CONFIGURE_MAXIMUM_TASKS 4 */ 

/* #define CONFIGURE_RTEMS_INIT_TASKS_TABLE */ 

/* #define CONFIGURE_EXTRA_TASK_STACKS (3 * RTEMS_MINIMUM_STACK_SIZE) */ 

/* configuration information */ 
#define CONFIGURE_INIT 
#include <confdefs.h> 
-------------- 

But at the console I get: 
------------- 
Status: 0 
Maint task priority: 2 
TASK 2 priority: 2 
Maint task priority: 2 
TASK 2 priority: 2 
Maint task priority: 2 
TASK 2 priority: 2 
------------- 

Can some one point me to the right direction why. Thanks, 
Indy 
________________________________________ 
Inderjit Singh 
Software Engineer 
Avionics & Embedded Systems 
Email: inderjit.singh at spaceapplications.com 

Space Applications Services 
Leuvensesteenweg 325 
B-1932 Zaventem 
Belgium 
Direct Tel: +32-(0)2-416.05.27 
Fax: +32 (0)2-721.54.44 
Please consider the environment before printing this email 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20110908/420c585a/attachment.html>


More information about the users mailing list