Nucleus中断处理过程!!!!
来源:互联网 发布:淘宝代购上传身份证 编辑:程序博客网 时间:2024/06/05 09:46
Nucleus的中断分为管理的和非管理的中断。
管理中断:需要向操作系统注册该中断向量,中断产生后通过该中断向量注册的低级中断服务程序(LISR)来激活高级的中断服务程序(HISR)。
非管理中断:不需要通过操作系统进行管理,直接将中断服务程序挂到中断向量表上,上下文的保存与恢复都要用户自己来做,该中断自己不能嵌套,最好不要被管理的中断再次中断否则会引起堆栈出错,而且非管理的中断不能使用绝大多数的Nucleus系统调用,因为它可能会破坏操作系统某些保护的数据结构(当有线程在运行时)。
非管理的中断适用于那些比较频繁的中断,如果通过操作系统来管理这些中断的话,其上下文保存与恢复的时间就比较长,中断的实时性就不能满足要求。
Nucleus PLUS 通过把应用程序的 ISRs 区分为低级到高级组件来处理保护问题。
低级中断:低级中断服务子程序(LISR)和正常的 ISR 一样运行,包括使用当前堆栈。Nucleus PLUS 在调用 LISR 之前保存上下文,在 LISR 返回之后恢复上下文(上下文的保持都是由操作系统来完成的)。Nucleus PLUS 支持多个 LISRs 的嵌套。
LISR主要完成硬件中断的处理,及激活HISR。
高级中断:
1、高级中断支持动态创建和删除。每个 HISR 由它自己的堆栈空间和控制块。每个的内存由应用程序提供。高级中断一般都是由低级中断激活。
2、高级中断不允许自挂起。
3、高级中断分成3个优先级:0, 1, 2.。
4、高级中断直接是可以互相抢占的(在一个低优先级的 HISR 处理期间,如果一个更高优先等级的 HISR 被激活,低优先级的 HISR 以与任务抢先方式相同的方式抢先。)。
5、高级中断如果被同时触发多次,一个激活的计数器维护着每个 HISR。这个计数器用于确保每个 HISR 为每次激活运行一次。注意:一个已经激活的 HISR 的每次附加触发都通过连续调用 HISR 来处理。
- Nucleus中断处理过程!!!!
- Nucleus中断处理过程!!!!
- Nucleus PLUS的启动、运行线程和中断处理
- Nucleus PLUS的启动、运行线程和中断处理
- Nucleus PLUS的启动、运行线程和中断处理
- nucleus 学习 中断
- 中断及中断处理过程
- 中断及中断处理过程
- 中断及中断处理过程
- 中断及中断处理过程
- Nucleus启动过程
- WinCE中断处理过程
- ARM 中断处理过程
- 中断处理调用过程
- ARM中断处理过程
- Linux中断处理过程
- Linux中断处理过程
- 中断的处理过程
- 函数重载 与 const 错误问题(MTK36_11A平台)
- 关于MyEclipse6.5 jsp 提示假死问题解决 完美方案
- android中的布局--嵌套布局
- C#学习笔记
- POJ1905 Expanding Rods 二分
- Nucleus中断处理过程!!!!
- Android中TabActivity用法大全
- WCF的用户名+密码认证方式
- class loader 相关材料解释
- 在给xml的某个节点的InnerText赋值时,出现乱码的解决方案
- poj 2159 : Ancient Cipher
- 每一天都是崭新的
- bash中IFS变量的功能
- 在VS2008中配置QT