aboutsummaryrefslogtreecommitdiff
path: root/wirish
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2012-07-31 17:25:34 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2012-07-31 17:27:43 -0400
commit6126bf59194ccbde784a308717f69607b2bc1e20 (patch)
tree78be84fbfc63ff1432faa6fc2eef1f028c319890 /wirish
parent15b8a03de97078823ed431e472aedb0988d62220 (diff)
Move bootloader details out of libmaple.h.
Finally! Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
Diffstat (limited to 'wirish')
-rw-r--r--wirish/boards.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/wirish/boards.cpp b/wirish/boards.cpp
index 5771df5..dbc308e 100644
--- a/wirish/boards.cpp
+++ b/wirish/boards.cpp
@@ -139,6 +139,18 @@ static void setup_clocks(void) {
rcc_switch_sysclk(RCC_CLKSRC_PLL);
}
+/*
+ * 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
+
static void setup_nvic(void) {
#ifdef VECT_TAB_FLASH
nvic_init(USER_ADDR_ROM, 0);