单片机论坛

 找回密码
 立即注册

QQ登录

只需一步快速开始

搜索
查看: 774|回复: 0
打印 上一主题 下一主题
收起左侧

Linux-ARM之中断GIC分析

[复制链接]
跳转到指定楼层
楼主
望风 发表于 2018-11-26 14:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
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公用的中断
SGI0~15
PPI16-31
SPI32~1019
2. follow me
通常把GIC分成两个部分分发器(Distributor)和CPU接口
分发器其实应该叫汇聚器在IC的后端设计中layout会把各个模块引过来的中断线混接到GIC上(就是上面说的三种中断)然后把混聚合的中断接到CPU的irq线上
这样core就有触觉了
3. 模型
既然是中断控制器必不可少的是总的中断使能各个子中断使能优先级排序在多核系统中对于SGI还可以指定中断发往哪个CPU core
如何才能保证中断不丢失呢?啊对了就是pendingdistributor会把收集来的中断先缓存一下依次交给CPU处理cpu读取一个中断其实
就嵌取一个寄存器只不过这个寄存器存放的是中断号这时候中断的状态由pending转为activecpu处理完了以后将中断号写入GIC告诉
GIC我处理完了你可以歇歇了




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51Hei单片机16群 联系QQ:125739409;技术交流QQ群7344883

Powered by 单片机坛网

快速回复 返回顶部 返回列表
ձһhƬձƵ ձƵɫwww ձƵ:ɫ