ZYNQ中断体系
0 2023-03-21

ARM中断体系

01


  1. ARM体系中,在存储地址的低位,固化了一个32字节的硬件中断向量表。


  2. 异常中断发生时,程序计数器PC所指的位置不同,异常中断就不同。中断结束后,中断不同,返回地址也不同。但是,对于系统复位中断,不需要返回,因为整个应用系统就是从复位中断中开始的。

数据访问终止:数据访问的地址不存在,或者当前地址不允许访问。


快速中断请求:外部引脚的快速中断请求,比外部中断请求等级高,但是一般外设的中断请求使用外部中断请求。


指令预取终止:预取指令的地址不存在,或者当前地址不允许访问。


未定义的指令:ARM或协处理器认为当前指令未定义。


ARM中断流程:

首先在主程序中发生IRQ中断请求,程序跳到中断向量表找IRQ中断对应的解析程序地址,然后再跳到中断解析程序,进而执行中断程序。


ZYNQ中断体系

02


ZYNQ包括三种中断:私有中断,软件中断和共享中断。

1)私有中断:每个CPU连接5个私有中断,中断ID27—31。

2)软件中断:16个,中断号:0—15。通过CPU私有总线向ICDSGIR寄存器写中断号,并且制定CPU。


3)共享中断:接收来自如GPIO、DMA、定时器等模块的中断信号。中断号32-95。


它们之间的关系:


中断点亮LED

03


PL端的一个按键,点亮PS端LED。


首先还是硬件配置,加入ZYNQ的软核,配置一下DDR和UART。


然后,因为要用到PL端的按键,所以要建立PL与PS之间的联系,通过EMIO或者AXI总线,EMIO能不能中断还没有研究,这里用的AXI。


  1. 加AXI_GPIO IP核,设置GPIO端口中断使能,GPIO宽度为1(只用了一个按键),设置方向为全输入。

(如果想控制PL端LED,就再加一个AXI_GPIO核),设置输出就可以了。


2. 打开中断

IRQ_F2P是PL与PS的共享中断,下面的是两个ARM核的快速中断和外部中断(都来自PL属于CPU私有中断),私有中断如何点亮LED还没有测试。


3. PS端LED,设置I/O外设,GPIO里勾选MIO,点亮的LED管脚为MIO0。

然后自动连接,(手动连接AXI_GPIO ip2intc_irpt),绑定gpio_rtl的管脚为T17(按键),3.3V,然后输出,生成HDL Wrapper,导出硬件(包含比特流文件),载入SDK。


中断代码

04


各种初始化:

1.初始化按键:

设置单通道,方向为输入。

2.初始化LED:

设置MIO0为输出,使能引脚(不使能不能点亮,与AXI接PL端LED有点区别,后者不需要使能)。然后引脚写高电平,使LED初始状态为灭。

3.初始化中断:

中断初始化写成一个函数,传入参数是中断的ID,另外以上各种初始化,需要实例化XGpio、XGpioPs、XScuGic类型的变量,直接定义为全局变量,这样会比较方便。


4.中断函数:

A.函数首先是中断初始化,与先前的按键初始化与LED初始化差不多。

B.接着是定义了一个InterruptSystemSetup函数,定义为:

C.连接,我理解的就是,将这个中断与按键的行为,连接起来。XScuGic_Connect(&gpio_intr, INTR_GPIO, (Xil_ExceptionHandler)BTN_Intr_Handler, (void*)&key),这个函数中参数的意思,第一个参数就是实例化的XScuGic对象了,第二个参数,是对应的XPAR_FABRIC_AXI_GPIO_0_IP2INTC_IRPT_INTR,也就是定义的那个中断IRQ_F2P,定义在xparameters.h里。

定义为61,这也就是IRQ_F2P的中断号为61-68和84-91,共同组成了IRQ_F2P[15:0]。

第三个参数,调用的中断处理函数,发生的中断操作写在里面。第四个参数,连接的对象,这里是按键,即将中断行为与按键行为连接起来。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 处理器
  • DSP
  • CPU
  • GPU
  • 8051/89C51的21个专用寄存器的字节寻址问题

    [导读] 8051/89C51共有21个专用寄存器,现把其中部分寄存器简单介绍如下:(1)程序计数器(Program Counter,PC) PC是一个16位

    05-30
  • 快速告诉你关于输入输出设备I/O设备工作原理

    [导读] I/O设备又叫输入输出设备。 如上图,对于I/O bus 包含数据总线、控制总线、地址总线;每一个I/O设备均连接到I/O总线上,与pc进行数据传输。

    05-29
  • 介绍GPU的应用、原理及CPU、DSP的区别

      GPU是显示卡的“心脏”,也就相当于CPU在电脑中的作用,它决定了该显卡的档次和大部分性能,同时也是2D显示卡和3D显示卡的区别依据。2D显示芯片在处理3D

    05-29
  • 把工作简单化 DSP与数据转换器协同工作应该考虑的这几个因素分析

      假设您接到一项工作任务,设计一套由DSP与DAC与ADC等模拟器件组成的信号处理系统。如果您考虑到几个重要因素,工作就会非常简单。下面就来谈谈设计工作中应该

    05-27
  • 四位微处理器的前世今生

    微处理器由一片或少数几片大规模集成电路组成,能完成读取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,所以其基本组成部分有算术逻辑单元(ALU,Ari

    05-27
  • CPU接口的一个重要组成部分——防呆口分析

    我们讨论的CPU,都是讨论CPU的正面,却很少讨论CPU的反面。何为正面反面?大家在网上浏览关于CPU的资讯的时候,估计都只留意正面的CPU型号信息、以及延伸出

    05-27
  • 带你区分手机CPU与PC CPU

      随着移动互联网的崛起,手机等职能移动设备在我们生活中的地位愈加重要。其中各大公司在发布产品的时候无不通过媒体对自家产品的配置参数大佳宣传。其中CPU参数便是

    05-26
  • 音讯处理领域最新的软硬体整合方案如何推动创新、高性能的行动及穿戴式应用的发展

      穿戴式装置应用前景备受看好,吸引半导体厂积极研发运算能力更强,且封装尺寸更小、耗电量更低的新一代数位讯号处理器(DSP),藉此打造高品质录音与播放等进阶多媒

    05-26
  • 多核CPU的性能与核心数的关联性介绍

      智能手机是无疑当前最火爆的移动设备了。各个手机生产厂商也都是新品不断,营销手段也是千奇百怪的。  而对于自家手机的参数比拼也是你来我往。其中最重要的就数CP

    05-26
  • 细谈FPC断路开路的检查方法

    当我们遇到FPC(软板)有开路/断路的问题时,最简单的方法就是在显微镜下检查有无线路(Trace)断裂的问题,因为FPC通常为单层板,了不起就三层板,线路大多可

    05-25
  • FPC都有几大种类你了解吗?

    电子产品都要使用PCB,PCB的市场走向几乎是电子行业的风向标。随着手机、笔记本电脑和PDA等高端、小型化电子产品的发展,对柔性PCB(FPC)的需求越来越大,

    05-25
  • 带你快速了解CPU常识

    今天小编每天更新一篇计算机的硬件知识给大家哦,希望对大家有帮助哦,喜欢的给个关注哦!CPU也就是中央处理器,在计算机中相当于人的大脑。中央处理器(CPU,Cen

    05-25
下载排行榜
更多
广告