system
(system)
August 26, 2016, 3:35pm
1
hassan789 wrote on Friday, August 26, 2016 :
When createing a task with 4kB of stack, prvAllocateTCBAndStack() executes the following line:
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
rtel
(Richard Barry)
August 26, 2016, 3:43pm
2
rtel wrote on Friday, August 26, 2016 :
Please see the documentation for the xTaskCreate() API function:
http://www.freertos.org/a00125.html
richard_damon wrote on Friday, August 26, 2016 :
Requested stack size is define to be in units of StackType_T, not bytes. Due to alignment reasons, it MUST be a multiple of StackType_T, so it is given in units of StackType_T.
system
(system)
August 26, 2016, 4:15pm
4