update System/os_handler.c.

Signed-off-by: 零中断延迟的RTOS <cosyos@139.com>
This commit is contained in:
零中断延迟的RTOS
2025-08-08 08:47:28 +00:00
committed by Gitee
parent c4880c6512
commit 651212bd82
+8 -8
View File
@@ -15,13 +15,13 @@
#include "ur_api.h"
#include "ur_eapi.h"
#if (defined ( __ICCARM__ ))
#if defined ( __ICCARM__ )
#define __IAR_WEAK __WEAK
#else
#define __IAR_WEAK
#endif
#if (defined ( __GNUC__ ))
#if defined ( __GNUC__ )
#define sKill_W(p) p
#else
#define sKill_W(p)
@@ -317,7 +317,7 @@ __IAR_WEAK void tCosyTick_Handler(void) MCUCFG_SYSTICK_ATTRIBUTE
#if (SYSCFG_SYSTICKTIME_COUNT == __ENABLED__)
if(true){
m_tick_t ticktemp_e = MCUCFG_SYSTICK_CURRVALUE;
#if (MCUCFG_SYSTICK_COUNTMODE == 1 || MCUCFG_SYSTICK_COUNTMODE == 3)
#if (MCUCFG_SYSTICK_COUNTMODE == 1 || MCUCFG_SYSTICK_COUNTMODE == 3)
if(ticktemp_e > ticktemp_s){
s_tick_count1 += ticktemp_e - ticktemp_s;
}
@@ -453,7 +453,7 @@ __IAR_WEAK bool _start_task_(void) MCUCFG_OSIT_ATTRIBUTE
#if (SYSCFG_DEBUGGING == __ENABLED__)
__IAR_WEAK void _cpu_usedtime_(m_tick_t ticktemp_0) MCUCFG_OSIT_ATTRIBUTE
{
#if (MCUCFG_SYSTICK_COUNTMODE == 1 || MCUCFG_SYSTICK_COUNTMODE == 3)
#if (MCUCFG_SYSTICK_COUNTMODE == 1 || MCUCFG_SYSTICK_COUNTMODE == 3)
if(usedtime[0]){
s_task_current->usedtime[0] += usedtime[0] - 1;
usedtime[0] = 0;
@@ -486,7 +486,7 @@ __IAR_WEAK void _cpu_usedtime_(m_tick_t ticktemp_0) MCUCFG_OSIT_ATTRIBUTE
#endif
void pendsv_hook(void);
#if (defined ( __CC_ARM ))
#if defined ( __CC_ARM )
register s_tasknode_tsp node_news __ASM("r3");
#else
__IAR_WEAK s_tasknode_tsp _SYS_MEM_ s_task_news/**/sZeroInstall;
@@ -525,7 +525,7 @@ __IAR_WEAK s_u8_t sPendSV_Handler(void) MCUCFG_OSIT_ATTRIBUTE
#if (SYSCFG_DEBUGGING == __ENABLED__)
m_tick_t _SYS_REG_ ticktemp_0 sKill_W(=0);
#endif
#if (!defined ( __CC_ARM ))
#if !defined ( __CC_ARM )
s_tasknode_tsp _SYS_REG_ node_news;
#endif
s_u8_t _SYS_REG_ pri;
@@ -543,7 +543,7 @@ __IAR_WEAK s_u8_t sPendSV_Handler(void) MCUCFG_OSIT_ATTRIBUTE
/* 选择就绪 */
if(true){
#if (SYSCFG_TASKPRIORITY > 64)
#if (SYSCFG_TASKPRIORITY > 64)
s_u8_t table_index = s_task_pickmap[s_task_table_index >> (SYSCFG_TASKPICKBITMAP & 1)];
s_u8_t bytes_index = s_task_pickmap[s_task_bytes_index[table_index] >> (SYSCFG_TASKPICKBITMAP & 1)];
s_u8_t bit_index = s_task_pickmap[s_task_ready_table[table_index][bytes_index] >> (SYSCFG_TASKPICKBITMAP & 1)];
@@ -681,7 +681,7 @@ __IAR_WEAK s_u8_t sPendSV_Handler(void) MCUCFG_OSIT_ATTRIBUTE
}
#endif
mUserReg_RESc();
#if (!defined ( __CC_ARM ))
#if !defined ( __CC_ARM )
s_task_news = node_news;
#endif
}