arm嵌入式原理技术和应用ch-5.ppt

如果将ARB_SEL2的值设置为01,则一个新的优先级次序将被使用,01对应的优先级次序为0-2-3-4-1-5,处于第2优先级的INT_TIMER1中断现在变成了第5优先级。 ARB_SEL2被设置为00、01、10、11,各个值所出现的情况可以看出,除最高和最低的优先级不变以外,其他各个中断的优先级其实是在做一个旋转排列(rotate)。 令ARB_MODE2=1,ARB_SEL2=00,则当前ARBITER2的优先级顺序为0-1-2-3-4-5。 假设现在该组的1号中断请求INT_TIMER1和2号中断请求INT_TIMER2被同时触发,CPU根据优先级判断后,决定先把INT_TIMER1中断向ARBITER6进行发送,由ARBITER6做最终优先级判断,接着再向ARBITER6发送INT_TIMER2中断。 注意:在INT_TIMER1被处理完毕后,该组中段的优先级次序被自动做了一次旋转,旋转后ARBITER2的优先级顺序变为0-2-3-4-1-5。 假设之后某个时刻该组的INT_TIMER1和INT_TIMER2又被同时触发,则此时CPU优先处理的会是INT_TIMER2。 若另ARB_MODE2=0,则该组的中断优先级次序在任何情况下都不做任何改变,除非人为地重新设置了ARB_SEL2的值

文档评论(0)

1亿VIP精品文档

相关文档