ZYNQ开发之PL-PS中断

1、说明
\qquad 本文叙述了ZYNQ芯片中断相关内容,并且例举了PL-PS中断实例。参考文献ug585.
2、系统中断架构
\qquad 每个CPU都有一组私有外围中断(PPIs),通过使用banked register进行私有访问。PPIs包括全局定时器、私有看门狗定时器、私有定时器和来自PL的FIQ/IRQ。
\qquad 软件产生的中断(SGIs)被路由到一个或两个cpu。SGIs是通过写入通用中断控制器(GIC)中的寄存器来生成的。
\qquad 共享外围中断(SPI)由PS和PL中的各种I/O和内存控制器生成。它们被路由到其中一个或两个cpu。来自PS外围设备的SPI中断也被路由到PL。
在这里插入图片描述
在这里插入图片描述
3. 通用中断控制器(GIC)
\qquad 通用中断控制器(GIC)用于管理来自PS和PL的发送到CPU的中断。当CPU接口接收到下一个中断时,控制器启用、禁用、屏蔽、对中断源进行优先排序,然后以编程的方式将它们发送到所选的CPU(或CPU)。此外,为了实现安全系统控制器还支持扩展为安全模式。
\qquad 寄存器通过CPU专用总线进行访问,以实现快速读/写响应,避免了互连中的临时阻塞或其他瓶颈。
\qquad 中断分发服务器将所有中断源集中起来,然后将具有最高优先级的中断源分派给各个CPU。GIC确保一个针对多个CPU的中断一次只能被一个CPU执行。所有中断源都由唯一的中断ID号标识。所有中断源都有自己的可配置优先级和目标CPU列表。

4、软件中断SGI
\qquad 每个CPU可以自己产生中断,也可以由其他CPU产生中断,或者使用软件生成中断(SGI),共有16个SGI。通过写SGI中断号到ICDSGIR寄存器和指定的目标CPU可以生成一个SGI。这个写操作通过CPU专用总线完成。每个CPU有至多16个SGI。中断的清除操作是通过读取ICCIAR寄存器或写1到ICDICPR寄存器的相应bit位。所有的SGI

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值