update System/sv_com.c.

Signed-off-by: 零中断延迟的RTOS <cosyos@139.com>
This commit is contained in:
零中断延迟的RTOS
2025-02-19 14:56:06 +00:00
committed by Gitee
parent 6856dec2ec
commit 647bb9063e
+8 -8
View File
@@ -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;
}