Erika Stack Management with ARM7TDMI
Posted: Wed Mar 03, 2010 10:06 am
Hi All,
I have a question concerning with the stack configuration for the ARM7 processor. At Retis Lab We are testing the RTDruid support for the ARM7 provided by MPARM simulator under Linux 32 bit. At the moment the OIL support is not guaranteed, this means that we have to provide the configurations on eecfg.c and eecfg.h files by hands. Our scenario is characterized by 3 tasks + the background activity (basically the while(1) loop in the main function). I need to share the stack among the 3 tasks with the EDF kernel. Is my task set properly described by these configs?
EE_UREG EE_arm7_thread_tos[EE_MAX_TASK+1] = {
0, /* dummy*/
1, /* thread0*/
1, /* thread1*/
1 /* thread2*/
};
struct EE_TOS EE_arm7_system_tos[2] = {
{(EE_ADDR)(__SYS_STACK_ADDRESS )},
{(EE_ADDR)(__SYS_STACK_ADDRESS - 15872-32)}
};
EE_UREG EE_arm7_active_tos = 0; /* dummy */
Thank you in advance to everybody.
Francesco
I have a question concerning with the stack configuration for the ARM7 processor. At Retis Lab We are testing the RTDruid support for the ARM7 provided by MPARM simulator under Linux 32 bit. At the moment the OIL support is not guaranteed, this means that we have to provide the configurations on eecfg.c and eecfg.h files by hands. Our scenario is characterized by 3 tasks + the background activity (basically the while(1) loop in the main function). I need to share the stack among the 3 tasks with the EDF kernel. Is my task set properly described by these configs?
EE_UREG EE_arm7_thread_tos[EE_MAX_TASK+1] = {
0, /* dummy*/
1, /* thread0*/
1, /* thread1*/
1 /* thread2*/
};
struct EE_TOS EE_arm7_system_tos[2] = {
{(EE_ADDR)(__SYS_STACK_ADDRESS )},
{(EE_ADDR)(__SYS_STACK_ADDRESS - 15872-32)}
};
EE_UREG EE_arm7_active_tos = 0; /* dummy */
Thank you in advance to everybody.
Francesco