Merge branch 'bugfix/can_mmap_after_get_enough_free_mmu_pages_v3.3' into 'release/v3.3'
flash_mmap: can mmap after get enough free MMU pages (backport v3.3) See merge request espressif/esp-idf!10587
This commit is contained in:
commit
4a037fa911
|
@ -157,6 +157,7 @@ esp_err_t IRAM_ATTR spi_flash_mmap_pages(const int *pages, size_t page_count, sp
|
|||
uint32_t region_addr; // base address of memory region
|
||||
get_mmu_region(memory,®ion_begin,®ion_size,®ion_addr);
|
||||
if (region_size < page_count) {
|
||||
spi_flash_enable_interrupts_caches_and_other_cpu();
|
||||
return ESP_ERR_NO_MEM;
|
||||
}
|
||||
// The following part searches for a range of MMU entries which can be used.
|
||||
|
|
|
@ -299,9 +299,8 @@ TEST_CASE("flash_mmap can mmap after get enough free MMU pages", "[spi_flash]")
|
|||
}
|
||||
}
|
||||
uint32_t free_pages = spi_flash_mmap_get_free_pages(SPI_FLASH_MMAP_DATA);
|
||||
if (spi_flash_get_chip_size() <= 0x200000) {
|
||||
free_pages -= 0x200000/0x10000;
|
||||
}
|
||||
uint32_t flash_pages = spi_flash_get_chip_size() / SPI_FLASH_MMU_PAGE_SIZE;
|
||||
free_pages = (free_pages > flash_pages) ? flash_pages : free_pages;
|
||||
|
||||
printf("Mapping %x (+%x)\n", 0, free_pages * SPI_FLASH_MMU_PAGE_SIZE);
|
||||
const void *ptr2;
|
||||
|
|
Loading…
Reference in a new issue