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__ = .;