aboutsummaryrefslogtreecommitdiffstats
path: root/os/rt/ports
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2015-03-11 14:23:49 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2015-03-11 14:23:49 +0000
commit91c66742882c9eb33f7bef2775935b1c9190c78b (patch)
tree280ea2dd6d03479c0faaf7d7a1ad0af2355444df /os/rt/ports
parent72590590cb302efc52788d11df5569db55e0be73 (diff)
downloadChibiOS-91c66742882c9eb33f7bef2775935b1c9190c78b.tar.gz
ChibiOS-91c66742882c9eb33f7bef2775935b1c9190c78b.tar.bz2
ChibiOS-91c66742882c9eb33f7bef2775935b1c9190c78b.zip
Enhanced startups for ARMCMx.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7757 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/rt/ports')
-rw-r--r--os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s10
-rw-r--r--os/rt/ports/ARMCMx/compilers/GCC/mk/port_generic_cm0.mk3
-rw-r--r--os/rt/ports/ARMCMx/compilers/GCC/mk/port_generic_cm4.mk3
-rw-r--r--os/rt/ports/ARMCMx/compilers/GCC/mk/port_k20x.mk3
-rw-r--r--os/rt/ports/ARMCMx/compilers/GCC/mk/port_kl2x.mk3
-rw-r--r--os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f0xx.mk3
-rw-r--r--os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f1xx.mk3
-rw-r--r--os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f37x.mk3
-rw-r--r--os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f3xx.mk3
-rw-r--r--os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f4xx.mk3
-rw-r--r--os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32l1xx.mk3
11 files changed, 26 insertions, 14 deletions
diff --git a/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s b/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s
index 9fe0606d7..b8f6446ba 100644
--- a/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s
+++ b/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s
@@ -62,10 +62,12 @@ _port_switch:
mov r6, r10
mov r7, r11
push {r4, r5, r6, r7}
- mov r3, sp
- str r3, [r1, #CONTEXT_OFFSET]
- ldr r3, [r0, #CONTEXT_OFFSET]
- mov sp, r3
+
+ mov r3, sp
+ str r3, [r1, #CONTEXT_OFFSET]
+ ldr r3, [r0, #CONTEXT_OFFSET]
+ mov sp, r3
+
pop {r4, r5, r6, r7}
mov r8, r4
mov r9, r5
diff --git a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_generic_cm0.mk b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_generic_cm0.mk
index 2026ecf3a..904af6a08 100644
--- a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_generic_cm0.mk
+++ b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_generic_cm0.mk
@@ -4,7 +4,8 @@ PORTSRC = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore_v6m.c
-PORTASM = $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s
+PORTASM = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s \
+ $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s
PORTINC = $(CHIBIOS)/os/ext/CMSIS/include \
$(CHIBIOS)/os/rt/ports/ARMCMx \
diff --git a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_generic_cm4.mk b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_generic_cm4.mk
index 8275a0429..fae6a9086 100644
--- a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_generic_cm4.mk
+++ b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_generic_cm4.mk
@@ -4,7 +4,8 @@ PORTSRC = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore_v7m.c
-PORTASM = $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
+PORTASM = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s \
+ $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
PORTINC = $(CHIBIOS)/os/ext/CMSIS/include \
$(CHIBIOS)/os/rt/ports/ARMCMx \
diff --git a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_k20x.mk b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_k20x.mk
index c9d5e1010..abce7f6ca 100644
--- a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_k20x.mk
+++ b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_k20x.mk
@@ -4,7 +4,8 @@ PORTSRC = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore_v7m.c
-PORTASM = $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
+PORTASM = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s \
+ $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
PORTINC = $(CHIBIOS)/os/ext/CMSIS/include \
$(CHIBIOS)/os/ext/CMSIS/KINETIS \
diff --git a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_kl2x.mk b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_kl2x.mk
index 8e9b1d912..177f92cd3 100644
--- a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_kl2x.mk
+++ b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_kl2x.mk
@@ -4,7 +4,8 @@ PORTSRC = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore_v6m.c
-PORTASM = $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s
+PORTASM = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s \
+ $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s
PORTINC = $(CHIBIOS)/os/ext/CMSIS/include \
$(CHIBIOS)/os/ext/CMSIS/KINETIS \
diff --git a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f0xx.mk b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f0xx.mk
index 934dc6a17..a9b833e73 100644
--- a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f0xx.mk
+++ b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f0xx.mk
@@ -4,7 +4,8 @@ PORTSRC = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore_v6m.c
-PORTASM = $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s
+PORTASM = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s \
+ $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.s
PORTINC = $(CHIBIOS)/os/ext/CMSIS/include \
$(CHIBIOS)/os/ext/CMSIS/ST \
diff --git a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f1xx.mk b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f1xx.mk
index e74f49ed3..19b704ef1 100644
--- a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f1xx.mk
+++ b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f1xx.mk
@@ -4,7 +4,8 @@ PORTSRC = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore_v7m.c
-PORTASM = $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
+PORTASM = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s \
+ $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
PORTINC = $(CHIBIOS)/os/ext/CMSIS/include \
$(CHIBIOS)/os/ext/CMSIS/ST \
diff --git a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f37x.mk b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f37x.mk
index 2b945fdf7..dc770e634 100644
--- a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f37x.mk
+++ b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f37x.mk
@@ -4,7 +4,8 @@ PORTSRC = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore_v7m.c
-PORTASM = $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
+PORTASM = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s \
+ $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
PORTINC = $(CHIBIOS)/os/ext/CMSIS/include \
$(CHIBIOS)/os/ext/CMSIS/ST \
diff --git a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f3xx.mk b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f3xx.mk
index 3f9904d1b..6e75c47fd 100644
--- a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f3xx.mk
+++ b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f3xx.mk
@@ -4,7 +4,8 @@ PORTSRC = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore_v7m.c
-PORTASM = $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
+PORTASM = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s \
+ $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
PORTINC = $(CHIBIOS)/os/ext/CMSIS/include \
$(CHIBIOS)/os/ext/CMSIS/ST \
diff --git a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f4xx.mk b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f4xx.mk
index 866106068..6b9e03ac0 100644
--- a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f4xx.mk
+++ b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32f4xx.mk
@@ -4,7 +4,8 @@ PORTSRC = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore_v7m.c
-PORTASM = $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
+PORTASM = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s \
+ $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
PORTINC = $(CHIBIOS)/os/ext/CMSIS/include \
$(CHIBIOS)/os/ext/CMSIS/ST \
diff --git a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32l1xx.mk b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32l1xx.mk
index b9ac49d57..c6635eaad 100644
--- a/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32l1xx.mk
+++ b/os/rt/ports/ARMCMx/compilers/GCC/mk/port_stm32l1xx.mk
@@ -4,7 +4,8 @@ PORTSRC = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore.c \
$(CHIBIOS)/os/rt/ports/ARMCMx/chcore_v7m.c
-PORTASM = $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
+PORTASM = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s \
+ $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.s
PORTINC = $(CHIBIOS)/os/ext/CMSIS/include \
$(CHIBIOS)/os/ext/CMSIS/ST \