pxNewTCB->pxStack = ( StackType_t * ) pvPortMallocAligned( ( ( ( size_t ) usStackDepth ) * sizeof( StackType_t ) ), puxStackBuffer );
This does a mallco of 4kB * sizeof( StackType_t ).. which means it mallocs 16kB… why is that?
I am running FreeRTOS v8 and Heap4
Thanks
while creating a task, 4 times the ram is malloc’d than requested @ prvAllocateTCBAndStack()
When createing a task with 4kB of stack, prvAllocateTCBAndStack() executes the following line:
while creating a task, 4 times the ram is malloc’d than requested @ prvAllocateTCBAndStack()
Please see the documentation for the xTaskCreate() API function:
http://www.freertos.org/a00125.html
while creating a task, 4 times the ram is malloc’d than requested @ prvAllocateTCBAndStack()
Requested stack size is define to be in units of StackTypeT, not bytes. Due to alignment reasons, it MUST be a multiple of StackTypeT, so it is given in units of StackType_T.
while creating a task, 4 times the ram is malloc’d than requested @ prvAllocateTCBAndStack()
understood.. thanks