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