aboutsummaryrefslogtreecommitdiffstats
path: root/wirish/boards.cpp
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
commitee40d089a0dd41197535f8b1d46fb7a8a0ea24ee (patch)
tree78be84fbfc63ff1432faa6fc2eef1f028c319890 /wirish/boards.cpp
parentd0fc50d44d664329f6336b4bef9c9e62a12768be (diff)
downloadlibrambutan-ee40d089a0dd41197535f8b1d46fb7a8a0ea24ee.tar.gz
librambutan-ee40d089a0dd41197535f8b1d46fb7a8a0ea24ee.zip
Move bootloader details out of libmaple.h.
Finally! Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
Diffstat (limited to 'wirish/boards.cpp')
-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);