fixed a potential issue in m16c porting:

the variable rt_thread_switch_interrupt_flag was treated as a word in interrupts.asm
but it wad defined as a byte in cpuport.c
rt_uint8_t rt_thread_switch_interrupt_flag;

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1741 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
dzzxzz 2011-10-07 03:04:15 +00:00
parent e97c87d6a0
commit 0d2624313a
1 changed files with 3 additions and 3 deletions

View File

@ -31,7 +31,7 @@
RSEG CODE:CODE:NOROOT(2) RSEG CODE:CODE:NOROOT(2)
rt_hw_context_switch_interrupt_do rt_hw_context_switch_interrupt_do
MOV.W #0, rt_thread_switch_interrupt_flag MOV.B #0, rt_thread_switch_interrupt_flag
MOV.W rt_interrupt_from_thread, A0 MOV.W rt_interrupt_from_thread, A0
STC ISP, [A0] STC ISP, [A0]
@ -47,7 +47,7 @@ rt_hw_timer_handler:
JSR rt_tick_increase JSR rt_tick_increase
JSR rt_interrupt_leave JSR rt_interrupt_leave
CMP.W #1, rt_thread_switch_interrupt_flag CMP.B #1, rt_thread_switch_interrupt_flag
JEQ rt_hw_context_switch_interrupt_do JEQ rt_hw_context_switch_interrupt_do
POPM R0,R1,R2,R3,A0,A1,SB,FB ; Restore current task's registers POPM R0,R1,R2,R3,A0,A1,SB,FB ; Restore current task's registers
@ -60,7 +60,7 @@ rt_hw_uart0_receive_handler:
JSR u0rec_handler JSR u0rec_handler
JSR rt_interrupt_leave JSR rt_interrupt_leave
CMP.W #1, rt_thread_switch_interrupt_flag CMP.B #1, rt_thread_switch_interrupt_flag
JEQ rt_hw_context_switch_interrupt_do JEQ rt_hw_context_switch_interrupt_do
POPM R0,R1,R2,R3,A0,A1,SB,FB ; Restore current task's registers POPM R0,R1,R2,R3,A0,A1,SB,FB ; Restore current task's registers