summaryrefslogtreecommitdiff
path: root/ports/cortex_m7/ac6
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/ac6
parent244365fc6a937c754cfc6bb8e6895dc6f37bac0e (diff)
Release 6.1.8v6.1.8_rel
Diffstat (limited to 'ports/cortex_m7/ac6')
-rw-r--r--ports/cortex_m7/ac6/src/tx_thread_context_restore.S3
-rw-r--r--ports/cortex_m7/ac6/src/tx_thread_context_save.S6
-rw-r--r--ports/cortex_m7/ac6/src/tx_thread_schedule.S10
3 files changed, 12 insertions, 7 deletions
diff --git a/ports/cortex_m7/ac6/src/tx_thread_context_restore.S b/ports/cortex_m7/ac6/src/tx_thread_context_restore.S
index bb4ec403..341e8a16 100644
--- a/ports/cortex_m7/ac6/src/tx_thread_context_restore.S
+++ b/ports/cortex_m7/ac6/src/tx_thread_context_restore.S
@@ -19,7 +19,8 @@
/** */
/**************************************************************************/
/**************************************************************************/
-#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
+
+#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
.global _tx_execution_isr_exit
#endif
diff --git a/ports/cortex_m7/ac6/src/tx_thread_context_save.S b/ports/cortex_m7/ac6/src/tx_thread_context_save.S
index efe70556..62d8b329 100644
--- a/ports/cortex_m7/ac6/src/tx_thread_context_save.S
+++ b/ports/cortex_m7/ac6/src/tx_thread_context_save.S
@@ -23,7 +23,7 @@
.text
.align 4
.syntax unified
-#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
+#if (defined(TX_ENABLE_EXECUTION_CHANGE_NOTIFY) || defined(TX_EXECUTION_PROFILE_ENABLE))
.global _tx_execution_isr_enter
#endif
/**************************************************************************/
@@ -51,7 +51,7 @@
/* */
/* CALLS */
/* */
-/* None */
+/* [_tx_execution_isr_enter] Execution profiling ISR enter */
/* */
/* CALLED BY */
/* */
@@ -70,7 +70,7 @@
.thumb_func
_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/ac6/src/tx_thread_schedule.S b/ports/cortex_m7/ac6/src/tx_thread_schedule.S
index 86f9a7a8..b8ca4f1b 100644
--- a/ports/cortex_m7/ac6/src/tx_thread_schedule.S
+++ b/ports/cortex_m7/ac6/src/tx_thread_schedule.S
@@ -23,7 +23,7 @@
.global _tx_thread_current_ptr
.global _tx_thread_execute_ptr
.global _tx_timer_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))
.global _tx_execution_thread_enter
.global _tx_execution_thread_exit
#endif
@@ -130,7 +130,7 @@ __tx_PendSVHandler:
__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)
@@ -204,7 +204,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
@@ -239,7 +239,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
@@ -249,7 +251,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