esp32: Add support for noinit variables in SPIRAM

Add Kconfig option SPIRAM_ALLOW_NOINIT_EXTERNAL_MEMORY
When enabled, a new linker script rule (from esp32.extram.noinit.ld)
places any variables in the .ext_ram.noinit section in SPIRAM.

This section is exempted from the startup SPIRAM memory test and is
not zero-initialized or added to the malloc pool, making it usable
for noinit variables that persist across reset.

The EXT_RAM_NOINIT_ATTR macro places variables in this section.
This commit is contained in:
Devan Lai
2020-02-07 00:00:13 +00:00
committed by Armando (Dou Yiwen)
parent 47e1b41563
commit b85011c15f
8 changed files with 186 additions and 13 deletions

View File

@@ -59,7 +59,7 @@ void esp_spiram_init_cache(void);
*
* @return true on success, false on failed memory test
*/
bool esp_spiram_test(void);
bool esp_spiram_test(const void* keepout_addr_low, const void* keepout_addr_high);
/**