os_tsk_create_user() and number of bytes in stack

How does one figure out what size stack to use for a task?

This is to use for the library function:

OS_TID os_tsk_create_user(
    void (*task)(void),    /* Task to create */
    U8    priority,        /* Task priority (1-254) */
    void* stk,             /* Pointer to the task's stack */
    U16   size );          /* Number of bytes in the stack */

Is there a rule of thumb to go about this. Maybe, the number of function calls within the task and the amount and size of arguments passed?

More questions in this forum