mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-09-20 09:28:49 +08:00
[bsp][tms320f28379d] Modify to C28x Compiler Register Conventions
This commit is contained in:
+12
-10
@@ -80,28 +80,30 @@ _rt_hw_interrupt_enable:
|
||||
;
|
||||
; void rt_hw_context_switch(rt_uint32 from, rt_uint32 to);
|
||||
; r0 --> from
|
||||
; r1 --> to
|
||||
; r4 --> to
|
||||
|
||||
|
||||
.asmfunc
|
||||
_rt_hw_context_switch_interrupt:
|
||||
_rt_hw_context_switch:
|
||||
MOVL XAR0, #0
|
||||
MOV AR0, AL
|
||||
MOVL XAR4, *-SP[4]
|
||||
; set rt_thread_switch_interrupt_flag to 1
|
||||
MOVL XAR2, #_rt_thread_switch_interrupt_flag
|
||||
MOVL XAR3, *XAR2
|
||||
MOVL ACC, XAR3
|
||||
MOVL XAR5, #_rt_thread_switch_interrupt_flag
|
||||
MOVL XAR6, *XAR5
|
||||
MOVL ACC, XAR6
|
||||
CMPB AL, #1
|
||||
B _reswitch, EQ
|
||||
MOVL XAR3, #1
|
||||
MOVL *XAR2, XAR3
|
||||
MOVL XAR6, #1
|
||||
MOVL *XAR5, XAR6
|
||||
|
||||
MOVL XAR2, #_rt_interrupt_from_thread ; set rt_interrupt_from_thread
|
||||
MOVL *XAR2, XAR0
|
||||
MOVL XAR5, #_rt_interrupt_from_thread ; set rt_interrupt_from_thread
|
||||
MOVL *XAR5, XAR0
|
||||
|
||||
_reswitch:
|
||||
MOVL XAR2, #_rt_interrupt_to_thread ; set rt_interrupt_to_thread
|
||||
MOVL *XAR2, XAR1
|
||||
MOVL XAR5, #_rt_interrupt_to_thread ; set rt_interrupt_to_thread
|
||||
MOVL *XAR5, XAR4
|
||||
|
||||
TRAP #16
|
||||
LRETR
|
||||
|
||||
Reference in New Issue
Block a user