中断入口机制(Interrupt Entry)

描述HRTOS中断发生后,从硬件触发进入内核执行路径的第一阶段处理流程。

机制定义

Interrupt Entry = 硬件触发 + 向量跳转 + 上下文保存 + 进入内核中断栈

API接口映射

中断入口依赖内核提供的标准ISR上下文管理接口。

进入中断

os_interrupt_enter()

退出中断

os_interrupt_exit()

中断初始化

os_interrupt_init()

触发来源

1. 外部硬件中断(GPIO / UART / TIMER)
2. 系统定时器Tick
3. 软件中断触发
4. 异常事件(Fault / Trap)

执行流程

1. CPU响应中断请求
2. 自动保存PC/PSR
3. 跳转中断向量表
4. 切换至中断栈
5. 进入HRTOS ISR入口

内核执行路径

Interrupt Trigger → Vector Table → ISR Handler → os_interrupt_enter() → Kernel Context Save → Scheduler Check

演示代码


#include 

/* 模拟中断服务函数 */
void ISR_Handler(void)
{
    os_interrupt_enter();   // 进入中断上下文

    os_news_send1(0, 0x99); // 中断事件通知

    os_interrupt_exit();    // 退出中断
}

/* 系统初始化 */
void system_init(void)
{
    os_interrupt_init();
}

/* 主函数 */
void main(void)
{
    system_init();

    while(1)
    {
        os_nop();
    }
}
    

系统意义

中断入口是实时系统响应延迟的关键路径,其执行效率直接决定系统实时性能上限。

相关导航

任务执行模型

Task Execution

调度系统

Scheduling Engine

中断机制

Interrupt Flow

任务生命周期

Task Lifecycle