IAR not support VSTMFD and VLDMFD, use VSTMDB and VLDMIA.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1947 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
wuyangyong 2012-02-16 03:45:50 +00:00
parent 6202b6c155
commit 7906287cfe
1 changed files with 179 additions and 179 deletions

View File

@ -103,7 +103,7 @@ PendSV_Handler:
CBZ r1, swtich_to_thread ; skip register save at the first time CBZ r1, swtich_to_thread ; skip register save at the first time
MRS r1, psp ; get from thread stack pointer MRS r1, psp ; get from thread stack pointer
VSTMFD r1!, {d8 - d15} ; push FPU register s16~s31 VSTMDB r1!, {d8 - d15} ; push FPU register s16~s31
STMFD r1!, {r4 - r11} ; push r4 - r11 register STMFD r1!, {r4 - r11} ; push r4 - r11 register
LDR r0, [r0] LDR r0, [r0]
STR r1, [r0] ; update from thread stack pointer STR r1, [r0] ; update from thread stack pointer
@ -114,7 +114,7 @@ swtich_to_thread
LDR r1, [r1] ; load thread stack pointer LDR r1, [r1] ; load thread stack pointer
LDMFD r1!, {r4 - r11} ; pop r4 - r11 register LDMFD r1!, {r4 - r11} ; pop r4 - r11 register
VLDMFD r1!, {d8 - d15} ; pop FPU register s16~s31 VLDMIA r1!, {d8 - d15} ; pop FPU register s16~s31
MSR psp, r1 ; update stack pointer MSR psp, r1 ; update stack pointer
pendsv_exit pendsv_exit