① BIT状态标志区
用于高速控制与调度标志,全部为bit级变量,访问开销极低。
KUAI_PROCESS_A/B:高速任务控制
SCHED_REASON:调度触发来源
ISR_FLAG:中断保护标志
RTOS_MODE:调度模式切换
os_int_status:临界区状态
SCHED_REASON:调度触发来源
ISR_FLAG:中断保护标志
RTOS_MODE:调度模式切换
os_int_status:临界区状态
② DATA / 寄存器保护区
用于中断上下文保存与临时寄存器保护(0x30~0x34)。
OS_INTERRUPT_PROTECT @0x30
OS_R0_PROTECT @0x31
os_sp @0x32
OS_HRTOS @0x33
OS_HRTOS_2 @0x34
该区域在中断进入/退出时快速保存CPU关键寄存器,避免任务上下文污染。
③ STACK堆栈区
三层栈结构:系统栈 / 中断栈 / 用户栈完全隔离。
OS_HRTOS_DUIZHAN_OS (系统栈 System Stack)
OS_HRTOS_DUIZHAN_INT (中断栈 Interrupt Stack)
OS_HRTOS_DUIZHAN_APP (用户栈 User Stack)
分层堆栈可避免中断与任务栈互相污染,提高系统稳定性。
④ IDATA调度核心区
os_current_task
os_prev_task
OS_DISPATCH_ID
OS_TIME_XY
os_critical_nesting
固定地址高速访问区域,用于任务切换、调度触发与时间片控制。
⑤ XDATA全局资源池
OS_PROCESS_OK[]
OS_JINCHENG_SP[]
OS_KUAI_SP[]
OS_TASK_CONTEXT[]
OS_FAST_CONTEXT[]
OS_MEMORY[]
OS_EVENT_BIT
OS_TICK_COUNT_L/H
统一管理任务状态、上下文、事件系统与时间系统,是RTOS资源核心区。
⑥ 内核对象池
OS_TASK[OS_PROCESS_MAX]
OS_RES[OS_RESOURCE_MAX]
OS_MSGQ[OS_MSGQ_MAX]
提供任务 / 资源 / 消息队列统一管理接口,支撑IPC与调度系统。
设计原则
Bit优先:控制路径极致优化
DATA隔离:中断安全上下文
STACK分层:系统稳定性保障
IDATA高速:调度零延迟访问
XDATA统一:资源池化管理
O(1)路径优先:避免复杂搜索结构
DATA隔离:中断安全上下文
STACK分层:系统稳定性保障
IDATA高速:调度零延迟访问
XDATA统一:资源池化管理
O(1)路径优先:避免复杂搜索结构