mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-09-01 11:53:53 -04:00
Continued work in progress on new demo.
This commit is contained in:
parent
c5f0933f49
commit
2f795214d7
2 changed files with 23 additions and 58 deletions
|
@ -2,10 +2,8 @@
|
|||
CODE32
|
||||
|
||||
EXTERN vTaskSwitchContext
|
||||
EXTERN vTaskIncrementTick
|
||||
|
||||
PUBLIC vPortYieldProcessor
|
||||
PUBLIC vPortPreemptiveTick
|
||||
PUBLIC vPortStartFirstTask
|
||||
|
||||
#include "ISR_Support.h"
|
||||
|
@ -31,28 +29,6 @@ vPortYieldProcessor:
|
|||
BX R0
|
||||
portRESTORE_CONTEXT ; Restore the context of the selected task.
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Preemptive context switch function. This will only ever get installed if
|
||||
; portUSE_PREEMPTION is set to 1 in portmacro.h.
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
vPortPreemptiveTick:
|
||||
portSAVE_CONTEXT ; Save the context of the current task.
|
||||
|
||||
LDR R0, =vTaskIncrementTick ; Increment the tick count - this may wake a task.
|
||||
mov lr, pc
|
||||
BX R0
|
||||
LDR R0, =vTaskSwitchContext ; Select the next task to execute.
|
||||
mov lr, pc
|
||||
BX R0
|
||||
#if 0
|
||||
LDR R14, =AT91C_BASE_PITC ; Clear the PIT interrupt
|
||||
LDR R0, [R14, #PITC_PIVR ]
|
||||
|
||||
LDR R14, =AT91C_BASE_AIC ; Mark the End of Interrupt on the AIC
|
||||
STR R14, [R14, #AIC_EOICR]
|
||||
#endif
|
||||
portRESTORE_CONTEXT ; Restore the context of the selected task.
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue