Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
diff --git a/components/esp32/ld/esp32.common.ld b/components/esp32/ld/esp32.common.ld
index 32fc089..884717c 100644
--- a/components/esp32/ld/esp32.common.ld
+++ b/components/esp32/ld/esp32.common.ld
@@ -11,12 +11,15 @@ SECTIONS
. = ALIGN(4);
*(.rtc.literal .rtc.text)
*rtc_wake_stub*.o(.literal .text .literal.* .text.*)
+ _rtc_text_end = ABSOLUTE(.);
} >rtc_iram_seg
+
+ .rtc.dummy :
+ {
+ . = SIZEOF(.rtc.text);
+ _rtc_dummy_end = ABSOLUTE(.);
+ } >rtc_data_seg
- /* RTC slow memory holds RTC wake stub
- data/rodata, including from any source file
- named rtc_wake_stub*.c
- */
.rtc.data :
{
_rtc_data_start = ABSOLUTE(.);
@@ -24,7 +27,7 @@ SECTIONS
*(.rtc.rodata)
*rtc_wake_stub*.o(.data .rodata .data.* .rodata.* .bss .bss.*)
_rtc_data_end = ABSOLUTE(.);
- } > rtc_slow_seg
+ } > rtc_data_seg
/* RTC bss, from any source file named rtc_wake_stub*.c */
.rtc.bss (NOLOAD) :
@@ -33,7 +36,7 @@ SECTIONS
*rtc_wake_stub*.o(.bss .bss.*)
*rtc_wake_stub*.o(COMMON)
_rtc_bss_end = ABSOLUTE(.);
- } > rtc_slow_seg
+ } > rtc_data_seg
/* Send .iram0 code to iram */
.iram0.vectors :
diff --git a/components/esp32/ld/esp32.ld b/components/esp32/ld/esp32.ld
index ee41f74..60c26f0 100644
--- a/components/esp32/ld/esp32.ld
+++ b/components/esp32/ld/esp32.ld
@@ -61,6 +61,9 @@ MEMORY
/* RTC fast memory (executable). Persists over deep sleep.
*/
rtc_iram_seg(RWX) : org = 0x400C0000, len = 0x2000
+
+ /* RTC fast memory (same block as above), viewed from data bus */
+ rtc_data_seg(RW) : org = 0x3ff80000, len = 0x2000
/* RTC slow memory (data accessible). Persists over deep sleep.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment