Keil™, An ARM® Company

Technical Support

RL-ARM: SYSTEM STACK LARGER IN RL-ARM?


Information in this article applies to:

  • RL-ARM All Versions

QUESTION

After upgrading from ARTX to RL-ARM, I noticed that the area defined for the system task stacks grew much larger. I didn't change my stack size or number of tasks. What happened? How can I fix this?

ANSWER

The RTL.h file contains the following macro definition for _declare_box8 which RL-ARM uses to declare system stack memory:

#define _declare_box8(pool,size,cnt)  U64 pool[((size+7)/8)*cnt + 2]

ARTX did not use this macro.

In RL-ARM, because the cnt parameter is not enclosed in parentheses, the parameter OS_TASKCNT - OS_PRIVCNT + 2 for determining the number of system tasks is not calculated properly. To correct this, change the macro definition for _declare_box8 in RTL.h to the following:

#define _declare_box8(pool,size,cnt)  U64 pool[((size+7)/8)*(cnt) + 2]

The RTL.h file is updated in RL-ARM V3.04.

SEE ALSO

Last Reviewed: Wednesday, January 10, 2007


Did this article provide the answer you needed?
 
Yes
No
Not Sure