/* * 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 */ #define _esp_flash_mmap_prefetch_pad_size 16 /* CPU instruction prefetch padding size for memory protection scenario */ #ifdef CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE #define _esp_memprot_prefetch_pad_size CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE #else #define _esp_memprot_prefetch_pad_size 0 #endif /* Memory alignment size for PMS */ #ifdef CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE #define _esp_memprot_align_size CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE #else #define _esp_memprot_align_size 0 #endif #if CONFIG_APP_BUILD_TYPE_RAM #define _esp_mmu_block_size 0 #else #define _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 #define QUOTED_STRING(STRING) #STRING #define ASSERT_SECTIONS_GAP(PREV_SECTION, NEXT_SECTION) \ ASSERT((ADDR(NEXT_SECTION) == ADDR(PREV_SECTION) + SIZEOF(PREV_SECTION)), \ QUOTED_STRING(The gap between PREV_SECTION and NEXT_SECTION must not exist to produce the final bin image.))