Keil Logo

RL-ARM: TRANSITION FROM OS_STK_OVERFLOW() TO OS_ERROR()


Information in this knowledgebase article applies to:

  • RL-ARM 4.10 and newer

SYMPTOM

In version 4.05 the os_stk_overflow() function is not available any more. Instead there is a new function os_error(), which will now be called in case of stack overflow situations. But there is no task ID parameter for os_error() like there was for os_stk_overflow(). So how is it now possible to determine the task which caused the stack overflow?

CAUSE

os_error() was introduced, to report also other critical situations during runtime. So there is now one common error handling function. The parameter to this function is the cause of the problem:

void os_error (U32 err_code);

RESOLUTION

To find out the task, which caused the stack overflow, the RTX function isr_tsk_get() can be called inside the os_error() function in case of a stack overflow.

But please note ,that this function was introduced in RL-ARM 4.10. In RL-ARM 4.05 it was only possible on ARM7/9 targets by using the RTX function os_tsk_self() to achieve a similar result.

SEE ALSO

Last Reviewed: Monday, August 20, 2012


Did this article provide the answer you needed?
 
Yes
No
Not Sure
 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.