mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-09-21 21:03:39 +08:00
+8
-8
@@ -4,8 +4,8 @@
|
||||
* @brief 内核服务公共函数
|
||||
* @details 在服务层临界区中,由内核服务调用。
|
||||
* @author 迟凯峰
|
||||
* @version V1.0.0
|
||||
* @date 2025.02.08
|
||||
* @version V1.0.1
|
||||
* @date 2025.02.19
|
||||
******************************************************************************/
|
||||
|
||||
#include "os_var.h"
|
||||
@@ -149,16 +149,16 @@ void sv_task_remove_ready(s_tasknode_tsp htask)
|
||||
s_u8_t sv_task_select_ready(void)
|
||||
{
|
||||
#if SYSCFG_TASKPRIORITY > 64
|
||||
s_u8_t table_index = s_task_map_pick[s_task_table_index >> 1];
|
||||
s_u8_t bytes_index = s_task_map_pick[s_task_bytes_index[table_index] >> 1];
|
||||
s_u8_t bit_index = s_task_map_pick[s_task_ready_table[table_index][bytes_index] >> 1];
|
||||
s_u8_t table_index = s_task_map_pick[s_task_table_index >> (SYSCFG_TASKPICKBITMAP & 1)];
|
||||
s_u8_t bytes_index = s_task_map_pick[s_task_bytes_index[table_index] >> (SYSCFG_TASKPICKBITMAP & 1)];
|
||||
s_u8_t bit_index = s_task_map_pick[s_task_ready_table[table_index][bytes_index] >> (SYSCFG_TASKPICKBITMAP & 1)];
|
||||
s_u8_t pri = (table_index << 6) + (bytes_index << 3) + bit_index;
|
||||
#elif SYSCFG_TASKPRIORITY > 8
|
||||
s_u8_t bytes_index = s_task_map_pick[s_task_bytes_index >> 1];
|
||||
s_u8_t bit_index = s_task_map_pick[s_task_ready_table[bytes_index] >> 1];
|
||||
s_u8_t bytes_index = s_task_map_pick[s_task_bytes_index >> (SYSCFG_TASKPICKBITMAP & 1)];
|
||||
s_u8_t bit_index = s_task_map_pick[s_task_ready_table[bytes_index] >> (SYSCFG_TASKPICKBITMAP & 1)];
|
||||
s_u8_t pri = (bytes_index << 3) + bit_index;
|
||||
#else
|
||||
s_u8_t pri = s_task_map_pick[s_task_ready_table >> 1];
|
||||
s_u8_t pri = s_task_map_pick[s_task_ready_table >> (SYSCFG_TASKPICKBITMAP & 1)];
|
||||
#endif
|
||||
return pri;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user