esp32: Change 192KB runtime static limit workaround to a 176KB link time workaround

Turns out some app memory around 0x3ffdc000 is also used by APP CPU.

This is a workaround until code to remove the 176KB limit is committed.
This commit is contained in:
Angus Gratton 2017-12-22 18:36:12 +11:00 committed by Angus Gratton
parent 012f5c608d
commit 9065498a5a
2 changed files with 5 additions and 8 deletions

View File

@ -136,13 +136,6 @@ void IRAM_ATTR call_start_cpu0()
esp_panic_wdt_stop();
}
// Temporary workaround for an ugly crash, until we allow > 192KB of static DRAM
if ((intptr_t)&_bss_end > 0x3FFE0000) {
// Can't use assert() or logging here because there's no .bss
ets_printf("ERROR: Static .bss section extends past 0x3FFE0000. IDF cannot boot.\n");
abort();
}
//Clear BSS. Please do not attempt to do any complex stuff (like early logging) before this.
memset(&_bss_start, 0, (&_bss_end - &_bss_start) * sizeof(_bss_start));

View File

@ -45,9 +45,13 @@ MEMORY
Enabling Bluetooth & Trace Memory features in menuconfig will decrease
the amount of RAM available.
Note: Length of this section *should* be 0x50000, and this extra DRAM is available
in heap at runtime. However due to static ROM memory usage at this 176KB mark, the
additional static memory temporarily cannot be used.
*/
dram0_0_seg (RW) : org = 0x3FFB0000 + CONFIG_BT_RESERVE_DRAM,
len = 0x50000 - CONFIG_TRACEMEM_RESERVE_DRAM - CONFIG_BT_RESERVE_DRAM
len = 0x2c200 - CONFIG_BT_RESERVE_DRAM
/* Flash mapped constant data */
drom0_0_seg (R) : org = 0x3F400018, len = 0x400000-0x18