[学习笔记-AUTOSAR] OS-中断服务程序,ISR

中断服务程序(ISR)是MCU处理突发事件的关键机制,它允许系统暂停当前任务,响应中断事件。中断向量表存储了中断服务函数的地址,依据中断优先级执行。中断可以分为单级和多级,而CAT2中断是RTOS中推荐的方式,它在执行ISR时兼顾内核操作,提供更好的系统支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

中断服务程序,ISR,Interrupt Service Routines

  • 中断是指MCU在运行过程中,出现某些意外情况需处理时,MCU自动停止正在运行的程序,并转入处理新情况的程序,处理完毕后返回原程序继续运行。
  • 中断提供了应用程序与现实世界中发生的事情之间的接口。例如,我们可以使用中断来捕获触发的按钮、看门狗喂狗操作、计算发生的时间等。
  • 中断向量表:存放在内存中的一个数组,内容是中断服务函数的地址们(数组下标与中断优先级对应,也称中断向量)。当中断来临,根据 中断向量 查询 中断向量表,根据地址找到对应的服务函数。

中断优先级

  • 单级:所有中断为同一优先级,即一个中断执行时,其他中断需等待其结束后再执行

  • 多级:高优先级中断可以抢占低优先级中断

中断策略

推荐只用CAT2方式

  • CAT1 interrupts:
    • 是优先级最高的中断
    • 不与OS进行交互,不需OS支持
    • 大部分OS API不允许被call
    • 需要用户正确的配置硬件、编写处理程序并从中断中返回,用不好的话出错概率高,一般应用较少
  • CAT2 interrupts:
    • 中断发生时,RTA-OS执行内部代码,然后调用用户提供的ISR
    • 中断执行从ISR的指定入口点开始,一直持续到入口函数返回
    • 完全支持OS特征
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值