From 064523f78192c9ae2f76b77bfeffd3d4e640e9a7 Mon Sep 17 00:00:00 2001 From: batt Date: Wed, 31 Mar 2010 12:24:14 +0000 Subject: [PATCH] ARM7TDMI:add some doc; move exceptions to .vectors section. git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3348 38d2e660-2303-0410-9eaa-f027e97ec537 --- bertos/cpu/arm/hw/crt_arm7tdmi.S | 66 +++++++++++++++++++++++++------- 1 file changed, 53 insertions(+), 13 deletions(-) diff --git a/bertos/cpu/arm/hw/crt_arm7tdmi.S b/bertos/cpu/arm/hw/crt_arm7tdmi.S index 4c81101d..d06b9a07 100644 --- a/bertos/cpu/arm/hw/crt_arm7tdmi.S +++ b/bertos/cpu/arm/hw/crt_arm7tdmi.S @@ -121,32 +121,72 @@ end: __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 + + /* + * 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 __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 + + /* + * Redefine your own __swi() in order to supply + * a custom handler for software interrupt exception. + */ .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 + + /* + * 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 + + .section .vectors, "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 -- 2.25.1