Linux-ARM之中断GIC分析

发布者:神雕最新更新时间:2019-10-15 来源: eefocus关键字:Linux-ARM  中断  GIC 手机看文章 扫描二维码
随时随地手机看文章
  1.“站的高尿的远”

  GIC为中断控制器,不要和ARM core的中断搞混了,这些中断都是连接到ARM core的IRQ或者FIQ上的。


  要了解arm中断系统,GIC绝对不容错过,好先付上一张大家都能百度到的图片。

 
 


  ++和*可以先不用考虑,用于安全模式。
  GIC可以用于单核多核系统,这时候要抛开单片机的简单中断了,从图上看有SGI(Software-generated interrupt)、PPI(Private peripheral interrupt )、SPI(Shared peripheral interrupt),顾名思义SGI为软件可以触发的中断,经常用于各个core之间的通信,PPI为每个core的私有外设中断,SPI为各个core公用的中断。
  SGI:0~15
  PPI:16-31

  SPI:32~1019


  2. follow me

  通常把GIC分成两个部分,分发器(Distributor)和CPU接口。


  分发器其实应该叫汇聚器,在IC的后端设计中,layout会把各个模块引过来的中断线混接到GIC上(就是上面说的三种中断),然后把混聚合的中断接到CPU的irq线上。

  这样core就有触觉了。


  3. 模型

  既然是中断控制器,必不可少的是总的中断使能,各个子中断使能,优先级排序,在多核系统中对于SGI还可以指定中断发往哪个CPU core。


  如何才能保证中断不丢失呢?啊对了就是pending,distributor会把收集来的中断,先缓存一下,依次交给CPU处理,cpu读取一个中断,其实就是读取一个寄存器,只不过这个寄存器存放的是中断号,这时候中断的状态由pending转为active,cpu处理完了以后,将中断号写入GIC,告诉GIC我处理完了,你可以歇歇了。


关键字:Linux-ARM  中断  GIC 引用地址:Linux-ARM之中断GIC分析

上一篇:基于ARM7 ADUC7020+MPU6050的计步算法
下一篇:ARM7 LPC2138数字频率计的设计源码与报告

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved