Why should I call the callback vApplicationGetIdleTaskMemory() when I use static memory allocation ?
You don't call it, FreeRTOS calls it, you just have to provide it.
The Idle task (and potentially the timer service/RTOS daemon task) is
created internally by FreeRTOS when the scheduler is started. The tasks
need a task control block and a stack, just like any other task. If you
are using dynamic memory allocation then FreeRTOS can just allocate the
required memory from the heap. If you have opted to use static memory
allocation then FreeRTOS cannot obtain the memory itself so you must
provide it. That is what the callback/hook function does:
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.