Release 6.1.5
This commit is contained in:
0
ports/cortex_m0/gnu/src/tx_thread_context_restore.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_context_restore.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_context_save.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_context_save.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_interrupt_control.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_interrupt_control.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_interrupt_disable.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_interrupt_disable.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_interrupt_restore.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_interrupt_restore.S
Executable file → Normal file
27
ports/cortex_m0/gnu/src/tx_thread_schedule.S
Executable file → Normal file
27
ports/cortex_m0/gnu/src/tx_thread_schedule.S
Executable file → Normal file
@@ -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
|
||||
@
|
||||
|
||||
0
ports/cortex_m0/gnu/src/tx_thread_stack_build.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_stack_build.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_system_return.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_system_return.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_timer_interrupt.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_timer_interrupt.S
Executable file → Normal file
Reference in New Issue
Block a user