remove robin enable config
This commit is contained in:
@@ -1447,7 +1447,7 @@ int main(void)
|
||||
board_init();
|
||||
tos_knl_init();
|
||||
// 配置robin机制参数
|
||||
tos_robin_config(TOS_ROBIN_STATE_ENABLED, (k_timeslice_t)500u);
|
||||
tos_robin_default_timeslice_config((k_timeslice_t)500u);
|
||||
(void)tos_task_create(&task_demo1, "demo1", entry_task_demo1, NULL,
|
||||
PRIO_TASK_DEMO, stack_task_demo1, STK_SIZE_TASK_DEMO,
|
||||
timeslice_demo1);
|
||||
|
@@ -56,7 +56,7 @@ int main(void)
|
||||
{
|
||||
board_init();
|
||||
tos_knl_init();
|
||||
tos_robin_config(TOS_ROBIN_STATE_ENABLED, (k_timeslice_t)500u);
|
||||
tos_robin_default_timeslice_config((k_timeslice_t)500u);
|
||||
(void)tos_task_create(&task_demo1, "demo1", entry_task_demo1, NULL,
|
||||
PRIO_TASK_DEMO, stack_task_demo1, STK_SIZE_TASK_DEMO,
|
||||
timeslice_demo1);
|
||||
|
@@ -49,7 +49,6 @@ extern k_mmheap_ctl_t k_mmheap_ctl;
|
||||
|
||||
#if TOS_CFG_ROUND_ROBIN_EN > 0u
|
||||
extern k_timeslice_t k_robin_default_timeslice;
|
||||
extern k_robin_state_t k_robin_state;
|
||||
#endif
|
||||
|
||||
#if TOS_CFG_TIMER_EN > 0u
|
||||
|
@@ -3,11 +3,6 @@
|
||||
|
||||
#if TOS_CFG_ROUND_ROBIN_EN > 0u
|
||||
|
||||
typedef enum k_robin_state_en {
|
||||
TOS_ROBIN_STATE_ENABLED,
|
||||
TOS_ROBIN_STATE_DISABLED,
|
||||
} k_robin_state_t;
|
||||
|
||||
/**
|
||||
* @brief Set time slice.
|
||||
* Set time slice of a task.
|
||||
@@ -32,7 +27,7 @@ __API__ void tos_robin_timeslice_set(k_task_t *task, k_timeslice_t timeslice)
|
||||
*
|
||||
* @return None
|
||||
*/
|
||||
__API__ void tos_robin_config(k_robin_state_t robin_state, k_timeslice_t default_timeslice);
|
||||
__API__ void tos_robin_default_timeslice_config(k_timeslice_t default_timeslice);
|
||||
|
||||
__KERNEL__ void robin_sched(k_prio_t prio);
|
||||
|
||||
|
@@ -32,7 +32,6 @@ k_mmheap_ctl_t k_mmheap_ctl;
|
||||
|
||||
#if TOS_CFG_ROUND_ROBIN_EN > 0u
|
||||
k_timeslice_t k_robin_default_timeslice = TOS_CFG_CPU_TICK_PER_SECOND / 10;
|
||||
k_robin_state_t k_robin_state = TOS_ROBIN_STATE_DISABLED;
|
||||
#endif
|
||||
|
||||
#if TOS_CFG_TIMER_EN > 0u
|
||||
|
@@ -2,18 +2,18 @@
|
||||
|
||||
#if TOS_CFG_ROUND_ROBIN_EN > 0u
|
||||
|
||||
__API__ void tos_robin_config(k_robin_state_t robin_state, k_timeslice_t default_timeslice)
|
||||
__API__ void tos_robin_default_timeslice_config(k_timeslice_t default_timeslice)
|
||||
{
|
||||
TOS_CPU_CPSR_ALLOC();
|
||||
TOS_CPU_INT_DISABLE();
|
||||
|
||||
k_robin_state = robin_state;
|
||||
TOS_CPU_INT_DISABLE();
|
||||
|
||||
if (default_timeslice > (k_timeslice_t)0u) {
|
||||
k_robin_default_timeslice = default_timeslice;
|
||||
} else {
|
||||
k_robin_default_timeslice = TOS_CFG_CPU_TICK_PER_SECOND / 10;
|
||||
}
|
||||
|
||||
TOS_CPU_INT_ENABLE();
|
||||
}
|
||||
|
||||
@@ -44,10 +44,6 @@ __KERNEL__ void robin_sched(k_prio_t prio)
|
||||
TOS_CPU_CPSR_ALLOC();
|
||||
k_task_t *task;
|
||||
|
||||
if (k_robin_state != TOS_ROBIN_STATE_ENABLED) {
|
||||
return;
|
||||
}
|
||||
|
||||
TOS_CPU_INT_DISABLE();
|
||||
|
||||
task = readyqueue_first_task_get(prio);
|
||||
|
@@ -34,7 +34,7 @@ TEST test_robin(void)
|
||||
int test_count = 0;
|
||||
const double deviation = 0.1;
|
||||
|
||||
tos_robin_config(TOS_ROBIN_STATE_ENABLED, (k_timeslice_t)500u);
|
||||
tos_robin_default_timeslice_config((k_timeslice_t)500u);
|
||||
err = tos_task_create(&test_task_00, "test_task_00", test_robin_task_00_entry,
|
||||
NULL, k_curr_task->prio + 1,
|
||||
test_task_stack_00, sizeof(test_task_stack_00),
|
||||
|
Reference in New Issue
Block a user