aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);
+