mirror of
https://github.com/espressif/esp-idf
synced 2025-03-09 09:09:10 -04:00
fix(esp_psram): Fix incorrect calculation of used XIP PSRAM pages
The functions mmu_config_psram_text_segment() and mmu_config_psram_rodata_segment() used to return the value of next start page in *out_page instead of the number of pages used as mentioned in the documentation
This commit is contained in:
parent
1633c1a2bb
commit
a1e6387c16
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@ -111,8 +111,7 @@ esp_err_t mmu_config_psram_text_segment(uint32_t start_page, uint32_t psram_size
|
||||
|
||||
ESP_EARLY_LOGV(TAG, "after mapping text, starting from paddr=0x%08"PRIx32" and vaddr=0x%08"PRIx32", 0x%"PRIx32" bytes are mapped", MMU_PAGE_TO_BYTES(start_page), irom_load_addr_aligned, mapped_size);
|
||||
|
||||
start_page += BYTES_TO_MMU_PAGE(irom_size);
|
||||
*out_page = start_page;
|
||||
*out_page = BYTES_TO_MMU_PAGE(irom_size);
|
||||
|
||||
ESP_EARLY_LOGI(TAG, ".text xip on psram");
|
||||
return ESP_OK;
|
||||
@ -147,8 +146,7 @@ esp_err_t mmu_config_psram_rodata_segment(uint32_t start_page, uint32_t psram_si
|
||||
|
||||
ESP_EARLY_LOGV(TAG, "after mapping rodata, starting from paddr=0x%08"PRIx32" and vaddr=0x%08"PRIx32", 0x%"PRIx32" bytes are mapped", MMU_PAGE_TO_BYTES(start_page), drom_load_addr_aligned, mapped_size);
|
||||
|
||||
start_page += BYTES_TO_MMU_PAGE(drom_size);
|
||||
*out_page = start_page;
|
||||
*out_page = BYTES_TO_MMU_PAGE(drom_size);
|
||||
|
||||
ESP_EARLY_LOGI(TAG, ".rodata xip on psram");
|
||||
return ESP_OK;
|
||||
|
Loading…
x
Reference in New Issue
Block a user