aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordave2007-03-01 18:51:09 +0000
committerdave2007-03-01 18:51:09 +0000
commitf172769a2dffd0135a28d3fb85c176f15d116683 (patch)
tree9223d59ca665d7d537921b480855d18dbb9eabd8
parent8618b3002317a16a116535b82817bd31bc6a92ab (diff)
Major borking in progress, to reorganize the bootstrap code after enlightenment by lejos' way of doing things.
-rw-r--r--estorm/Makefile7
-rw-r--r--estorm/crt0.h (renamed from estorm/crt0/crt0.h)0
-rw-r--r--estorm/crt0_c.c (renamed from estorm/crt0/crt0_c.c)0
-rw-r--r--estorm/crt0_s.S (renamed from estorm/crt0/crt0_s.S)0
-rw-r--r--estorm/vectors.s27
5 files changed, 31 insertions, 3 deletions
diff --git a/estorm/Makefile b/estorm/Makefile
index 5193c38..e66e6dd 100644
--- a/estorm/Makefile
+++ b/estorm/Makefile
@@ -1,7 +1,8 @@
-TOOL_PREFIX=arm-elf-
-TOOL_SUFFIX=-4.1.1
+include environment.mak
-S_SOURCES =
+TARGET = nxtos
+
+S_SOURCES = crt0_s.S vectors.s
C_SOURCES = main.c aic.c sys_timer.c
S_OBJECTS = $(S_SOURCES:.S=.o)
diff --git a/estorm/crt0/crt0.h b/estorm/crt0.h
index b5ca7fa..b5ca7fa 100644
--- a/estorm/crt0/crt0.h
+++ b/estorm/crt0.h
diff --git a/estorm/crt0/crt0_c.c b/estorm/crt0_c.c
index eef515c..eef515c 100644
--- a/estorm/crt0/crt0_c.c
+++ b/estorm/crt0_c.c
diff --git a/estorm/crt0/crt0_s.S b/estorm/crt0_s.S
index 5617983..5617983 100644
--- a/estorm/crt0/crt0_s.S
+++ b/estorm/crt0_s.S
diff --git a/estorm/vectors.s b/estorm/vectors.s
new file mode 100644
index 0000000..57e5ea8
--- /dev/null
+++ b/estorm/vectors.s
@@ -0,0 +1,27 @@
+ .code 32
+ .align 0
+ .section ".vectors"
+
+@ What follows is the exception vectors for. They are placed at the
+@ bottom of memory at system start up, and just call into exception
+@ handlers in crt0_s.S.
+@
+@ LDR is used instead of branching because LDR jumps can be relocated.
+
+ ldr pc, v0 @ Reset
+ ldr pc, v1 @ Undefined Instruction
+ ldr pc, v2 @ Software Interrupt
+ ldr pc, v3 @ Prefetch Abort
+ ldr pc, v4 @ Data Abort
+ ldr pc, v5 @ Reserved
+ ldr pc, v6 @ IRQ
+ ldr pc, v7 @ FIQ
+
+v0: .long init_reset
+v1: .long illegal_hdl
+v2: .long swi_hdl
+v3: .long prefetch_hdl
+v4: .long data_hdl
+v5: .long reserved_hdl
+v6: .long irq_hdl
+v7: .long fiq_hdl