diff options
| author | latercomer <[email protected]> | 2025-03-16 23:11:17 +0800 |
|---|---|---|
| committer | Rbb666 <[email protected]> | 2025-03-17 16:46:39 +0800 |
| commit | 302e60d929d1ebfc84d522b54949f21bb6ff9bd4 (patch) | |
| tree | 393dd9d91158a7e012bcf787983d105002b6cde2 | |
| parent | ca2d025215f34928827e541a48df7d762c28d20b (diff) | |
解决rt_interrupt_from_thread和rt_interrupt_to_thread指针赋值错误
Signed-off-by: latercomer <[email protected]>
| -rw-r--r-- | libcpu/sim/win32/cpu_port.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libcpu/sim/win32/cpu_port.c b/libcpu/sim/win32/cpu_port.c index 1ac9fc0379..ad5891c91f 100644 --- a/libcpu/sim/win32/cpu_port.c +++ b/libcpu/sim/win32/cpu_port.c @@ -256,10 +256,10 @@ void rt_hw_context_switch_interrupt(rt_ubase_t from, rt_ubase_t to, rt_thread_t rt_thread_switch_interrupt_flag = 1; // set rt_interrupt_from_thread - rt_interrupt_from_thread = from; + rt_interrupt_from_thread = *((rt_ubase_t *)(from)); } - rt_interrupt_to_thread = to; + rt_interrupt_to_thread = *((rt_ubase_t *)(to)); //trigger YIELD exception(cause context switch) TriggerSimulateInterrupt(CPU_INTERRUPT_YIELD); @@ -274,12 +274,12 @@ void rt_hw_context_switch(rt_ubase_t from, rt_ubase_t to) rt_thread_switch_interrupt_flag = 1; // set rt_interrupt_from_thread - rt_interrupt_from_thread = from; + rt_interrupt_from_thread = *((rt_ubase_t *)(from)); } // set rt_interrupt_to_thread - rt_interrupt_to_thread = to; + rt_interrupt_to_thread = *((rt_ubase_t *)(to)); //trigger YIELD exception(cause contex switch) TriggerSimulateInterrupt(CPU_INTERRUPT_YIELD); @@ -312,7 +312,7 @@ void rt_hw_context_switch(rt_ubase_t from, rt_ubase_t to) void rt_hw_context_switch_to(rt_ubase_t to) { //set to thread - rt_interrupt_to_thread = to; + rt_interrupt_to_thread = *((rt_ubase_t *)(to)); //clear from thread rt_interrupt_from_thread = 0; |
