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:
parent
e97c87d6a0
commit
0d2624313a
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue