summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Palatin <vpalatin@chromium.org>2012-05-21 17:41:52 -0700
committerVincent Palatin <vpalatin@chromium.org>2012-05-22 15:04:13 +0000
commit16d8f6c8bc985090fab9b416bf89d996115c3f93 (patch)
treea5863195b87a3f7db65c2ee01aa35f35f5cb8031
parent33b7a5c512104aa184a4dd34fb1c895d53dbee2e (diff)
downloadchrome-ec-16d8f6c8bc985090fab9b416bf89d996115c3f93.tar.gz
Fix regression on linking address
On platform where the flash base address is non null (e.g. stm32), we need to take it into account. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BUG=None TEST=On Daisy, type "sysjump A" and "version" into the EC console and observe that the commands succeed. Change-Id: I95596d45f6970259d19d7063f6794fae0c400ab7
-rw-r--r--common/system_common.c2
-rw-r--r--core/cortex-m/ec.lds.S2
2 files changed, 2 insertions, 2 deletions
diff --git a/common/system_common.c b/common/system_common.c
index 8e71052b23..f791745c0d 100644
--- a/common/system_common.c
+++ b/common/system_common.c
@@ -164,7 +164,7 @@ const char *system_get_reset_cause_string(void)
enum system_image_copy_t system_get_image_copy(void)
{
- uint32_t my_addr = (uint32_t)system_get_image_copy;
+ uint32_t my_addr = (uint32_t)system_get_image_copy - CONFIG_FLASH_BASE;
if (my_addr >= CONFIG_SECTION_RO_OFF &&
my_addr < (CONFIG_SECTION_RO_OFF + CONFIG_SECTION_RO_SIZE))
diff --git a/core/cortex-m/ec.lds.S b/core/cortex-m/ec.lds.S
index 30a5446891..b1e9c71127 100644
--- a/core/cortex-m/ec.lds.S
+++ b/core/cortex-m/ec.lds.S
@@ -5,7 +5,7 @@
#include "config.h"
#define FW_OFF_(section) CONFIG_FW_##section##_OFF
-#define FW_OFF(section) FW_OFF_(section)
+#define FW_OFF(section) (CONFIG_FLASH_BASE + FW_OFF_(section))
#define FW_SIZE_(section) CONFIG_FW_##section##_SIZE
#define FW_SIZE(section) FW_SIZE_(section)