non-preemptive scheduling with Erika
Posted: Wed May 27, 2009 8:50 am
Hi All,
I\'m Francesco Esposito and I\'m new in this community. I need a fixed priority scheduler and a non preemptive task set. I\'m working on ARM7 platform and I cannot use OIL support because I\'m developing my application with a linux host and the RT-druid support is not still available for my environment. This means that I have to configure my Erika App directly using eecfg.c, eecfg.h and makefile. I need support about the correctness of the configuration below:
I have 2 task:
thread0 (high priority task - non preemptive)
thread1 (low priority task - non preemptive)
Those are my configuration inside eecfg.c:
DeclareTask(thread0);
DeclareTask(thread1);
const EE_ADDR EE_hal_thread_body[EE_MAX_TASK] = {
(EE_ADDR)Functhread0, /* thread thread0 */
(EE_ADDR)Functhread1, /* thread thread1 */
};
const EE_TYPEPRIO EE_th_ready_prio[EE_MAX_TASK] = {
0x2, /* thread thread0 - High priority */
0x1, /* thread thread1 - low priority */
};
/* dispatch priority */
const EE_TYPEPRIO EE_th_dispatch_prio[EE_MAX_TASK] = {
0x2, /* thread thread0 - non preemptive */
0x2, /* thread thread1 - non preemptive */
};
Thanks in advance.
Francesco
I\'m Francesco Esposito and I\'m new in this community. I need a fixed priority scheduler and a non preemptive task set. I\'m working on ARM7 platform and I cannot use OIL support because I\'m developing my application with a linux host and the RT-druid support is not still available for my environment. This means that I have to configure my Erika App directly using eecfg.c, eecfg.h and makefile. I need support about the correctness of the configuration below:
I have 2 task:
thread0 (high priority task - non preemptive)
thread1 (low priority task - non preemptive)
Those are my configuration inside eecfg.c:
DeclareTask(thread0);
DeclareTask(thread1);
const EE_ADDR EE_hal_thread_body[EE_MAX_TASK] = {
(EE_ADDR)Functhread0, /* thread thread0 */
(EE_ADDR)Functhread1, /* thread thread1 */
};
const EE_TYPEPRIO EE_th_ready_prio[EE_MAX_TASK] = {
0x2, /* thread thread0 - High priority */
0x1, /* thread thread1 - low priority */
};
/* dispatch priority */
const EE_TYPEPRIO EE_th_dispatch_prio[EE_MAX_TASK] = {
0x2, /* thread thread0 - non preemptive */
0x2, /* thread thread1 - non preemptive */
};
Thanks in advance.
Francesco