projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Recode files to unix newlines.
[bertos.git]
/
bertos
/
cpu
/
arm
/
hw
/
crt_arm7tdmi.S
diff --git
a/bertos/cpu/arm/hw/crt_arm7tdmi.S
b/bertos/cpu/arm/hw/crt_arm7tdmi.S
index ca2e968cee388ead8f196dc522bfe28a4a432aea..bf80e7e3f43cfc0c11888e7d751564bd874ee205 100644
(file)
--- a/
bertos/cpu/arm/hw/crt_arm7tdmi.S
+++ b/
bertos/cpu/arm/hw/crt_arm7tdmi.S
@@
-67,8
+67,8
@@
__init0:
ldr r0, =__stack_und_end
msr CPSR_c, #ARM_MODE_UNDEF | IRQ_BIT | FIQ_BIT
mov r13, r0
ldr r0, =__stack_und_end
msr CPSR_c, #ARM_MODE_UNDEF | IRQ_BIT | FIQ_BIT
mov r13, r0
- ldr r0, =__stack_s
ys
_end
- msr CPSR_c, #ARM_MODE_S
YS
| IRQ_BIT | FIQ_BIT
+ ldr r0, =__stack_s
vc
_end
+ msr CPSR_c, #ARM_MODE_S
VC
| IRQ_BIT | FIQ_BIT
mov r13, r0
/*
mov r13, r0
/*
@@
-121,32
+121,72
@@
end:
__dummy_init:
mov pc, lr
__dummy_init:
mov pc, lr
-__xcpt_dummy_undef:
- b __xcpt_dummy_undef
-
-__xcpt_dummy_swi:
- b __xcpt_dummy_swi
-
-__xcpt_dummy_pref:
- b __xcpt_dummy_pref
-
-__xcpt_dummy_dab:
- b __xcpt_dummy_dab
+ /*
+ * Redefine your own __init() in order to supply
+ * a completely custom initialization routine.
+ */
+ .weak __init
+ .set __init, __init0
+ /*
+ * Redefine your own __init1() in order to supply
+ * an hardware initialization routine.
+ * Remember that __init1() is called *before*
+ * clearing .bss and loading .data sections.
+ */
.weak __init1
.set __init1, __dummy_init
.weak __init1
.set __init1, __dummy_init
+
+ /*
+ * Redefine your own __init2() in order to supply
+ * an hardware initialization routine.
+ * Remember that __init2() is called *after*
+ * clearing .bss and loading .data sections, just
+ * before calling main().
+ */
.weak __init2
.set __init2, __dummy_init
.weak __init2
.set __init2, __dummy_init
- .weak __init
- .set __init, __init0
+ /*
+ * Redefine your own __undef() in order to supply
+ * a custom handler for undefined instruction exception.
+ */
.weak __undef
.set __undef, __xcpt_dummy_undef
.weak __undef
.set __undef, __xcpt_dummy_undef
+
+ /*
+ * Redefine your own __swi() in order to supply
+ * a custom handler for software interrupt exception.
+ */
.weak __swi
.set __swi, __xcpt_dummy_swi
.weak __swi
.set __swi, __xcpt_dummy_swi
+
+ /*
+ * Redefine your own __prefetch_abort() in order to supply
+ * a custom handler for prefetch abort exception.
+ */
.weak __prefetch_abort
.set __prefetch_abort, __xcpt_dummy_pref
.weak __prefetch_abort
.set __prefetch_abort, __xcpt_dummy_pref
+
+ /*
+ * Redefine your own __data_abort() in order to supply
+ * a custom handler for data abort exception.
+ */
.weak __data_abort
.set __data_abort, __xcpt_dummy_dab
.ltorg
.weak __data_abort
.set __data_abort, __xcpt_dummy_dab
.ltorg
+
+ .section .exceptions, "ax", %progbits
+
+__xcpt_dummy_undef:
+ b __xcpt_dummy_undef
+
+__xcpt_dummy_swi:
+ b __xcpt_dummy_swi
+
+__xcpt_dummy_pref:
+ b __xcpt_dummy_pref
+
+__xcpt_dummy_dab:
+ b __xcpt_dummy_dab