Technical Support

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: Wednesday, April 14, 2010


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