-
act_tsk
iact_tsk
-
Activate task (queues an activation request).
ER act_tsk (ID tskid);
ER iact_tsk (ID tskid);
|
|
|
|
ID tskid;
|
Value: ID number of the task.
|
These service calls move the task specified by parameter
tskid from the DORMANT state to the READY state.
As a result, the target task is queued at the end on the ready queue corresponding to the initial priority and becomes subject to scheduling by the RI600PX.
At this time, the following processing is done.
Table 19-3 Processing Performed at Task Activation
|
|
|
Initializes the task's base priority and current priority.
|
|
Clears the number of queued wake-up requests.
|
|
Clears the number of nested suspension count.
|
|
Clears pending exception code.
|
|
|
If the target task has been moved to a state other than the DORMANT state when this service call is issued, this service call does not move the state but increments the activation request counter (by added 1 to the activation request counter).
Note 1 The activation request counter managed by the RI600PX is configured in 8-bit widths. If the number of activation requests exceeds the maximum count value 255 as a result of issuing this service call, the counter manipulation processing is therefore not performed but "E_QOVR" is returned.
Note 2 Extended information specified at creating the task is passed to the task activated by issuing these service calls.
|
|
|
|
|
|
|
|
- When iact_tsk was issued from a non-task, TSK_SELF was specified for tskid.
|
|
|
- This service call was issued in the CPU locked state.
- The iact_tsk was issued from task.
- The act_tsk was issued from non-task.
- This service call was issued in the status "PSW.IPL > kernel interrupt mask level".
|
|
|
Memory access violation. (only for act_tsk)
- Stack pointer points out of user stack for invoking task.
|
|
|
- The task specified by tskid does not exist.
|
|
|
- Activation request count exceeded 255.
|