aboutsummaryrefslogtreecommitdiffstats
path: root/os/common
diff options
context:
space:
mode:
authorisiora <none@example.com>2018-02-27 00:14:43 +0000
committerisiora <none@example.com>2018-02-27 00:14:43 +0000
commite3d8fb30fba449e2b5c82793f83ffc07dd2184cd (patch)
tree5428595f09417930940675d50ff701e9efca7f2b /os/common
parent98f9558822c7c899a36c605534119376c5858640 (diff)
downloadChibiOS-e3d8fb30fba449e2b5c82793f83ffc07dd2184cd.tar.gz
ChibiOS-e3d8fb30fba449e2b5c82793f83ffc07dd2184cd.tar.bz2
ChibiOS-e3d8fb30fba449e2b5c82793f83ffc07dd2184cd.zip
Cleanup interworking code.
git-svn-id: https://svn.code.sf.net/p/chibios/svn2/trunk@11574 110e8d01-0319-4d1e-a829-52ad28d1bb01
Diffstat (limited to 'os/common')
-rw-r--r--os/common/startup/ARM/compilers/GCC/crt0.S31
-rwxr-xr-xos/common/startup/ARM/compilers/GCC/ld/SAMA5D2.ld2
-rwxr-xr-xos/common/startup/ARM/compilers/GCC/ld/SAMA5D2ddr.ld3
3 files changed, 6 insertions, 30 deletions
diff --git a/os/common/startup/ARM/compilers/GCC/crt0.S b/os/common/startup/ARM/compilers/GCC/crt0.S
index bf6e7ea6d..806db7c34 100644
--- a/os/common/startup/ARM/compilers/GCC/crt0.S
+++ b/os/common/startup/ARM/compilers/GCC/crt0.S
@@ -81,17 +81,7 @@ Reset_Handler:
/*
* Early initialization.
*/
-#if !defined(THUMB_NO_INTERWORKING)
bl __early_init
-#else /* defined(THUMB_NO_INTERWORKING) */
- add r0, pc, #1
- bx r0
- .code 16
- bl __early_init
- mov r0, pc
- bx r0
- .code 32
-#endif /* defined(THUMB_NO_INTERWORKING) */
/*
* Data initialization.
@@ -119,33 +109,14 @@ bssloop:
/*
* Late initialization.
*/
-#if !defined(THUMB_NO_INTERWORKING)
- bl __late_init
-#else /* defined(THUMB_NO_INTERWORKING) */
- add r0, pc, #1
- bx r0
- .code 16
+ bl __core_init
bl __late_init
- mov r0, pc
- bx r0
- .code 32
-#endif /* defined(THUMB_NO_INTERWORKING) */
/*
* Main program invocation.
*/
-#if defined(THUMB_NO_INTERWORKING)
- add r0, pc, #1
- bx r0
- .code 16
- bl main
- ldr r1, =__default_exit
- bx r1
- .code 32
-#else /* !defined(THUMB_NO_INTERWORKING) */
bl main
b __default_exit
-#endif /* !defined(THUMB_NO_INTERWORKING) */
#endif /* !defined(__DOXYGEN__) */
diff --git a/os/common/startup/ARM/compilers/GCC/ld/SAMA5D2.ld b/os/common/startup/ARM/compilers/GCC/ld/SAMA5D2.ld
index fbbe88f55..31b672a5b 100755
--- a/os/common/startup/ARM/compilers/GCC/ld/SAMA5D2.ld
+++ b/os/common/startup/ARM/compilers/GCC/ld/SAMA5D2.ld
@@ -41,3 +41,5 @@ REGION_ALIAS("DATA_RAM", ram0);
REGION_ALIAS("BSS_RAM", ram0);
INCLUDE rules.ld
+
+ENTRY(Boot_Handler);
diff --git a/os/common/startup/ARM/compilers/GCC/ld/SAMA5D2ddr.ld b/os/common/startup/ARM/compilers/GCC/ld/SAMA5D2ddr.ld
index 242877218..400d5872a 100755
--- a/os/common/startup/ARM/compilers/GCC/ld/SAMA5D2ddr.ld
+++ b/os/common/startup/ARM/compilers/GCC/ld/SAMA5D2ddr.ld
@@ -41,3 +41,6 @@ REGION_ALIAS("DATA_RAM", ram0);
REGION_ALIAS("BSS_RAM", ram0);
INCLUDE rules.ld
+
+ENTRY(Boot_Handler);
+