Skip to content

Commit b1accd3

Browse files
committed
Fix stack size on EFM32 RTOS tests to avoid heap overflow
1 parent cc34a7b commit b1accd3

File tree

7 files changed

+46
-4
lines changed

7 files changed

+46
-4
lines changed

libraries/tests/rtos/mbed/basic/main.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,19 @@
88
* and for ARM_MICRO 512. Because of reduce RAM size some targets need a reduced stacksize.
99
*/
1010
#if (defined(TARGET_STM32L053R8) || defined(TARGET_STM32L053C8)) && defined(TOOLCHAIN_GCC)
11-
#define STACK_SIZE DEFAULT_STACK_SIZE/2
11+
#define STACK_SIZE DEFAULT_STACK_SIZE/2
1212
#elif (defined(TARGET_STM32F030R8) || defined(TARGET_STM32F070RB)) && defined(TOOLCHAIN_GCC)
13-
#define STACK_SIZE DEFAULT_STACK_SIZE/2
13+
#define STACK_SIZE DEFAULT_STACK_SIZE/2
1414
#elif (defined(TARGET_STM32F030R8)) && defined(TOOLCHAIN_IAR)
15-
#define STACK_SIZE DEFAULT_STACK_SIZE/2
15+
#define STACK_SIZE DEFAULT_STACK_SIZE/2
16+
#elif (defined(TARGET_EFM32ZG_STK3200) || defined(TARGET_EFM32HG_STK3400)) && !defined(TOOLCHAIN_ARM_MICRO)
17+
#define STACK_SIZE 512
18+
#elif (defined(TARGET_EFM32LG_STK3600) || defined(TARGET_EFM32WG_STK3800) || defined(TARGET_EFM32PG_STK3401)) && !defined(TOOLCHAIN_ARM_MICRO)
19+
#define STACK_SIZE 768
20+
#elif (defined(TARGET_EFM32GG_STK3700)) && !defined(TOOLCHAIN_ARM_MICRO)
21+
#define STACK_SIZE 1536
1622
#else
17-
#define STACK_SIZE DEFAULT_STACK_SIZE
23+
#define STACK_SIZE DEFAULT_STACK_SIZE
1824
#endif
1925

2026
void print_char(char c = '*') {

libraries/tests/rtos/mbed/isr/main.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@
1616
#define STACK_SIZE DEFAULT_STACK_SIZE/4
1717
#elif (defined(TARGET_STM32F030R8)) && defined(TOOLCHAIN_IAR)
1818
#define STACK_SIZE DEFAULT_STACK_SIZE/2
19+
#elif (defined(TARGET_EFM32ZG_STK3200) || defined(TARGET_EFM32HG_STK3400)) && !defined(TOOLCHAIN_ARM_MICRO)
20+
#define STACK_SIZE 512
21+
#elif (defined(TARGET_EFM32LG_STK3600) || defined(TARGET_EFM32WG_STK3800) || defined(TARGET_EFM32PG_STK3401)) && !defined(TOOLCHAIN_ARM_MICRO)
22+
#define STACK_SIZE 768
23+
#elif (defined(TARGET_EFM32GG_STK3700)) && !defined(TOOLCHAIN_ARM_MICRO)
24+
#define STACK_SIZE 1536
1925
#else
2026
#define STACK_SIZE DEFAULT_STACK_SIZE
2127
#endif

libraries/tests/rtos/mbed/mail/main.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ typedef struct {
2424
#define STACK_SIZE DEFAULT_STACK_SIZE/2
2525
#elif (defined(TARGET_STM32F030R8)) && defined(TOOLCHAIN_IAR)
2626
#define STACK_SIZE DEFAULT_STACK_SIZE/2
27+
#elif (defined(TARGET_EFM32ZG_STK3200) || defined(TARGET_EFM32HG_STK3400)) && !defined(TOOLCHAIN_ARM_MICRO)
28+
#define STACK_SIZE 512
29+
#elif (defined(TARGET_EFM32LG_STK3600) || defined(TARGET_EFM32WG_STK3800) || defined(TARGET_EFM32PG_STK3401)) && !defined(TOOLCHAIN_ARM_MICRO)
30+
#define STACK_SIZE 768
31+
#elif (defined(TARGET_EFM32GG_STK3700)) && !defined(TOOLCHAIN_ARM_MICRO)
32+
#define STACK_SIZE 1536
2733
#else
2834
#define STACK_SIZE DEFAULT_STACK_SIZE
2935
#endif

libraries/tests/rtos/mbed/mutex/main.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@
2626
#define STACK_SIZE DEFAULT_STACK_SIZE/2
2727
#elif defined(TARGET_STM32F303K8) && defined(TOOLCHAIN_IAR)
2828
#define STACK_SIZE DEFAULT_STACK_SIZE/2
29+
#elif (defined(TARGET_EFM32ZG_STK3200) || defined(TARGET_EFM32HG_STK3400)) && !defined(TOOLCHAIN_ARM_MICRO)
30+
#define STACK_SIZE 512
31+
#elif (defined(TARGET_EFM32LG_STK3600) || defined(TARGET_EFM32WG_STK3800) || defined(TARGET_EFM32PG_STK3401)) && !defined(TOOLCHAIN_ARM_MICRO)
32+
#define STACK_SIZE 768
33+
#elif (defined(TARGET_EFM32GG_STK3700)) && !defined(TOOLCHAIN_ARM_MICRO)
34+
#define STACK_SIZE 1536
2935
#else
3036
#define STACK_SIZE DEFAULT_STACK_SIZE
3137
#endif

libraries/tests/rtos/mbed/queue/main.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ typedef struct {
2424
#define STACK_SIZE DEFAULT_STACK_SIZE/4
2525
#elif (defined(TARGET_STM32F030R8)) && defined(TOOLCHAIN_IAR)
2626
#define STACK_SIZE DEFAULT_STACK_SIZE/2
27+
#elif (defined(TARGET_EFM32ZG_STK3200) || defined(TARGET_EFM32HG_STK3400)) && !defined(TOOLCHAIN_ARM_MICRO)
28+
#define STACK_SIZE 512
29+
#elif (defined(TARGET_EFM32LG_STK3600) || defined(TARGET_EFM32WG_STK3800) || defined(TARGET_EFM32PG_STK3401)) && !defined(TOOLCHAIN_ARM_MICRO)
30+
#define STACK_SIZE 768
31+
#elif (defined(TARGET_EFM32GG_STK3700)) && !defined(TOOLCHAIN_ARM_MICRO)
32+
#define STACK_SIZE 1536
2733
#else
2834
#define STACK_SIZE DEFAULT_STACK_SIZE
2935
#endif

libraries/tests/rtos/mbed/semaphore/main.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@
2929
#define STACK_SIZE DEFAULT_STACK_SIZE/2
3030
#elif defined(TARGET_STM32F303K8) && defined(TOOLCHAIN_IAR)
3131
#define STACK_SIZE DEFAULT_STACK_SIZE/4
32+
#elif (defined(TARGET_EFM32ZG_STK3200) || defined(TARGET_EFM32HG_STK3400)) && !defined(TOOLCHAIN_ARM_MICRO)
33+
#define STACK_SIZE 512
34+
#elif (defined(TARGET_EFM32LG_STK3600) || defined(TARGET_EFM32WG_STK3800) || defined(TARGET_EFM32PG_STK3401)) && !defined(TOOLCHAIN_ARM_MICRO)
35+
#define STACK_SIZE 768
36+
#elif (defined(TARGET_EFM32GG_STK3700)) && !defined(TOOLCHAIN_ARM_MICRO)
37+
#define STACK_SIZE 1536
3238
#else
3339
#define STACK_SIZE DEFAULT_STACK_SIZE
3440
#endif

libraries/tests/rtos/mbed/signals/main.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@
1515
#define STACK_SIZE DEFAULT_STACK_SIZE/4
1616
#elif (defined(TARGET_STM32F030R8)) && defined(TOOLCHAIN_IAR)
1717
#define STACK_SIZE DEFAULT_STACK_SIZE/2
18+
#elif (defined(TARGET_EFM32ZG_STK3200) || defined(TARGET_EFM32HG_STK3400)) && !defined(TOOLCHAIN_ARM_MICRO)
19+
#define STACK_SIZE 512
20+
#elif (defined(TARGET_EFM32LG_STK3600) || defined(TARGET_EFM32WG_STK3800) || defined(TARGET_EFM32PG_STK3401)) && !defined(TOOLCHAIN_ARM_MICRO)
21+
#define STACK_SIZE 768
22+
#elif (defined(TARGET_EFM32GG_STK3700)) && !defined(TOOLCHAIN_ARM_MICRO)
23+
#define STACK_SIZE 1536
1824
#else
1925
#define STACK_SIZE DEFAULT_STACK_SIZE
2026
#endif

0 commit comments

Comments
 (0)