本文主要是介绍AUTOSAR Interrupt,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
AUTOSAR中断
中断提供了应用程序与现实世界中发生的事情之间的接口。例如,我们可以使用中断来捕获正在按下的按钮,以标记时间的流逝或捕捉一些其他刺激。
当中断发生时,处理器通常先查询本地存储的预配置的中断向量。中断向量一般包含了对应中断句柄的地址。
单级中断和嵌套中断
目标处理器根据中断优先级的数量或目标硬件上的中断机制进行分类。有两种类型:
Sigle-level 在单级平台上,只有一个中断优先级。如果一个中断正在被处理,所有其他挂起的中断必须等到当前处理完成。
Multi-level 在多级平台上有多个中断级别。如果一个中断正在被处理,它可以被任何更高优先级的中断抢占。这有时被称为嵌套中断模型。
中断服务例程
AUTOSAR操作系统使用中断服务例程(ISR)来捕获中断。ISR类似于Task,却又存在一些差异:
- ISR不能被OS API调用激活
- ISR不能调用TerminateTask()和ChainTask() API
- ISR从相关中断优先级的入口点开始执行
- ISR只能进行OS API调用的一个子集
一类和二类中断
AUTOSAR操作系统把中断分为2类,分别是一类和二类。分类表示OS是否参与中断处理。
一类中断
一类中断不与OS交互。一类中断在应用中应该具有最高优先级。
二类中断
对于二类中断,中断向量指向内部OS代码。当中断触发时。OS执行内部代码,然后调用我们提供的
这篇关于AUTOSAR Interrupt的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!