fix(ulp): correct target LP memory reservation limits

The configured maximum should match each target's fixed LP/RTC
reservations so menuconfig does not advertise values that the linker
cannot support.

Keep the linker failure explicit about CONFIG_ULP_COPROC_RESERVE_MEM
because application RTC sections still share the remaining LP/RTC RAM.
This commit is contained in:
Marius Vikhammer
2026-05-06 17:37:35 +08:00
parent 09f3b007f9
commit 0ab385ab88
2 changed files with 22 additions and 2 deletions
+12 -2
View File
@@ -2,6 +2,16 @@
#include "ld.common"
#if CONFIG_SOC_RTC_MEM_SUPPORTED
#if CONFIG_ULP_COPROC_ENABLED
#define RTC_SLOW_SEGMENT_FIT_ERROR \
"RTC_SLOW segment data does not fit. CONFIG_ULP_COPROC_RESERVE_MEM may be too large for the remaining LP/RTC RAM; lower it or shrink application .rtc.* usage."
#define RTC_FAST_SEGMENT_FIT_ERROR \
"RTC_FAST segment data does not fit. CONFIG_ULP_COPROC_RESERVE_MEM may be too large for the remaining LP/RTC RAM; lower it or shrink application .rtc.* usage."
#else
#define RTC_SLOW_SEGMENT_FIT_ERROR "RTC_SLOW segment data does not fit."
#define RTC_FAST_SEGMENT_FIT_ERROR "RTC_FAST segment data does not fit."
#endif
/**
* RTC fast memory holds RTC wake stub code,
* including from any source file named rtc_wake_stub*.c
@@ -155,9 +165,9 @@
? (_rtc_force_fast_end - _rtc_fast_start)
: (_rtc_noinit_end - _rtc_fast_start);
ASSERT((_rtc_slow_length <= LENGTH(rtc_slow_seg)),
"RTC_SLOW segment data does not fit.")
RTC_SLOW_SEGMENT_FIT_ERROR)
ASSERT((_rtc_fast_length <= LENGTH(rtc_data_seg)),
"RTC_FAST segment data does not fit.")
RTC_FAST_SEGMENT_FIT_ERROR)
#if CONFIG_P4_REV3_MSPI_CRASH_AFTER_POWER_UP_WORKAROUND
.rtc.p4_rev3_mspi_workaround :