I have #defined configSUPPORT_STATIC_ALLOCATION as 1, and so I need to define my own versions of vApplicationGetTimerTaskMemory() and vApplicationGetIdleTaskMemory().
Now, if I don’t do that, and try to build, then I get two linker errors, saying that those two functions are undefined. Of course.
If I define those functions, then vApplicationGetIdleTaskMemory() seems to be recognised by the linker, but I still get the error: Undefined reference to ‘vApplicationGetTimerTaskMemory’.
I have carefully checked the function to make sure it matches the prototype found in timers.h. The prototype there is:
void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer,
StackType_t ** ppxTimerTaskStackBuffer,
uint32_t * pulTimerTaskStackSize );
My function is:
void vApplicationGetTimerTaskMemory( StaticTask_t **ppxTimerTaskTCBBuffer,
StackType_t **ppxTimerTaskStackBuffer,
uint32_t *puxTimerTaskStackSize )
{
static StaticTask_t xTimerTaskTCB;
static StackType_t uxTimerTaskStack[ configTIMER_TASK_STACK_DEPTH ];
*ppxTimerTaskTCBBuffer = &xTimerTaskTCB;
*ppxTimerTaskStackBuffer = uxTimerTaskStack;
*puxTimerTaskStackSize = configTIMER_TASK_STACK_DEPTH;
}
What am I doing wrong?