From 535b196ab2b6352479f2f18b20bb9ff90d8de34f Mon Sep 17 00:00:00 2001 From: David Saada Date: Wed, 13 Jun 2018 17:22:58 +0300 Subject: [PATCH] FlashIAP: Add a ROM end macro --- drivers/FlashIAP.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/FlashIAP.h b/drivers/FlashIAP.h index 92a93996768..1699b692453 100644 --- a/drivers/FlashIAP.h +++ b/drivers/FlashIAP.h @@ -28,6 +28,20 @@ #include "platform/SingletonPtr.h" #include "platform/PlatformMutex.h" #include "platform/NonCopyable.h" +#include + +// Export ROM end address +#if defined(TOOLCHAIN_GCC_ARM) +extern uint32_t __etext; +#define FLASHIAP_ROM_END ((uint32_t) &__etext) +#elif defined(TOOLCHAIN_ARM) +extern uint32_t Load$$LR$$LR_IROM1$$Limit[]; +#define FLASHIAP_ROM_END ((uint32_t)Load$$LR$$LR_IROM1$$Limit) +#elif defined(TOOLCHAIN_IAR) +#pragma section=".rodata" +#pragma section=".text" +#define FLASHIAP_ROM_END (std::max((uint32_t) __section_end(".rodata"), (uint32_t) __section_end(".text"))) +#endif namespace mbed {