summaryrefslogtreecommitdiffstats
path: root/Src/osmocombb/src/target/firmware/board/compal/start.rom.S
diff options
context:
space:
mode:
Diffstat (limited to 'Src/osmocombb/src/target/firmware/board/compal/start.rom.S')
-rw-r--r--Src/osmocombb/src/target/firmware/board/compal/start.rom.S32
1 files changed, 32 insertions, 0 deletions
diff --git a/Src/osmocombb/src/target/firmware/board/compal/start.rom.S b/Src/osmocombb/src/target/firmware/board/compal/start.rom.S
new file mode 100644
index 0000000..211bea8
--- /dev/null
+++ b/Src/osmocombb/src/target/firmware/board/compal/start.rom.S
@@ -0,0 +1,32 @@
+
+.section .text.start
+
+#include "macros.S"
+
+.globl _start
+_start:
+ /* clear bss section */
+ clear_bss
+
+ /* copy data to ram */
+ copy_data
+
+ /* copy alway-in-ram code */
+ copy_ramtext
+
+ /* initialize all stacks */
+ init_stacks
+
+ /* call constructors */
+ call_ctors
+
+ /* jump to main */
+ ldr pc, _jump_main
+
+ /* endless loop at end of program */
+_loop:
+ b _loop
+ b _start
+
+_jump_main:
+ .word main