repair the task shcedule failed problem of arm,update the assign task before pendsv fault
This commit is contained in:
@@ -95,7 +95,7 @@ uint16 GetOsAssignLockLevel(void)
|
||||
|
||||
#include <xs_hook.h>
|
||||
|
||||
static int16 KTaskOsAssignLockNest;
|
||||
static uint16 KTaskOsAssignLockNest;
|
||||
|
||||
/**
|
||||
* This function will get critical lock level.
|
||||
|
||||
@@ -87,6 +87,7 @@ SWITCH:
|
||||
|
||||
Assign.ready_vector_done->remove(new_task);
|
||||
KTaskStatSetAsRunning(new_task);
|
||||
Assign.os_running_task = new_task;
|
||||
|
||||
SYS_KDEBUG_LOG(KDBG_SCHED,
|
||||
("[%d]switch to priority#%d "
|
||||
@@ -162,6 +163,7 @@ SWITCH:
|
||||
|
||||
Assign.ready_vector_done->remove(new_task);
|
||||
KTaskStatSetAsRunning(new_task);
|
||||
Assign.os_running_task = new_task;
|
||||
|
||||
SYS_KDEBUG_LOG(KDBG_SCHED,
|
||||
("[%d]switch to priority#%d "
|
||||
@@ -327,6 +329,7 @@ x_err_t YieldOsAssign(void)
|
||||
|
||||
Assign.ready_vector_done->remove(new_task);
|
||||
KTaskStatSetAsRunning(new_task);
|
||||
Assign.os_running_task = new_task;
|
||||
|
||||
SYS_KDEBUG_LOG(KDBG_SCHED,
|
||||
("[%d]switch to priority#%d "
|
||||
|
||||
Reference in New Issue
Block a user