The present invention provides a method and system for implementing interrupt controller, the method includes advanced interrupt controller initialization interface: Advanced interrupt controller interface is the function of the initial application of memory space for AIC equipment, equipment status information for the preservation of the state information when the AIC device and the first. The invention has the advantages that the invention can be widely applied to the development of the aerospace industry, weapons and equipment, automotive, robotics, industrial control and embedded system, enhance the industry labor productivity, reduce costs and enhance the competitiveness of products.
【技术实现步骤摘要】
实现中断控制器组件的方法及系统
本专利技术涉及虚拟验证系统,尤其涉及实现中断控制器组件的方法及系统。
技术介绍
虚拟验证系统是能够对嵌入式硬件系统进行完整模拟的软件系统。用户可以在该系统上模拟运行嵌入式软件,无需相应的硬件即可对嵌入式软件进行测试与调试。通过使用本系统,用户不仅可以极大地缩短嵌入式软件研制周期,而且能够避免高昂的辅助测试硬件研制费用、极大地降低系统成本。虚拟验证系统的一个核心特点是通用性,即系统可以根据测试所需硬件环境的不同,进行通用配置以满足需求,系统提供了两个组件库:1)虚拟处理器组件库;2)虚拟设备组件库。用户可以根据硬件需求,自主在组件库中选取虚拟组件,软定制板级硬件仿真环境。如图1所示,各虚拟设备组件组成设备组件库,供用户挑选、配置并最终生成虚拟验证平台实例。在虚拟设备组件库中,为了涵盖所有需仿真设备的特性,虚拟设备组件可分为4个类别:1)同步虚拟设备(如RAM/ROM、TIMER虚拟组件等);2)异步虚拟通信设备组件(如RS422、SJA-1000虚拟组件等);3)中断控制器组件;4)具有数据信号连接关系的虚拟设备组件(如GPIO、AD ...
【技术保护点】
一种实现中断控制器组件的方法,其特征在于,包括先进中断控制器初始化接口的实现:先进中断控制器初始接口的功能是为AIC设备申请内存空间,用来保存设备的状态信息,并初始化AIC设备的状态信息。
【技术特征摘要】
1.一种实现中断控制器组件的方法,其特征在于,包括先进中断控制器初始化接口的实现:先进中断控制器初始接口的功能是为AIC设备申请内存空间,用来保存设备的状态信息,并初始化AIC设备的状态信息。2.根据权利要求1所述的方法,其特征在于,AIC设备所需要申请的内存空间的大小为568个字节,其中前304个字节用于模拟各个寄存器,后面的字节用来模拟AIC设备的硬件栈。3.根据权利要求1所述的方法,其特征在于,包括AIC复位接口的实现:AIC设备的复位接口的功能是将AIC设备的所有寄存器信息复位为默认值,并将中断栈的栈顶指向栈底。4.根据权利要求1所述的方法,其特征在于,中断控制器组件读接口的实现:获取偏移地址;若addr在0到252中,表明其是中断源模式寄存器或中断源向量寄存器,对他们的进行写操作不会引起中断控制器状态的改变,因此直接将数据总线上的数据写入相应的寄存器即可;若addr在256到284中,则表明其要访问的寄存器为IRQ向量寄存器,FIQ向量寄存器,中断状态,挂起,屏蔽和内核中断状态寄存器,以及两个保留的地址,由此这些寄存器是只读的,因此不能够对他们进行些操作,因此直接返回0即可,表明写失败;若addr为270则表明其要访问的寄存器为FIQ向量寄存器,则首先判断中断挂起寄存器是否有中断未激活,若无,则表明发生了伪中断,将伪中断向量寄存器的值写入数据总线,否则将中断源向量寄存器1的值写入数据总线;若addr在274到286中,则表明他们是中断状态,中断挂起,中断屏蔽,内核中断状态寄存器,对他们的读操作不会改变中断控制器的状态,因此直接将这些寄存器的值写入数据总线即可;若addr在290到300之间,则表明他们是中断使能,中断禁止,中断标志设置,中断标志清除以及中断结束命令寄存器,这些寄存器都是只写寄存器,不能对他们进行读操作,因此只写返回0表明读失败即可;若addr为304,则表明他是未向量寄存器,对此寄存器进行读操作不会改变中断控制器的状态,因此直接将此寄存器的值写入数据总线即可。5.根据权利要求1所述的方法,其特征在于,中断控制器组件写接口的实现:获取偏移地址;若addr在0到252中,表明其是中断源模式寄存器或中断源向量寄存器,对他们的读操作不会引发状态的改变,因此直接返回相应寄存器的内容即可;若addr为256则表明其要访问的寄存器为IRQ向量寄存器,首先检查中断挂起寄存器是否有中断,若没有则表明发生了伪中断,将伪中断向量寄存器的值写入数据总线并返回,否则检查中断挂起寄存器,找出比当前中断优先级高的且未被屏蔽的中断号,将其优先级压入中断栈,修改中断状态寄存器,并将对应此中断号的中断源向量寄存器的值写入数据总线;若addr为270则表明其要访问的寄存器为FIQ向量寄存器,则首先判断中断挂起寄存器是否有中断未激活,若无,则表明发生了伪中断,将伪中断向量寄存器的值写入数据总线,否则将中断源向量寄存器1的值写入数据总线;若addr在274到284中,则表明他们是中断状态,中断挂起,中断屏蔽,内核中断状态寄存器,对他们的读操作不会改变中断控制器的状态,因此直接将这些寄存器的值写入数据总线即可;若addr为288,则表明他是中断使能寄存器,对此寄存器的操作只会改变中断屏蔽寄存器的状态,只需将中断屏蔽寄存器和总线上的数据进行或操作即可,并将结果存入中断屏蔽寄存器;若addr为292,则表明他是中断禁止寄存器,对此寄存器的操作同样只会改变中断屏蔽寄存器的状态,只需将中断屏蔽寄存器和总线上的数据进行与操作即可,并将结果存入中断屏蔽寄存器;若addr为296,则表明他是中断标志设置寄存器,对此寄存器的操作只会改变中断挂起寄存器的状态,即若中断标志设置寄存器的响应位为被屏蔽时,且其为1,则将中断挂起寄存器的相应位置为1;在将中断挂起寄存器更新后,若中断挂起寄存器的0位为1,则发出FIQ中断,否则遍历中断挂起寄存器,获取优先级最高的中断的中断号,若其优先级比栈顶的当前优先级高,则此优先级压栈,并向cpu发出IRQ中断请求;若addr为300,则表明他是中断标志清除寄存器,对此寄存器的操作只会改变中断挂起寄存器的状态,即若中断标志清除寄存器的相应位未被屏蔽时,且其为1,则将中断挂起寄存器的相应位置为0;若addr为304,则表明他是中断结束命令寄存器,对此寄存器的操作只会影响到中断栈的状态,即将栈顶的优先级弹出,将中断状态恢复到上一个状态;若addr为308,则表明他是伪向量寄存器,对他的写操作不会更改中断控制器的状态。6.一种...
【专利技术属性】
技术研发人员:吴翔虎,陶永超,曲明成,
申请(专利权)人:深圳航天科技创新研究院,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。