| ||
小问题:外设向soc上报中断应该是脉冲信号还是电平信号。
回答:应该把中断请求看作一次握手,req asserts,在ack没有来之前,req 不能deasserts, 否则可能造成混乱。
具体的,如果intr高有效,应一直为高,直到cpu 响应这个请求,ISR执行某个操作(读/写对应状态标志)intr deasserts。
为什么说,脉冲信号可能造成混乱,举例来说,在某个时间段内,如果外设频繁的向cpu发出请求脉冲,NVIC中断向量嵌套可能会处理前几个请求,将其记录下来,然后一个一个处理,但记录的个数毕竟是有限的,如果超过临界范围,脉冲中断请求就是无效的,直接被忽略。
这个问题应该和理解握手流程联系起来,特别要区分partial handshake 和full handshake的差别,对应不同的应用场景。
---------------------------------------------------------------------------------------------
需要理解ARM 架构是如何规定异常处理模型的.
结论: arm架构上不区分是脉冲还是电平中断,用一套机制来处理。
---------------------------------------------------------------------------------------------
需要理解GIC架构
结论:重点是理解那个状态机,理解中断仲裁优先级,理解如何和ARM exception model兼容。