arch/xtensa/esp32: Add the RTC Slow memory as a separate heap.

This memory region can be accessed by both I & D buses, so the heap can
be used for data storage and code execution.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
This commit is contained in:
Abdelatif Guettouche
2021-06-18 17:03:39 +01:00
committed by Masayuki Ishikawa
parent 6582c19904
commit 1719e9df94
13 changed files with 400 additions and 0 deletions
@@ -81,3 +81,7 @@ _eheap = 0x40000000 - CONFIG_ESP32_TRACEMEM_RESERVE_DRAM;
/* Text heap ends at top of dram0_0_seg */
_etextheap = 0x400a0000;
/* Mark the end of the RTC heap (top of the RTC region) */
_ertcheap = 0x50001fff;
@@ -215,5 +215,10 @@ SECTIONS
{
*(.rtc.data)
*(.rtc.rodata)
/* Whatever is left from the RTC memory is used as a special heap. */
. = ALIGN (4);
_srtcheap = ABSOLUTE(.);
} > rtc_slow_seg
}
@@ -192,5 +192,10 @@ SECTIONS
{
*(.rtc.data)
*(.rtc.rodata)
/* Whatever is left from the RTC memory is used as a special heap. */
. = ALIGN (4);
_srtcheap = ABSOLUTE(.);
} > rtc_slow_seg
}
@@ -81,3 +81,7 @@ _eheap = 0x40000000 - CONFIG_ESP32_TRACEMEM_RESERVE_DRAM;
/* Text heap ends at top of dram0_0_seg */
_etextheap = 0x400a0000;
/* Mark the end of the RTC heap (top of the RTC region) */
_ertcheap = 0x50001fff;
@@ -217,5 +217,10 @@ SECTIONS
{
*(.rtc.data)
*(.rtc.rodata)
/* Whatever is left from the RTC memory is used as a special heap. */
. = ALIGN (4);
_srtcheap = ABSOLUTE(.);
} > rtc_slow_seg
}
@@ -192,5 +192,10 @@ SECTIONS
{
*(.rtc.data)
*(.rtc.rodata)
/* Whatever is left from the RTC memory is used as a special heap. */
. = ALIGN (4);
_srtcheap = ABSOLUTE(.);
} > rtc_slow_seg
}
@@ -81,3 +81,7 @@ _eheap = 0x40000000 - CONFIG_ESP32_TRACEMEM_RESERVE_DRAM;
/* Text heap ends at top of dram0_0_seg */
_etextheap = 0x400a0000;
/* Mark the end of the RTC heap (top of the RTC region) */
_ertcheap = 0x50001fff;
@@ -217,5 +217,10 @@ SECTIONS
{
*(.rtc.data)
*(.rtc.rodata)
/* Whatever is left from the RTC memory is used as a special heap. */
. = ALIGN (4);
_srtcheap = ABSOLUTE(.);
} > rtc_slow_seg
}
@@ -192,5 +192,10 @@ SECTIONS
{
*(.rtc.data)
*(.rtc.rodata)
/* Whatever is left from the RTC memory is used as a special heap. */
. = ALIGN (4);
_srtcheap = ABSOLUTE(.);
} > rtc_slow_seg
}