提到中断就必须了解到GIC,下面先了解一下GIC
一、GIC概念
GIC(Generic Interrupt Controller)是ARM公司提供的一个通用的中断控制器。GIC通过AMBA(Advanced Microcontroller Bus Architecture)这样的片上总线连接到一个或者多个ARM processor上。
下面是Ex...
分类:
其他好文 时间:
2016-06-21 07:13:22
阅读次数:
268
GIC———-ARM Generic Interrupt Controller一、GIC简介:
GIC是的ARM研发的一个通用的中断控制器,它在硬件上的实现形态分为两种:
一种是ARM体系中的半导体公司在研发自己的SOC的时候,向ARM公司购买GIC的IP,这些GIC的型号有:GIC-400,GIC-500等等。另一种形态是ARM vensor直接购买ARM公司已经集成了GIC的多核方案,比如C...
分类:
系统相关 时间:
2016-06-02 14:55:35
阅读次数:
848
在整个ARM体系结构中,为了处理外部中断,依次学习了MMU,模式跳转,异常,GIC,看门狗程序,这些都是为了处理外部中断具体如下:处理外部中断有五个步骤:30 //step 1: cpu cpsr31 __asm__ __volatile__(32 "mrs r0, cpsr\n"33 "bic r...
分类:
其他好文 时间:
2015-05-19 20:33:46
阅读次数:
316
在ARM中,事件发生将会触发中断,然而,中断并不会直接触发CPU,而是在由一个GIC,中断控制器来管理:其中,中断分为?Supports three interrupt types:Private Peripheral Interrupt (PPI)一个中断源对应一个CPUSoftware Gene...
分类:
其他好文 时间:
2015-05-18 22:26:27
阅读次数:
220
一个系统中,中断是很重要的组成部分之一,有了中断,系统才可以不用一直轮询(polling)是否有事件发生,系统效率才得以提高,而且对中断的控制又通常分散在各个地方,不同的部分由不同功能的程序控制,做到了各司其职,配合无误,系统才能正常工作。一般系统中,中断控制分为三个地方:模块、中断控制器、处理器,模块通常有寄存器可以控制是否使能中断功能,中断触发条件等;中断控制器可以管理中断的优先级等,而处理所...
分类:
系统相关 时间:
2015-04-12 01:28:28
阅读次数:
1643
一. 预热文章; | 二. C语言中插入ARM汇编; | 三. U-Boot下汇编裸板开发基本流程; | 四. U-Boot下C语言裸板开发基本流程; | 五. MMU 配置流程; | 六....
分类:
其他好文 时间:
2015-03-07 21:15:53
阅读次数:
929
1、CPU Interface Control Register, GICC_CTLR :控制寄存器,控制是否上报中断到处理器;
2、Interrupt Priority Mask Register, GICC_PMR :中断优先级屏蔽寄存器,我们可以理解为处理器不是一般人,不是谁都可以打扰的,此寄存器的作用就是设置一个优先级阈值,优先级高于此值的中断才会上报给处理器响应;
3、Interru...
分类:
其他好文 时间:
2014-11-30 20:08:48
阅读次数:
246
这组寄存器主要是用来设置中断的优先级,每个寄存器可以设置4个中断的优先级,每个中断对应8个bit位,由此可知每个中断的优先级的设置值最大为255,最小为0,数值越小,表示中断优先级越高;
此组寄存器的个数由GICD_TYPER.ITLinesNumber 的值决定,为(8
* (GICD_TYPER.ITLinesNumber+1))个; 每个寄存器划分的4个设置域为:
[...
分类:
其他好文 时间:
2014-10-12 23:37:48
阅读次数:
399
此组寄存器主要设置某个中断对应的目标处理器,即某个中断应该发往哪个处理器进行处理;和上一组优先级设置寄存器一样,本组寄存器同样是每个寄存器可以设置4个中断的目标处理器,每个中断有8个bit位可进行设置;此组寄存器的个数同样也由GICD_TYPER.ITLinesNumber决定,为(8*(GICD_TYPER.ITLinesNumber+1))个.
相对偏移区间为0x800-0xbf8;每个寄...
分类:
其他好文 时间:
2014-10-12 23:17:38
阅读次数:
430