mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
5cbd311ecf
Using parts of SRAM1 for IRAM allows apps with more statically allocated IRAM Closes https://github.com/espressif/esp-idf/issues/9824
60 lines
2.6 KiB
Plaintext
60 lines
2.6 KiB
Plaintext
menu "Memory"
|
|
|
|
config ESP32_RTCDATA_IN_FAST_MEM
|
|
bool "Place RTC_DATA_ATTR and RTC_RODATA_ATTR variables into RTC fast memory segment"
|
|
default n
|
|
depends on FREERTOS_UNICORE
|
|
help
|
|
This option allows to place .rtc_data and .rtc_rodata sections into
|
|
RTC fast memory segment to free the slow memory region for ULP programs.
|
|
This option depends on the CONFIG_FREERTOS_UNICORE option because RTC fast memory
|
|
can be accessed only by PRO_CPU core.
|
|
|
|
config ESP32_USE_FIXED_STATIC_RAM_SIZE
|
|
bool "Use fixed static RAM size"
|
|
default n
|
|
help
|
|
If this option is disabled, the DRAM part of the heap starts right after the .bss section,
|
|
within the dram0_0 region. As a result, adding or removing some static variables
|
|
will change the available heap size.
|
|
|
|
If this option is enabled, the DRAM part of the heap starts right after the dram0_0 region,
|
|
where its length is set with ESP32_FIXED_STATIC_RAM_SIZE
|
|
|
|
config ESP32_FIXED_STATIC_RAM_SIZE
|
|
hex "Fixed Static RAM size"
|
|
default 0x1E000
|
|
range 0 0x2c200
|
|
depends on ESP32_USE_FIXED_STATIC_RAM_SIZE
|
|
help
|
|
RAM size dedicated for static variables (.data & .bss sections).
|
|
Please note that the actual length will be reduced by BTDM_RESERVE_DRAM if Bluetooth
|
|
controller is enabled.
|
|
|
|
config ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY
|
|
bool "Enable IRAM as 8 bit accessible memory"
|
|
depends on FREERTOS_UNICORE
|
|
help
|
|
If enabled, application can use IRAM as byte accessible region for storing data
|
|
(Note: IRAM region cannot be used as task stack)
|
|
|
|
This is possible due to handling of exceptions `LoadStoreError (3)` and `LoadStoreAlignmentError (9)`
|
|
Each unaligned read/write access will incur a penalty of maximum of 167 CPU cycles.
|
|
|
|
menu "Non-backward compatible options"
|
|
|
|
config ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM
|
|
bool "Reserve parts of SRAM1 for app IRAM (WARNING, read help before enabling)"
|
|
depends on !ESP32_TRAX
|
|
help
|
|
Reserve parts of SRAM1 for app IRAM which was previously reserved for bootloader DRAM.
|
|
If booting an app on an older bootloader from before this option was introduced, the app may fail
|
|
to boot due to overlapping memory areas. If this is the case please test carefully before pushing out
|
|
any OTA updates.
|
|
|
|
The bootloader DRAM memory should be sufficient for any non-modified IDF bootloader.
|
|
|
|
endmenu
|
|
|
|
endmenu # Memory
|