Time 时间模块
Time模块是HRTOS内核时间驱动核心,基于Tick ISR推进WAIT系统、调度触发与定时机制, 是Delay / Timer / Scheduler Tick的统一时间底座。
时间体系结构
Time System(时间系统)
├─ Tick System(系统节拍)
├─ Delay(任务延时 / wait_tick--)
├─ Timer(定时器 / callback trigger)
└─ Scheduler Tick(调度节拍 / READY switch)
Time模块不只是时间接口,而是驱动整个内核调度的执行源。 所有任务阻塞与唤醒都依赖Tick推进。
内核执行模型
Tick ISR(系统节拍中断)
→ 系统Tick计数 +1
→ 所有WAIT任务 wait_tick--
→ 超时检测(timeout check)
→ WAIT状态任务恢复为READY
→ 触发TF0调度中断(scheduler switch)
Delay与Timer统一由Tick ISR驱动: wait_tick递减 → 超时唤醒 → READY队列更新 → 调度触发。
模块关系
Time System(时间系统)(OS_TICK_COUNT++)
→ Tick ISR(系统节拍中断)
→ OS_TASK[].wait_tick--(任务延时递减)
→ timeout detect(超时检测)
→ WAIT → READY(状态切换)
→ OS_PROCESS_OK set(就绪标志置位)
→ TF0 = 1(调度触发 / scheduler trigger)
→ context switch(上下文切换)