HRTOS Module

Time 时间模块

Time模块是HRTOS内核时间驱动核心,基于Tick ISR推进WAIT系统、调度触发与定时机制, 是Delay / Timer / Scheduler Tick的统一时间底座。

Tick Driven WAIT Core Kernel Time

时间体系结构

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(上下文切换)

核心子模块

相关模块