From 9bdde87b635dfec63e1814ec53cb20dd7bce3e29 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Fri, 13 Jan 2023 18:07:33 +0100 Subject: [PATCH] Fix reading memory when they are mapped. Signed-off-by: Pol Henarejos --- src/fs/low_flash.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/fs/low_flash.c b/src/fs/low_flash.c index 987ec0e..85eecd0 100644 --- a/src/fs/low_flash.c +++ b/src/fs/low_flash.c @@ -231,6 +231,9 @@ int flash_program_uintptr (uintptr_t addr, uintptr_t data) { return flash_program_block(addr, (const uint8_t *)&data, sizeof(uintptr_t)); } +extern const uintptr_t start_data_pool; +extern const uintptr_t end_rom_pool; + uint8_t *flash_read(uintptr_t addr) { uintptr_t addr_alg = addr & -FLASH_SECTOR_SIZE; #ifndef ENABLE_EMULATION @@ -251,7 +254,8 @@ uint8_t *flash_read(uintptr_t addr) { #ifndef ENABLE_EMULATION mutex_exit(&mtx_flash); #else - v += (uintptr_t)map; + if (addr >= start_data_pool && addr <= end_rom_pool) + v += (uintptr_t)map; #endif return v; }