【转载】
Nuleus PLUS中断处理
中断发生的时候,Nucleus挂起当前的任务,处理器的控制权转交给中断处理程序(ISR)。ISR要使用系统功能,就不可避免的要使用到公共资源,而这些资源是需要保护的,保护的办法之一就是在运行ISR的时候屏蔽其它中断,但对于实时系统来说,这显然不是一个好办法,为此,Nucleus通过把应用程序的ISR区分为低级和高级中断处理程序。
低级中断
低级中断服务子程序(LISR)和普通的ISR一样运行在当前的堆栈空间,LISR运行之前系统需要保护处理器现场,运行结束之后恢复现场,但是对于LISR,只有小部分的Nucleus PLUS服务可以被使用,要使用更多的系统服务,就需要使用高级中断服务子程序(HISR)。
高级中断
高级中断服务子程序(HISR)支持动态创建和删除,每个HISR有自己的堆栈空间和控制块,HISR必须在LISR激活之前被创建。
HISR有三个优先级,低优先级的HISR可以被高优先级的HISR抢获处理器。
======================================================================
LISR和HISR是针对OS中断处理不同层次需要而设计的,LISR在硬件中断时立即从Vector表产生,对其执行时间必须要求相当苛刻,所以一般是什么都事都不干,仅仅做一个中断触发标记(当然也有例外,对于有些时间要求更高的FIQ的ISR,必须使其放在LISR处理)。而HISR其实是一个独立于TASK之外而比TASK高级的服务例程,它进行真正的中断处理,因此,它会在LISR完的下一次OS线程调度时触发出来,但是,HISR对执行时间要求也很短。
--------------------------------------------
对于Linux,中断分为两个部分,上半部和下半部(bottom half),在上半部执行的时候,是关中断的,而在下半部执行的时候,是开中断的,即可以响应其它的中断。
在上半部中,处理的是很紧急的事情,而在下半部中则可以执行不那么紧急的。
比如对于网卡来说,在中断上半部中,将网卡中的数据拷贝到内存中来,而在下半部中,则将这些数据通过网络协议栈给传到上层去。
分享到:
相关推荐
在Nucleus操作系统中,中断分为低层中断(Lisr)和高层中断(Hisr)。中断服务程序通常在Hisr中执行,以确保系统的实时响应。对于可能长时间占用CPU资源的中断服务,如触摸屏按下,建议激活一个新的任务来处理,以...
`EINT0_Enable`函数用于启用或禁用外部中断EINT0,而`__irq EINT0_LISR`函数则是当EINT0中断发生时被调用的中断服务程序(ISR)。 #### 参考文献 - [1] 毛德操,胡希明. 嵌入式系统--采用公开代码和StrongARM/Xscale...
该文档标题为“开关电源CHECK LISR”,描述中提到的是关于开关电源PCB layout方面的检查确认清单。此清单旨在帮助硬件工程师和LAYOUT工程师确保PCB设计的质量,通过一系列具体的检查项来保证PCB的可靠性和稳定性。...
- **NU_Register_LISR** 和 **NU_Register_HISR**:注册低优先级中断服务例程 (LISR) 和高优先级中断服务例程 (HISR)。中断服务例程用于处理硬件中断,是实时系统中不可或缺的部分。 - **NU_Unregister_LISR** 和 *...
"提示这是一个免费资源,而"dir_lisr"可能是拼写错误,实际指的是"dir_list",即目录列表功能。"php_mysql_suorce"暗示该程序涉及到PHP处理MySQL数据库的源代码。 在描述中,"dir lister php download free"进一步...
中断处理分为低级中断(Lisr)和高级中断(Hisr),中断服务程序通常在Hisr中执行,但为了保证系统响应效率,如果中断服务需要较长处理时间,应启动新任务以避免阻塞其他关键任务。在处理ADS7846中断时,通常采用...
中断处理程序`EINT0_LISR()`在接收到INT0中断时执行,改变LED4的状态并等待一段时间,模拟中断后的处理过程。 实验报告应包含程序流程图和带注解的程序清单,以便于理解每个函数的作用和整个系统的运行流程。程序...
此外,NUCLEUS PLUS还提供了信号处理器、用户中断服务例程(ISR)、低级中断服务例程(LISR)和高级中断服务例程(HISR),用于处理外部事件和中断请求。 #### 动态内存管理 动态内存管理是嵌入式系统设计中的一个...
LiSr2[ReN4] und LiBa2[ReN4] - isotype Nitridorhenate(VII) LiSr2[ReN4] und LiBa2[ReN4] ± isotype Nitridorhenate(VII) Oliver Hochrein, Horst Borrmann und RuÈ diger Kniep* Dresden, Max-Planck-...
LiSr2[ReN4] und LiBa2[ReN4] - isotype Nitridorhenate(VII) LiSr2[ReN4] und LiBa2[ReN4] ± isotype Nitridorhenate(VII) Oliver Hochrein, Horst Borrmann und RuÈ diger Kniep* Dresden, Max-Planck-...
- 包括低级别中断服务例程(LISR)和高级别中断服务例程(HISR),它们是处理中断的关键部分,确保实时响应。 7. **内存管理**: - 虽然未在描述中具体列出,但实时操作系统通常包含内存分配和释放的机制,确保...
- **ISR模拟器**:Modis提供了一个易于使用的LISR/HISR(低优先级中断服务例程/高优先级中断服务例程)模拟机制。 - **Catcher工具**:Modis支持通过Catcher工具记录日志信息,便于调试。 - **皮肤布局与图层监控...
2. 管理DMA标志:在开始新的DMA传输之前,用户必须检查DMA_LISR或DMA_HISR中的传输完成中断标志(TCIF)是否已清零。这确保了之前的DMA传输已经完全完成,避免了新旧传输间的冲突或数据覆盖。建议在开始新的DMA传输...
Nucleus支持LISR(低优先级中断服务例程)和HISR(高优先级中断服务例程),前者应快速执行,后者处理次要但紧迫的任务。RTOS调度器会按优先级启动任务,_idle task_ 通常是优先级最低的。 4. **任务与模块的区别**...
因此,基于这种学习方式,能够得到两种形式的LiSR,分别是低分辨率块指导的LiSR(LR-LiSR)和高分辨率块指导的LiSR(HR-LiSR)。LR-LiSR在给定输入低分辨率块时,直接学习局部支持的映射函数;而HR-LiSR则通过迭代...
报道了在CF4气氛中生长的掺Ce3+的LiM(M=Ca,Sr)A1F6晶体和掺Ce3+的LiSr0.8 Ca0.2AlF6混晶,以及Ce3+在这些晶体中的紫外吸收光谱及有效分凝系数.Ce3+:LiSr0.8Ca0.2AlF6在240~280 nm波长范围内有连续展宽的吸收带,它的...
通过对LiBr-SrBr2二元体系的热力学优化和计算,研究人员获得了关于该体系的关键热力学参数,包括共晶点、化合物LiSr2Br5的转熔温度以及液相混合焓和混合熵等。这些数据不仅为深入理解该体系提供了重要的理论基础,也...
论述了一全固化Cr3+:LiSrAlF6激光实验装置,用连续二极管激光器对1 mm晶体薄片纵向抽运,在平行平面腔结构中,产生5.2 mW的激光输出。自由振荡光谱范围为832~845 nm,斜率效率为15%。