aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmaple/stm32f1/vector_table_performance.S12
-rw-r--r--support/ld/common.inc14
-rw-r--r--support/ld/stm32/f1/performance/vector_symbols.inc4
-rw-r--r--wirish/start.S34
-rw-r--r--wirish/start_c.c35
5 files changed, 78 insertions, 21 deletions
diff --git a/libmaple/stm32f1/vector_table_performance.S b/libmaple/stm32f1/vector_table_performance.S
index 7067d95..0392a02 100644
--- a/libmaple/stm32f1/vector_table_performance.S
+++ b/libmaple/stm32f1/vector_table_performance.S
@@ -2,13 +2,13 @@
.section ".stm32.interrupt_vector"
- .globl __cs3_stm32_vector_table
- .type __cs3_stm32_vector_table, %object
+ .globl __stm32_vector_table
+ .type __stm32_vector_table, %object
-__cs3_stm32_vector_table:
+__stm32_vector_table:
/* CM3 core interrupts */
- .long __cs3_stack
- .long __cs3_reset
+ .long __msp_init
+ .long __exc_reset
.long __exc_nmi
.long __exc_hardfault
.long __exc_memmanage
@@ -87,4 +87,4 @@ __cs3_stm32_vector_table:
.long __irq_dma2_channel4_5
#endif /* STM32_HIGH_DENSITY */
- .size __cs3_stm32_vector_table, . - __cs3_stm32_vector_table
+ .size __stm32_vector_table, . - __stm32_vector_table
diff --git a/support/ld/common.inc b/support/ld/common.inc
index 0d1f4ed..926f9eb 100644
--- a/support/ld/common.inc
+++ b/support/ld/common.inc
@@ -22,21 +22,21 @@ GROUP(libgcc.a libc.a libm.a)
INCLUDE vector_symbols.inc
/* STM32 vector table. */
-EXTERN(__cs3_stm32_vector_table)
+EXTERN(__stm32_vector_table)
-/* libcs3 C start function. */
-EXTERN(__cs3_start_c)
+/* C runtime initialization function. */
+EXTERN(start_c)
/* main entry point */
EXTERN(main)
/* Initial stack pointer value. */
-EXTERN(__cs3_stack)
-PROVIDE(__cs3_stack = ORIGIN(ram) + LENGTH(ram));
+EXTERN(__msp_init)
+PROVIDE(__msp_init = ORIGIN(ram) + LENGTH(ram));
/* Reset vector and chip reset entry point */
EXTERN(_start)
-PROVIDE(__cs3_reset = _start);
+PROVIDE(__exc_reset = _start);
/* Heap boundaries, for libmaple */
EXTERN(_lm_heap_start);
@@ -162,7 +162,7 @@ SECTIONS
* to go about this. [mbolivar]
*/
_lm_heap_start = DEFINED(_lm_heap_start) ? _lm_heap_start : _end;
- _lm_heap_end = DEFINED(_lm_heap_end) ? _lm_heap_end : __cs3_stack;
+ _lm_heap_end = DEFINED(_lm_heap_end) ? _lm_heap_end : __msp_init;
. = ALIGN (8);
_edata = .;
} > REGION_DATA AT> REGION_TEXT
diff --git a/support/ld/stm32/f1/performance/vector_symbols.inc b/support/ld/stm32/f1/performance/vector_symbols.inc
index 6d7ff6e..f8519bb 100644
--- a/support/ld/stm32/f1/performance/vector_symbols.inc
+++ b/support/ld/stm32/f1/performance/vector_symbols.inc
@@ -1,5 +1,5 @@
-EXTERN(__cs3_stack)
-EXTERN(__cs3_reset)
+EXTERN(__msp_init)
+EXTERN(__exc_reset)
EXTERN(__exc_nmi)
EXTERN(__exc_hardfault)
EXTERN(__exc_memmanage)
diff --git a/wirish/start.S b/wirish/start.S
index 4d1d405..cb87d62 100644
--- a/wirish/start.S
+++ b/wirish/start.S
@@ -1,4 +1,34 @@
+/******************************************************************************
+ * The MIT License
+ *
+ * Copyright (c) 2011 LeafLabs, LLC.
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *****************************************************************************/
+
/*
+ * This file is a modified version of a file obtained from
+ * CodeSourcery Inc. (now part of Mentor Graphics Corp.), in which the
+ * following text appeared:
+ *
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
@@ -18,9 +48,9 @@
.type _start, %function
_start:
.fnstart
- ldr r1,=__cs3_stack
+ ldr r1,=__msp_init
mov sp,r1
- ldr r1,=__cs3_start_c
+ ldr r1,=start_c
bx r1
.pool
.cantunwind
diff --git a/wirish/start_c.c b/wirish/start_c.c
index cb96fc5..a80334d 100644
--- a/wirish/start_c.c
+++ b/wirish/start_c.c
@@ -1,4 +1,33 @@
-/* CS3 start_c routine.
+/******************************************************************************
+ * The MIT License
+ *
+ * Copyright (c) 2011 LeafLabs, LLC.
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy,
+ * modify, merge, publish, distribute, sublicense, and/or sell copies
+ * of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *****************************************************************************/
+
+/*
+ * This file is a modified version of a file obtained from
+ * CodeSourcery Inc. (now part of Mentor Graphics Corp.), in which the
+ * following text appeared:
*
* Copyright (c) 2006, 2007 CodeSourcery Inc
*
@@ -30,9 +59,7 @@ struct rom_img_cfg {
extern char _lm_rom_img_cfgp;
-void __attribute__ ((noreturn))
-__cs3_start_c (void)
-{
+void __attribute__((noreturn)) start_c(void) {
struct rom_img_cfg *img_cfg = (struct rom_img_cfg*)&_lm_rom_img_cfgp;
long long *src;
long long *dst;