git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1785 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
a6c627641e
commit
63b88a2147
|
@ -45,7 +45,9 @@
|
||||||
.global ResetHandler
|
.global ResetHandler
|
||||||
.weak ResetHandler
|
.weak ResetHandler
|
||||||
ResetHandler:
|
ResetHandler:
|
||||||
/* Interrupts globally masked. */
|
/*
|
||||||
|
* Interrupts are globally masked initially.
|
||||||
|
*/
|
||||||
cpsid i
|
cpsid i
|
||||||
/*
|
/*
|
||||||
* Stack pointers initialization.
|
* Stack pointers initialization.
|
||||||
|
@ -53,9 +55,14 @@ ResetHandler:
|
||||||
ldr r0, =__ram_end__
|
ldr r0, =__ram_end__
|
||||||
ldr r1, =__main_stack_size__
|
ldr r1, =__main_stack_size__
|
||||||
subs r0, r0, r1
|
subs r0, r0, r1
|
||||||
/* { r0 = main stack low address } */
|
/*
|
||||||
|
* Note that r0 is the main stack low boundary address and process
|
||||||
|
* stack initial top address.
|
||||||
|
*/
|
||||||
msr PSP, r0
|
msr PSP, r0
|
||||||
/* Early initialization. */
|
/*
|
||||||
|
* Early initialization phase, it is empty by default.
|
||||||
|
*/
|
||||||
bl hwinit0
|
bl hwinit0
|
||||||
/*
|
/*
|
||||||
* Data initialization.
|
* Data initialization.
|
||||||
|
@ -100,11 +107,15 @@ endbloop:
|
||||||
strlo r0, [r1], #4
|
strlo r0, [r1], #4
|
||||||
blo bloop
|
blo bloop
|
||||||
#endif
|
#endif
|
||||||
/* Switches to the Process Stack. */
|
/*
|
||||||
|
* Switches to the Process Stack and uses a barrier just to be safe.
|
||||||
|
*/
|
||||||
movs r0, #CONTROL_MODE_PRIVILEGED | CONTROL_USE_PSP
|
movs r0, #CONTROL_MODE_PRIVILEGED | CONTROL_USE_PSP
|
||||||
msr CONTROL, r0
|
msr CONTROL, r0
|
||||||
isb
|
isb
|
||||||
/* Late initialization. */
|
/*
|
||||||
|
* Late initialization phase, it is empty by default.
|
||||||
|
*/
|
||||||
bl hwinit1
|
bl hwinit1
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
mov r1, r0
|
mov r1, r0
|
||||||
|
|
Loading…
Reference in New Issue