summaryrefslogtreecommitdiff
path: root/ports/cortex_m7/ac5
diff options
context:
space:
mode:
authorYuxin Zhou <[email protected]>2021-07-28 07:24:02 +0000
committerYuxin Zhou <[email protected]>2021-07-28 07:24:02 +0000
commitd0dab582506f132690b35b36ffea129ad51110b0 (patch)
tree13add80dd314dc38efc1830f3d1f36b5a2596e98 /ports/cortex_m7/ac5
parent244365fc6a937c754cfc6bb8e6895dc6f37bac0e (diff)
Release 6.1.8v6.1.8_rel
Diffstat (limited to 'ports/cortex_m7/ac5')
-rw-r--r--ports/cortex_m7/ac5/src/tx_thread_context_restore.s4
-rw-r--r--ports/cortex_m7/ac5/src/tx_thread_context_save.s6
-rw-r--r--ports/cortex_m7/ac5/src/tx_thread_schedule.s10
3 files changed, 12 insertions, 8 deletions
diff --git a/ports/cortex_m7/ac5/src/tx_thread_context_restore.s b/ports/cortex_m7/ac5/src/tx_thread_context_restore.s
index b14f539c..48c7afbf 100644
--- a/ports/cortex_m7/ac5/src/tx_thread_context_restore.s
+++ b/ports/cortex_m7/ac5/src/tx_thread_context_restore.s
@@ -20,7 +20,7 @@
/**************************************************************************/
/**************************************************************************/
-#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
+#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
IMPORT _tx_execution_isr_exit
#endif
@@ -69,7 +69,7 @@
EXPORT _tx_thread_context_restore
_tx_thread_context_restore
-#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
+#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
/* Call the ISR exit function to indicate an ISR is complete. */
PUSH {r0, lr} // Save return address
BL _tx_execution_isr_exit // Call the ISR exit function
diff --git a/ports/cortex_m7/ac5/src/tx_thread_context_save.s b/ports/cortex_m7/ac5/src/tx_thread_context_save.s
index 9600e9fb..1230e4e8 100644
--- a/ports/cortex_m7/ac5/src/tx_thread_context_save.s
+++ b/ports/cortex_m7/ac5/src/tx_thread_context_save.s
@@ -20,7 +20,7 @@
/**************************************************************************/
/**************************************************************************/
-#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
+#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
IMPORT _tx_execution_isr_enter
#endif
@@ -51,7 +51,7 @@
/* */
/* CALLS */
/* */
-/* None */
+/* [_tx_execution_isr_enter] Execution profiling ISR enter */
/* */
/* CALLED BY */
/* */
@@ -69,7 +69,7 @@
EXPORT _tx_thread_context_save
_tx_thread_context_save
-#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
+#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
/* Call the ISR enter function to indicate an ISR is starting. */
PUSH {r0, lr} // Save return address
BL _tx_execution_isr_enter // Call the ISR enter function
diff --git a/ports/cortex_m7/ac5/src/tx_thread_schedule.s b/ports/cortex_m7/ac5/src/tx_thread_schedule.s
index a7bfb59e..a09eadd2 100644
--- a/ports/cortex_m7/ac5/src/tx_thread_schedule.s
+++ b/ports/cortex_m7/ac5/src/tx_thread_schedule.s
@@ -25,7 +25,7 @@
IMPORT _tx_timer_time_slice
IMPORT _tx_thread_system_stack_ptr
IMPORT _tx_thread_preempt_disable
-#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
+#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
IMPORT _tx_execution_thread_enter
IMPORT _tx_execution_thread_exit
#endif
@@ -124,7 +124,7 @@ PendSV_Handler
__tx_ts_handler
-#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
+#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
/* Call the thread exit function to indicate the thread is no longer executing. */
CPSID i // Disable interrupts
PUSH {r0, lr} // Save LR (and r0 just for alignment)
@@ -198,7 +198,7 @@ __tx_ts_restore
STR r5, [r4] // Setup global time-slice
-#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
+#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
/* Call the thread entry function to indicate the thread is executing. */
PUSH {r0, r1} // Save r0 and r1
BL _tx_execution_thread_enter // Call the thread execution enter function
@@ -233,7 +233,9 @@ __tx_ts_wait
CBNZ r1, __tx_ts_ready // If non-NULL, a new thread is ready!
#ifdef TX_LOW_POWER
+ PUSH {r0-r3}
BL tx_low_power_enter // Possibly enter low power mode
+ POP {r0-r3}
#endif
#ifdef TX_ENABLE_WFI
@@ -243,7 +245,9 @@ __tx_ts_wait
#endif
#ifdef TX_LOW_POWER
+ PUSH {r0-r3}
BL tx_low_power_exit // Exit low power mode
+ POP {r0-r3}
#endif
CPSIE i // Enable interrupts