您的位置:控制工程论坛网论坛 » 教程与手册 » 我的DSP之路——关于中断

xilinxue

xilinxue   |   当前状态:在线

总积分:16186  2024年可用积分:0

注册时间: 2008-06-26

最后登录时间: 2020-03-22

空间 发短消息加为好友

我的DSP之路——关于中断

xilinxue  发表于 2008/10/30 18:21:02      637 查看 1 回复  [上一主题]  [下一主题]

手机阅读

我的DSP之路——关于中断
复制内容到剪贴板代码:
2008-3-8
中断标志寄存器IFR,由CPU内核控制,一旦中断被响应,IFR会被CPU自动清除(除INTR指令引起的中断外),不需要人工干预。
IFR中断标志寄存器只有INT1~INT6,那上面说的是用INTR引起外部中断,那时就需要人工干预了?引起的中断如何执行?
无法观察到IFR的变化,其一直为0,可能是有置1,只是中断响应又把它清0了。那上述所说的除外情况是怎样的情况呢。
用INTR进外部中断时,不可屏蔽,即IMR对其无影响。IMR只是屏蔽对外部中断源的响应。
CMD文件里可以用/* */来注释,其它的汇编的文件,如.ASM、.H文件就只能用;来注释。

外部中断XINT1、XINT2。外部中断输入引脚必须至少被拉低或拉高5或11个CLKOUT时钟周期才被认为是有效的中断请求输入,这由SCSR2中的I/O QUAL位决定。

每一个外设中断都有三个屏蔽位:INTM、INTn、各自的屏蔽位。两个中断请求标志位:IFR、PIRQR0~2、各自的中断请求标志位。
2008-3-10
中断被响应后,CUP级IFR中相应中断标志位自动清零,外部中断的XINT1/2的外设级中断标志位也会自动被清零;但片内外设(包括事件管理中断和系统模块中断)中断被响应后不会自动清0,需要用户对其进行写1清0。
通过INTR指令来请求中断时,CPU不会清除IFR中的位。但仿真时观察IFR值一直为0?
通过INTR指令来请求外设中断时,不会装PIVR外设中断向量,PIVR默认的0000装入。
INTM在硬件中断被响应时自动置1,因此在中断服务程序返回时一定要重新开中断。如果要实现中断嵌套,可以在中断服务程序中开放中断。

查看是否有可屏蔽中断发出请求,应看其标志位而不是PIRQR0~2。

中断有两个中断向量:CPU中断向量(即0~40H地址的向量表)和外设中断向量PIV。
1楼 0 0 回复
  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2008/10/30 18:21:02

    中断对于嵌入式软件来说是非常重要的,只有把这个搞明白了你才算认识了潜入式系统
    2楼 回复本楼

    引用 xilinxue 2008/10/30 18:21:02 发表于2楼的内容

总共 , 当前 /