feat(freertos): Add option for idle task stack size

Modify min size from 768 to 1024 bytes.
This commit is contained in:
dongheng
2019-04-17 10:11:57 +08:00
parent 8aae2e5764
commit b3658b4eb1
3 changed files with 17 additions and 1 deletions

View File

@ -32,6 +32,18 @@ config FREERTOS_MAX_HOOK
help
configurate the max number of FreeRTOS hook function.
config FREERTOS_IDLE_TASK_STACKSIZE
int "Idle Task stack size"
range 1024 32768
default 1024
help
The idle task has its own stack, sized in bytes. The default size is enough for most uses. Size can be reduced
to 1024 bytes if no (or simple) FreeRTOS idle hooks are used and pthread local storage or FreeRTOS local storage
cleanup callbacks are not used.
The stack size may need to be increased above the default if the app installs idle or thread local storage
cleanup hooks that use a lot of stack memory.
config FREERTOS_ISR_STACKSIZE
int "ISR stack size"
range 512 8192

View File

@ -1959,7 +1959,7 @@ BaseType_t xReturn;
/* The Idle task is being created using dynamically allocated RAM. */
xReturn = xTaskCreate( prvIdleTask,
configIDLE_TASK_NAME,
configMINIMAL_STACK_SIZE,
configIDLE_TASK_STACK_SIZE,
( void * ) NULL,
( tskIDLE_PRIORITY | portPRIVILEGE_BIT ),
&xIdleTaskHandle ); /*lint !e961 MISRA exception, justified as it is not a redundant explicit cast to all supported compilers. */

View File

@ -172,5 +172,9 @@ uint32_t esp_get_time(void);
#define traceINCREASE_TICK_COUNT(_ticks) esp_increase_tick_cnt(_ticks)
#ifndef configIDLE_TASK_STACK_SIZE
#define configIDLE_TASK_STACK_SIZE CONFIG_FREERTOS_IDLE_TASK_STACKSIZE
#endif /* configIDLE_TASK_STACK_SIZE */
#endif /* FREERTOS_CONFIG_H */