esp-idf/components/esp_system/port/soc/esp32/Kconfig.memory

59 lines
2.6 KiB
Plaintext
Raw Normal View History

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 will fail
to boot due to not recognizing the new IRAM memory area.
If this is the case please test carefully before pushing out any OTA updates.
endmenu
endmenu # Memory