外部中断处理和内部中断处理的差异性
通常支持不同的中断触发方式,包含Interrupt Masking、Interrupt Trigger Mode、Interrupt Trigger Level …等。在开始使用每个中断来源之前,这些控制选项都必须在上设定正确。
3. 模拟结果
将上述的Reference Design整合完成后,搭配测试程序进行仿真,并藉由波形图来观察不同中断模式下,相关中断讯号线的变化。
3.1 IVIC模拟结果
在IVIC仿真环境中,主要测试程序如下:
l 由GPIO触发一中断,并将中断传递给CPU
l CPU接收到中断后,执行相对应的中断处理程序
仿真结果如图表11所示,当GPIO触发中断后,将中断直接传递给CPU,在CPU端的int_req讯号线会触发,表示有中断发生。当CPU收到中断讯号后,接着会处理相对应的中断处理程序。
3.2 EVIC模拟结果
在EVIC仿真环境中,主要测试程序如下:
l 由GPIO触发一中断
l 此时INTC设罝为EVIC模式,并将中断讯号和相关沟通讯号传递给CPU
l CPU接收到中断后,会将响应讯号拉起,告知INTC收到该中断,并执行相对应的中断处理程序
仿真结果如图表12所示,当GPIO触发中断后,INTC将中断和相关沟通讯号(ireqval)传递给CPU,在CPU端的int_req讯号线和evic_ireqval讯号线会触发,表示有中断发生。当CPU收到中断讯号后,会将evic_ireqack讯号线拉起,告知INTC收到中断。仿真结果如同章节1.2和图表5所论述。
结语
在AndesCore? N968A-S 所提供的两种中断模式里,其中的IVIC模式使用CPU内的中断控制器来处理中断,此模式对用户来说,只要将中断来源和CPU端的中断讯号连接即可,相当容易整合。若用户所设计的系统里,中断来源数目超过IVIC模式所支持,或者系统需要更复杂的优先权选择时,则可选用EVIC模式。在EVIC模式下,用户需额外设计外部中断控制器,并整合相关沟通讯号。因此,用户可根据本身系统的复杂度和整合的难易度,来选择适合的中断处理模式。
- ARM Linux外部中断处理过程(11-20)
- 产品成功设计14项要素(08-19)
- 中断处理模式: 外部中断处理和内部中断处理的差异性(08-08)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)