From eecdd3834ec371b6ed64cb08fe2c7b4c28745a63 Mon Sep 17 00:00:00 2001 From: ccli8 Date: Mon, 30 Apr 2018 09:39:04 +0800 Subject: [PATCH 1/3] Enlarge timer thread stack size for Cortex-M23/M33 --- rtos/TARGET_CORTEX/mbed_rtx_conf.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/rtos/TARGET_CORTEX/mbed_rtx_conf.h b/rtos/TARGET_CORTEX/mbed_rtx_conf.h index 91d024a260d..728c8124618 100644 --- a/rtos/TARGET_CORTEX/mbed_rtx_conf.h +++ b/rtos/TARGET_CORTEX/mbed_rtx_conf.h @@ -34,7 +34,15 @@ #define OS_STACK_SIZE MBED_CONF_APP_THREAD_STACK_SIZE -#define OS_TIMER_THREAD_STACK_SIZE 768 +#ifndef OS_TIMER_THREAD_STACK_SIZE + #if (defined(__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)) ||\ + (defined(__DOMAIN_NS) && (__DOMAIN_NS == 1U)) + #define OS_TIMER_THREAD_STACK_SIZE 1280 + #else + #define OS_TIMER_THREAD_STACK_SIZE 768 + #endif +#endif + #ifndef OS_IDLE_THREAD_STACK_SIZE #define OS_IDLE_THREAD_STACK_SIZE 512 #endif From 285bb87fe9ebd7d32840f6ad6de0574640de6d99 Mon Sep 17 00:00:00 2001 From: ccli8 Date: Wed, 2 May 2018 17:53:03 +0800 Subject: [PATCH 2/3] Change back default size of timer thread stack Configuration for changing this size is kept. --- rtos/TARGET_CORTEX/mbed_rtx_conf.h | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/rtos/TARGET_CORTEX/mbed_rtx_conf.h b/rtos/TARGET_CORTEX/mbed_rtx_conf.h index 728c8124618..6d1d769d2f7 100644 --- a/rtos/TARGET_CORTEX/mbed_rtx_conf.h +++ b/rtos/TARGET_CORTEX/mbed_rtx_conf.h @@ -35,12 +35,7 @@ #define OS_STACK_SIZE MBED_CONF_APP_THREAD_STACK_SIZE #ifndef OS_TIMER_THREAD_STACK_SIZE - #if (defined(__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)) ||\ - (defined(__DOMAIN_NS) && (__DOMAIN_NS == 1U)) - #define OS_TIMER_THREAD_STACK_SIZE 1280 - #else - #define OS_TIMER_THREAD_STACK_SIZE 768 - #endif +#define OS_TIMER_THREAD_STACK_SIZE 768 #endif #ifndef OS_IDLE_THREAD_STACK_SIZE From 7b94d4dc323ec54975c4338aa0b37968908d5b16 Mon Sep 17 00:00:00 2001 From: ccli8 Date: Thu, 3 May 2018 09:43:33 +0800 Subject: [PATCH 3/3] Add MBED_CONF_APP_TIMER/IDLE_THREAD_STACK_SIZE to configure timer/idle thread stack size by application --- rtos/TARGET_CORTEX/mbed_rtx_conf.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/rtos/TARGET_CORTEX/mbed_rtx_conf.h b/rtos/TARGET_CORTEX/mbed_rtx_conf.h index 6d1d769d2f7..41a5aecd173 100644 --- a/rtos/TARGET_CORTEX/mbed_rtx_conf.h +++ b/rtos/TARGET_CORTEX/mbed_rtx_conf.h @@ -34,14 +34,20 @@ #define OS_STACK_SIZE MBED_CONF_APP_THREAD_STACK_SIZE -#ifndef OS_TIMER_THREAD_STACK_SIZE -#define OS_TIMER_THREAD_STACK_SIZE 768 +/** The timer thread's stack size can be configured by the application, if not explicitly specified, it'll default to 768 */ +#ifndef MBED_CONF_APP_TIMER_THREAD_STACK_SIZE +#define MBED_CONF_APP_TIMER_THREAD_STACK_SIZE 768 #endif -#ifndef OS_IDLE_THREAD_STACK_SIZE -#define OS_IDLE_THREAD_STACK_SIZE 512 +#define OS_TIMER_THREAD_STACK_SIZE MBED_CONF_APP_TIMER_THREAD_STACK_SIZE + +/** The idle thread's stack size can be configured by the application, if not explicitly specified, it'll default to 512 */ +#ifndef MBED_CONF_APP_IDLE_THREAD_STACK_SIZE +#define MBED_CONF_APP_IDLE_THREAD_STACK_SIZE 512 #endif +#define OS_IDLE_THREAD_STACK_SIZE MBED_CONF_APP_IDLE_THREAD_STACK_SIZE + #define OS_DYNAMIC_MEM_SIZE 0 #if defined(OS_TICK_FREQ) && (OS_TICK_FREQ != 1000)