嵌入式技术william hill官网
直播中

贾埃罗

7年用户 1670经验值
私信 关注
[问答]

在rtt中cortex A9的gic怎样去实现中断嵌套呢

在rtt中cortex A9的gic没有实现中断嵌套怎么办?如何实现呢?

回帖(7)

贾埃罗

2022-5-9 11:28:15
中断嵌套没搞定,中断寄存器读取时值比较混乱,搞不明白,目前解决方法
1、只开一个中断,其他全部使用查询
2、不要使用定时任务,全部改成进程任务
举报

贾飞小

2022-5-9 11:28:25
GIC中断嵌套,这个不容易的,硬件上没有这样的支持
举报

贾永世

2022-5-9 11:28:33
cotex a9在使用gic时,只要在中断处理函数中打开cpu中断响应就可以了,更高优先级的中断会嵌套进来。不过要预先对gic的设定做一定改动。
举报

贾埃罗

2022-5-9 11:28:40
如何改动,能提供例程吗?
举报

贾飞小

2022-5-9 11:28:52
这个要对gic比较熟悉,对每个中断源的优先级进行重设,使之符合实际重要性,然后在中断处理程序中手动打开中断(就是清除cpu的cpsr中的I位),这个打开强制中断响应的代码RTT系统中是没有,它只有恢复代码,这需要自己写一下,不过很简单。此外也就没什么了。
现成的修改程倒是没有,你可以试试,有问题再交流吧。
举报

贾永世

2022-5-9 11:29:09
这样在isr中打开I位,使能中断,这样会造成比当前isr更低优先级的中断也会进来,进行响应呢
举报

贾埃罗

2022-5-9 11:29:19
中断中读取当前中断优先级,必须先读取中断ID,在读取当前中断优先级才是正确的,读取中断信息有先后顺序的要求吗?在IDE 中打开memory browser对应中断寄存器地址没结果读取的中断ID为1023,这是怎么回事?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分