weiqi7777

ARM GIC(十四)gicv3架构-power控制详解

在带有gicv3的soc架构中,其框图如下所示:gicv3中的redistributor与core中的cpuinterface通过AXI-Stream进行通信。一、connection当core上电之后,需要将core中cpuinterface与gic中的redistributor进行connect,这样将来gic才可以将中断发送给core。connection的流程如

ARMv8之exclusive操作(一)exclusive操作的引入

AMRv8架构中的exclusive操作

ARM GIC(十三) 波形为例,介绍gic600与cpu interface通信

以下以gic600与cpuinterface之间传递的包,来说明,他们之间是如何通信的。这里以波形进行介绍。这样比较直观。一、downstreamcontrol命令包gic600发送downstreamcontrol命令包给cpuinterface。命令包的数据为0。downstreamcontrol包格式如下:解释如下:从表中可以解析

ARM GIC(十二) 中断bypass

gicv3的中断bypass介绍

ARM GIC(九) gicv3架构-two secure state

gicv3中,引入了支持2种安全状态(securestate),也就是对于中断,根据secure状态,分为安全中断和非安全中断。当然也可以只支持一种安全状态。这里的2种安全状态和1种安全状态,主要是影响中断分组,所使用IRQ和FIQ管脚的映射,以及gic中的寄存器访问。一、中断线的映

jenkins pipeline取消groovy脚本执行权限

在上一篇文章中(http://www.lujun.org.cn/?p=4025),提到了,如何在jenkins的pipeline中控制并行执行的job数。其中用到了groovy脚本。在job的配置中,是不能勾选usegroovysandbox选项,否则执行会出错。查看这个usegroovysandbox的作用:ifchecked,runthisgroovyscrip

Jenkins pipeline控制并行执行job个数

pipeline中,可以通过parallel,并行跑多个job。但是如果想限制并行跑的job个数,应该如何做呢?比如说有10个job,要并行跑,但是目前资源有限,只允许最多3个同时跑,那这种情况下,应该如何修改Jenkinsfile,来满足这个需求?通过自己的摸索,发现用以下方法,可以实现

AArch32中thumb指令的IT block

ITblock是thumb指令集中引出来的东西,用来解决thumb指令不能条件执行的缺点。可以通过IT指令,给后续的1到4条指令,决定其执行条件。ITblock的信息,存放在PSTATE中,在thumb指令集中,也就是存在CPSR中。存放在CPSR的IT域。IT指令的指令编码如下:其汇编描述:firstco

GICv3软中断

软中断(softwaregeneratedinterrupts),用来多个核之间的通信(inter-processorcommunication)。软件通过写SGI寄存器来产生。软件写ICC_SGI1R_EL1产生对应当前secure状态的group1软中断软件写ICC_ASGI1R_EL1产生secure状态的group1软中断软件写ICC_SGI0R_EL1产生secu

gicv3的中断分组

GICv3架构中,对中断进行了分组。分成了以下三个组:group0,用于EL3处理的中断securegroup1:用于secureEL1处理的中断non-securegroup1:用于non-secure的EL2和non-secure的EL1。对于redistributor的set命令,带有Mod和Grp参数。Mod与Grp共同表示,中断所属的组。其组

ARM编译器(一)ARM汇编与ARM GNU汇编

一、ARM汇编开发的两种的方式ARM汇编开发指用ARM提供的汇编指令,进行ARM程序的开发。ARM汇编开发,有两种开发方式,一种是使用ARM汇编,一种是使用ARMGNU汇编。两种汇编开发,使用的汇编指令是完全一样的,区别是宏指令,伪指令,伪操作不一样。其实两种开发方式的区别

ARM GIC(八)总结

GIC,是arm为了实现复杂的中断控制,而定义的一套架构。版本也历经了多个变化,从最初的GICv1到现在最新的GICv4。每一个新的版本,都增加了一些新的功能。目前最新的GIC-600IP,支持GICv4。不过从GICv3开始,架构就和之前的架构,变化就比较大了。一、变化一:cpuinterf

ARM GIC(七)gicv3架构-power控制

从gic3开始,cpuinterface放到了PE中,因此cpuinterface和PE是同一个powerdomain。而属于gic的其他组件,如redistributor,distributor,是另外一个powerdomain。因此就有如下一种情况,PE和cpuinterface的电源给断掉了,而gic的电源并没有断掉。此时gic给cpuinterface

ARM GIC(六)gicv3架构-LPI

在gicv3中,引入了一种新的中断类型。messagebasedinterrupts,消息中断。一、消息中断外设,不在通过专用中断线,向gic发送中断,而是写gic的寄存器,来发送中断。这样的一个好处是,可以减少中断线的个数。为了支持消息中断,gicv3,增加了LPI,来支持消息中断。并且

ARM GIC(五)gicv3架构-gic stream协议

gicstream协议,是基于AXI-stream协议。用于gic的IRI组件(interruptroutinginfrastructure),和cpuinterface之间,传输信息。distributor,redistributor和ITS,统称为IRI组件。gicstream协议,包含以下2个接口:下行AXI-stream接口:用于IRI向cpuinterface传递信息,