rm48x50: fix bug in reg_test from FreeRTOS

It does not satisfy AAPCS.
This commit is contained in:
Grissiom 2013-05-26 21:49:26 +08:00
parent 85ec844de9
commit 2805d315bd
1 changed files with 6 additions and 6 deletions

View File

@ -122,13 +122,15 @@ vRegTestTask1:
vRegTestLoop1:
STMFD sp!, {r0-r3, r12}
; Force yeild
BL rt_thread_yield
LDMFD sp!, {r0-r3, r12}
.if (__TI_VFP_SUPPORT__)
; Check all the VFP registers still contain the values set above.
; First save registers that are clobbered by the test.
push { r0-r1 }
STMFD sp!, { r0-r1 }
vmov r0, r1, d0
cmp r0, #0xFF
@ -212,7 +214,7 @@ vRegTestLoop1:
bne reg1_error_loopf
; Restore the registers that were clobbered by the test.
pop {r0-r1}
LDMFD sp!, {r0-r1}
; VFP register test passed. Jump to the core register test.
b reg1_loopf_pass
@ -255,8 +257,6 @@ reg1_loopf_pass:
bne vRegTestError1
cmp r12, #0xCC
bne vRegTestError1
cmp r14, #0xEE
bne vRegTestError1
; This task is still running without jumping to vRegTestError1, so increment
; the loop counter so the check task knows the task is running error free.
@ -331,7 +331,7 @@ vRegTestLoop2:
.if (__TI_VFP_SUPPORT__)
; Check all the VFP registers still contain the values set above.
; First save registers that are clobbered by the test.
push { r0-r1 }
STMFD sp!, { r0-r1 }
vmov r0, r1, d0
cmp r0, #0xFF000000
@ -415,7 +415,7 @@ vRegTestLoop2:
bne reg2_error_loopf
; Restore the registers that were clobbered by the test.
pop {r0-r1}
LDMFD sp!, {r0-r1}
; VFP register test passed. Jump to the core register test.
b reg2_loopf_pass