mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
6d0d2366f7
The commit fixes the case: If variables in RTC RAM have been moved around by the linker, they will be filled with garbage data. Any reset other than OTA would work fine because the variables would still be initialized from the initial bootup. So now system time will be valid even after OTA. Closes https://github.com/espressif/esp-idf/issues/9448
52 lines
1.7 KiB
Plaintext
52 lines
1.7 KiB
Plaintext
/*
|
|
* SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include "sdkconfig.h"
|
|
|
|
/* CPU instruction prefetch padding size for flash mmap scenario */
|
|
_esp_flash_mmap_prefetch_pad_size = 16;
|
|
|
|
/* CPU instruction prefetch padding size for memory protection scenario */
|
|
#ifdef CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE
|
|
_esp_memprot_prefetch_pad_size = CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE;
|
|
#else
|
|
_esp_memprot_prefetch_pad_size = 0;
|
|
#endif
|
|
|
|
/* Memory alignment size for PMS */
|
|
#ifdef CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE
|
|
_esp_memprot_align_size = CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE;
|
|
#else
|
|
_esp_memprot_align_size = 0;
|
|
#endif
|
|
|
|
#if CONFIG_APP_BUILD_TYPE_RAM
|
|
_esp_mmu_block_size = 0;
|
|
#else
|
|
_esp_mmu_block_size = (CONFIG_MMU_PAGE_SIZE);
|
|
#endif
|
|
|
|
#if CONFIG_SOC_RTC_MEM_SUPPORTED
|
|
#if CONFIG_BOOTLOADER_RESERVE_RTC_MEM
|
|
#ifdef CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC
|
|
#define ESP_BOOTLOADER_RESERVE_RTC (CONFIG_BOOTLOADER_RESERVE_RTC_SIZE + CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC_SIZE)
|
|
#else
|
|
#define ESP_BOOTLOADER_RESERVE_RTC (CONFIG_BOOTLOADER_RESERVE_RTC_SIZE)
|
|
#endif // not CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC
|
|
#else
|
|
#define ESP_BOOTLOADER_RESERVE_RTC 0
|
|
#endif // not CONFIG_BOOTLOADER_RESERVE_RTC_MEM
|
|
|
|
/* rtc timer data (s_rtc_timer_retain_mem, see esp_clk.c files). For rtc_timer_data_in_rtc_mem section. */
|
|
#define RTC_TIMER_RESERVE_RTC (24)
|
|
|
|
#if CONFIG_IDF_TARGET_ESP32
|
|
#define RESERVE_RTC_MEM (RTC_TIMER_RESERVE_RTC)
|
|
#else
|
|
#define RESERVE_RTC_MEM (ESP_BOOTLOADER_RESERVE_RTC + RTC_TIMER_RESERVE_RTC)
|
|
#endif
|
|
#endif // SOC_RTC_MEM_SUPPORTED
|