danwanhao_branch
dancer 1 year ago
parent d6fa6f48fa
commit 4d8d4f01e8

@ -37,30 +37,30 @@
#endif #endif
LITE_OS_SEC_DATA_INIT UINT32 g_sysClock; LITE_OS_SEC_DATA_INIT UINT32 g_sysClock; //系统时钟,绝大部分部件工作的时钟源,以及所有外设的始终来源
LITE_OS_SEC_DATA_INIT UINT32 g_tickPerSecond; LITE_OS_SEC_DATA_INIT UINT32 g_tickPerSecond; //每秒Tick数harmony默认为每秒100次即10ms
LITE_OS_SEC_BSS DOUBLE g_cycle2NsScale; LITE_OS_SEC_BSS DOUBLE g_cycle2NsScale; //将周期转为纳秒级
/* spinlock for task module */ /* spinlock for task module */
LITE_OS_SEC_BSS SPIN_LOCK_INIT(g_tickSpin); LITE_OS_SEC_BSS SPIN_LOCK_INIT(g_tickSpin); //节拍器自旋锁
/* /*
* Description : Tick interruption handler * Description : Tick interruption handler
*/ */
LITE_OS_SEC_TEXT VOID OsTickHandler(VOID) LITE_OS_SEC_TEXT VOID OsTickHandler(VOID)//节拍中断处理函数harmony默认1ms触发一次
{ {
#ifdef LOSCFG_SCHED_TICK_DEBUG #ifdef LOSCFG_SCHED_TICK_DEBUG
OsSchedDebugRecordData(); OsSchedDebugRecordData();
#endif #endif
#ifdef LOSCFG_KERNEL_VDSO #ifdef LOSCFG_KERNEL_VDSO
OsVdsoTimevalUpdate(); OsVdsoTimevalUpdate(); //更新vdso数据页时间vsdo可以直接在用户进程空间绕过系统调用获取系统时间
#endif #endif
#ifdef LOSCFG_BASE_CORE_TICK_HW_TIME #ifdef LOSCFG_BASE_CORE_TICK_HW_TIME
HalClockIrqClear(); /* diff from every platform */ HalClockIrqClear(); /* diff from every platform */
#endif #endif
OsSchedTick(); OsSchedTick();//由时钟发起的调度
} }

Loading…
Cancel
Save