我注意到以下链接中的一句话
- Routing of interrupts to FIQ (Not supported in AM335x GP devices)
http://processors.wiki.ti.com/index.php/StarterWare_02.00.01.01_Release_Notes
这是意味着AM335x的FIQ根本不可用?
AM335x有一个NMIn管脚(或者叫EXTINTn)这个管脚是否可以触发AM335x进入FIQ中断?
Yaoming Qin:
对于通用版本的AM335x的FIQ是关闭的。
对于国内的客户,用的都是通用版本的AM335x
Jian Zhou:
回复 Yaoming Qin:
梁工:
在我们的TRM 6.1中写了NOTE,如果是官方文档有明确说明,那就是FIQ不可用
YanChang Liang:
回复 Jian Zhou:
看ARM的文档,ARM Cortex™ A8 本身是支持FIQ的,但是好像是AM335x的INTC里面禁用了FIQ。
请问TI禁用FIQ的原因是什么?这么设计的目的是什么?
由于IRQ在实际应用中会出现关中断的情况,而此时如果FIQ可用,那么FIQ依然能响应,但如果没有FIQ,我们又该怎么使用IRQ呢?
Yaoming Qin:
回复 YanChang Liang:
ARM core 的确是支持FIQ的,但是对于国内所用的通用AM335x(GP version), 这个FIQ没有使能,故不能使用。
对于IRQ,您可以减少中断处理函数内的处理过程来缩短中断屏蔽时间,或者使用嵌套中断的方式。