From f11dc6be4f55ff8450416c3ce5a1018398376b8a Mon Sep 17 00:00:00 2001 From: mlundinse Date: Sat, 4 May 2013 09:42:25 +0200 Subject: Use linker symbol __text_start__ to setup base of nvic vector table. Signed-off-by: Magnus Lundin Signed-off-by: Marti Bolivar --- wirish/boards.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/wirish/boards.cpp b/wirish/boards.cpp index e053245..a693fa6 100644 --- a/wirish/boards.cpp +++ b/wirish/boards.cpp @@ -143,15 +143,11 @@ static void setup_clocks(void) { * These addresses are where usercode starts when a bootloader is * present. If no bootloader is present, the user NVIC usually starts * at the Flash base address, 0x08000000. - * - * FIXME Let the build specify the vector table address numerically to - * avoid having these magic values -- some people have been fixing up - * the bootloader so it uses less space. */ #define USER_ADDR_ROM 0x08005000 #define USER_ADDR_RAM 0x20000C00 extern char __text_start__; - + static void setup_nvic(void) { #ifdef VECT_TAB_FLASH nvic_init(USER_ADDR_ROM, 0); @@ -163,7 +159,8 @@ static void setup_nvic(void) { // A numerically supplied value nvic_init((uint32)VECT_TAB_ADDR, 0); #else - // Use the __text_start__ value from the linker scipt, this should be the start of the vector table + // Use the __text_start__ value from the linker script; this + // should be the start of the vector table. nvic_init((uint32)&__text_start__, 0); #endif } -- cgit v1.2.3