diff options
| author | Yuxin Zhou <[email protected]> | 2021-03-05 05:38:33 +0000 |
|---|---|---|
| committer | Yuxin Zhou <[email protected]> | 2021-03-05 05:38:33 +0000 |
| commit | 10a7932b9d8a9f6f36523cb2f6edf13aa8dee6be (patch) | |
| tree | 87461e5468fb0b4d1416e39fdbc51dceb5ffa2be /ports/cortex_m0/gnu | |
| parent | 32e3b3b25f4b17ff51ce8a6bad8d9eb32729a0f6 (diff) | |
Release 6.1.5v6.1.5_rel
Diffstat (limited to 'ports/cortex_m0/gnu')
| -rwxr-xr-x[-rw-r--r--] | ports/cortex_m0/gnu/CMakeLists.txt | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | ports/cortex_m0/gnu/src/tx_thread_context_restore.S | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | ports/cortex_m0/gnu/src/tx_thread_context_save.S | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | ports/cortex_m0/gnu/src/tx_thread_interrupt_control.S | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | ports/cortex_m0/gnu/src/tx_thread_interrupt_disable.S | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | ports/cortex_m0/gnu/src/tx_thread_interrupt_restore.S | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | ports/cortex_m0/gnu/src/tx_thread_schedule.S | 27 | ||||
| -rw-r--r--[-rwxr-xr-x] | ports/cortex_m0/gnu/src/tx_thread_stack_build.S | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | ports/cortex_m0/gnu/src/tx_thread_system_return.S | 0 | ||||
| -rw-r--r--[-rwxr-xr-x] | ports/cortex_m0/gnu/src/tx_timer_interrupt.S | 0 |
10 files changed, 24 insertions, 3 deletions
diff --git a/ports/cortex_m0/gnu/CMakeLists.txt b/ports/cortex_m0/gnu/CMakeLists.txt index 0e3cc8ec..0e3cc8ec 100644..100755 --- a/ports/cortex_m0/gnu/CMakeLists.txt +++ b/ports/cortex_m0/gnu/CMakeLists.txt diff --git a/ports/cortex_m0/gnu/src/tx_thread_context_restore.S b/ports/cortex_m0/gnu/src/tx_thread_context_restore.S index fc453b61..fc453b61 100755..100644 --- a/ports/cortex_m0/gnu/src/tx_thread_context_restore.S +++ b/ports/cortex_m0/gnu/src/tx_thread_context_restore.S diff --git a/ports/cortex_m0/gnu/src/tx_thread_context_save.S b/ports/cortex_m0/gnu/src/tx_thread_context_save.S index 710f5e26..710f5e26 100755..100644 --- a/ports/cortex_m0/gnu/src/tx_thread_context_save.S +++ b/ports/cortex_m0/gnu/src/tx_thread_context_save.S diff --git a/ports/cortex_m0/gnu/src/tx_thread_interrupt_control.S b/ports/cortex_m0/gnu/src/tx_thread_interrupt_control.S index 4854108c..4854108c 100755..100644 --- a/ports/cortex_m0/gnu/src/tx_thread_interrupt_control.S +++ b/ports/cortex_m0/gnu/src/tx_thread_interrupt_control.S diff --git a/ports/cortex_m0/gnu/src/tx_thread_interrupt_disable.S b/ports/cortex_m0/gnu/src/tx_thread_interrupt_disable.S index 96c9f60c..96c9f60c 100755..100644 --- a/ports/cortex_m0/gnu/src/tx_thread_interrupt_disable.S +++ b/ports/cortex_m0/gnu/src/tx_thread_interrupt_disable.S diff --git a/ports/cortex_m0/gnu/src/tx_thread_interrupt_restore.S b/ports/cortex_m0/gnu/src/tx_thread_interrupt_restore.S index 9591c805..9591c805 100755..100644 --- a/ports/cortex_m0/gnu/src/tx_thread_interrupt_restore.S +++ b/ports/cortex_m0/gnu/src/tx_thread_interrupt_restore.S diff --git a/ports/cortex_m0/gnu/src/tx_thread_schedule.S b/ports/cortex_m0/gnu/src/tx_thread_schedule.S index 788eddde..e110259b 100755..100644 --- a/ports/cortex_m0/gnu/src/tx_thread_schedule.S +++ b/ports/cortex_m0/gnu/src/tx_thread_schedule.S @@ -27,6 +27,10 @@ .global _tx_thread_system_stack_ptr .global _tx_execution_thread_enter .global _tx_execution_thread_exit +#ifdef TX_LOW_POWER + .global tx_low_power_enter + .global tx_low_power_exit +#endif @ @ .text @@ -37,7 +41,7 @@ @/* FUNCTION RELEASE */ @/* */ @/* _tx_thread_schedule Cortex-M0/GNU */ -@/* 6.1 */ +@/* 6.1.5 */ @/* AUTHOR */ @/* */ @/* William E. Lamie, Microsoft Corporation */ @@ -70,9 +74,12 @@ @/* */ @/* DATE NAME DESCRIPTION */ @/* */ -@/* 05-19-2020 William E. Lamie Initial Version 6.0 */ -@/* 09-30-2020 William E. Lamie Modified comment(s), */ +@/* 05-19-2020 William E. Lamie Initial Version 6.0 */ +@/* 09-30-2020 William E. Lamie Modified comment(s), */ @/* resulting in version 6.1 */ +@/* 03-02-2021 Scott Larson Modified comment(s), add */ +@/* low power code, */ +@/* resulting in version 6.1.5 */ @/* */ @/**************************************************************************/ @VOID _tx_thread_schedule(VOID) @@ -248,11 +255,25 @@ __tx_ts_wait: STR r1, [r0] @ Store it in the current pointer CMP r1, #0 @ If non-NULL, a new thread is ready! BNE __tx_ts_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 DSB @ Ensure no outstanding memory transactions WFI @ Wait for interrupt ISB @ Ensure pipeline is flushed #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 B __tx_ts_wait @ Loop to continue waiting @ diff --git a/ports/cortex_m0/gnu/src/tx_thread_stack_build.S b/ports/cortex_m0/gnu/src/tx_thread_stack_build.S index 352739b1..352739b1 100755..100644 --- a/ports/cortex_m0/gnu/src/tx_thread_stack_build.S +++ b/ports/cortex_m0/gnu/src/tx_thread_stack_build.S diff --git a/ports/cortex_m0/gnu/src/tx_thread_system_return.S b/ports/cortex_m0/gnu/src/tx_thread_system_return.S index a6a9109e..a6a9109e 100755..100644 --- a/ports/cortex_m0/gnu/src/tx_thread_system_return.S +++ b/ports/cortex_m0/gnu/src/tx_thread_system_return.S diff --git a/ports/cortex_m0/gnu/src/tx_timer_interrupt.S b/ports/cortex_m0/gnu/src/tx_timer_interrupt.S index 9a61b0d3..9a61b0d3 100755..100644 --- a/ports/cortex_m0/gnu/src/tx_timer_interrupt.S +++ b/ports/cortex_m0/gnu/src/tx_timer_interrupt.S |
