diff --git a/demos/RP/RT-RP2040-PICO/c1_main.c b/demos/RP/RT-RP2040-PICO/c1_main.c
index 1ff5ec97c..2108e0cdc 100644
--- a/demos/RP/RT-RP2040-PICO/c1_main.c
+++ b/demos/RP/RT-RP2040-PICO/c1_main.c
@@ -43,6 +43,10 @@ os_instance_t ch1;
THD_WORKING_AREA(ch_c1_idle_thread_wa, PORT_IDLE_THREAD_STACK_SIZE);
#endif
+#if CH_DBG_ENABLE_STACK_CHECK == TRUE
+extern stkalign_t __c1_main_thread_stack_base__, __c1_main_thread_stack_end__;
+#endif
+
/**
* @brief Core 1 OS instance configuration.
*/
diff --git a/demos/RP/RT-RP2040-PICO/cfg/chconf.h b/demos/RP/RT-RP2040-PICO/cfg/chconf.h
index c58850adc..ab5b434f9 100644
--- a/demos/RP/RT-RP2040-PICO/cfg/chconf.h
+++ b/demos/RP/RT-RP2040-PICO/cfg/chconf.h
@@ -46,7 +46,7 @@
* direct interactions are handled by the OS.
*/
#if !defined(CH_CFG_SMP_MODE)
-#define CH_CFG_SMP_MODE FALSE
+#define CH_CFG_SMP_MODE TRUE
#endif
/** @} */
@@ -564,7 +564,7 @@
* @note The default is @p FALSE.
*/
#if !defined(CH_DBG_SYSTEM_STATE_CHECK)
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
+#define CH_DBG_SYSTEM_STATE_CHECK TRUE
#endif
/**
@@ -575,7 +575,7 @@
* @note The default is @p FALSE.
*/
#if !defined(CH_DBG_ENABLE_CHECKS)
-#define CH_DBG_ENABLE_CHECKS FALSE
+#define CH_DBG_ENABLE_CHECKS TRUE
#endif
/**
@@ -587,7 +587,7 @@
* @note The default is @p FALSE.
*/
#if !defined(CH_DBG_ENABLE_ASSERTS)
-#define CH_DBG_ENABLE_ASSERTS FALSE
+#define CH_DBG_ENABLE_ASSERTS TRUE
#endif
/**
@@ -597,7 +597,7 @@
* @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
*/
#if !defined(CH_DBG_TRACE_MASK)
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
+#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_ALL
#endif
/**
@@ -620,7 +620,7 @@
* @p panic_msg variable set to @p NULL.
*/
#if !defined(CH_DBG_ENABLE_STACK_CHECK)
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
+#define CH_DBG_ENABLE_STACK_CHECK TRUE
#endif
/**
@@ -632,7 +632,7 @@
* @note The default is @p FALSE.
*/
#if !defined(CH_DBG_FILL_THREADS)
-#define CH_DBG_FILL_THREADS FALSE
+#define CH_DBG_FILL_THREADS TRUE
#endif
/**
diff --git a/demos/RP/RT-RP2040-PICO/debug/RT-RP2040-PICO (build-ch.elf)(OpenOCD, Flash and Run).launch b/demos/RP/RT-RP2040-PICO/debug/RT-RP2040-PICO (build-ch.elf)(OpenOCD, Flash and Run).launch
index 81cf9441b..e9ddc9153 100644
--- a/demos/RP/RT-RP2040-PICO/debug/RT-RP2040-PICO (build-ch.elf)(OpenOCD, Flash and Run).launch
+++ b/demos/RP/RT-RP2040-PICO/debug/RT-RP2040-PICO (build-ch.elf)(OpenOCD, Flash and Run).launch
@@ -44,6 +44,6 @@
-
+
diff --git a/os/common/startup/ARMCMx/compilers/GCC/ld/rules_stacks_c1.ld b/os/common/startup/ARMCMx/compilers/GCC/ld/rules_stacks_c1.ld
index f4d747b03..4ffc029f4 100644
--- a/os/common/startup/ARMCMx/compilers/GCC/ld/rules_stacks_c1.ld
+++ b/os/common/startup/ARMCMx/compilers/GCC/ld/rules_stacks_c1.ld
@@ -16,12 +16,16 @@
SECTIONS
{
+ /* TODO */
+ __c1_main_stack_size__ = __main_stack_size__;
+ __c1_process_stack_size__ = __process_stack_size__;
+
/* Special section for exceptions stack.*/
.c1_mstack (NOLOAD) :
{
. = ALIGN(8);
__c1_main_stack_base__ = .;
- . += __main_stack_size__;
+ . += __c1_main_stack_size__;
. = ALIGN(8);
__c1_main_stack_end__ = .;
} > C1_MAIN_STACK_RAM
@@ -32,7 +36,7 @@ SECTIONS
. = ALIGN(8);
__c1_process_stack_base__ = .;
__c1_main_thread_stack_base__ = .;
- . += __process_stack_size__;
+ . += __c1_process_stack_size__;
. = ALIGN(8);
__c1_process_stack_end__ = .;
__c1_main_thread_stack_end__ = .;