2016-07-31 ND
8.1 中断
- OSEK/VDX有三类中断,1类ISR,2类ISR和3类ISR。
- 1类ISR最快,开销最小。
- 2类ISR要调用API服务。
- 3类ISR是前两类的集合。
8.2 中断服务
- EnterISR();用于3类
- LeaveISR();用于3类
- 一个报警只能激活一个任务或设置一个事件。
- ISR在OIL中定义属性,CATEGORY。
- 四类定义临界区服务:
第一类
GetInterruptDescriptor()查询方式
第二类
DisableInterrupt()
EnableInterrupt()
第三类
DisableAllInterrupt()
EnableAllInterrupt()
第四类
SuspendOSInterrupt()
ResumeOSInterrupts()
8.3 启动操作
- 在执行第一个用户任务之前的最后一个函数是使用户中断有效。
- 调用EnableInterrupt()
8.4 总结
- 中断是提高应用程序的吞吐率的最有效的方法。