打印

DSP5509中断故障 麻烦指点一下

[复制链接]
2179|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
stblade|  楼主 | 2010-5-24 15:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我做的DSP5509A-FPGA的板子,现在调串口。接收用的中断,发送是随有随发的。现在环起收发端,环测串口。
串口是在FPGA里做的,产生一个中断信号直接连给DSP,DSP用的INT2(对应IVPD是0X0018)。
从FPGA的逻辑分析仪里看,中断是给出了,但在DSP里,跳不到中断程序。
我的dsp中断的主要配置如下:
#pragma interrupt(soft_int2_RS232);
main()
{ disable_int;
init_ints;
while(1)
{ send(0X1234);} // 发送 具体函数就不写了 在FPGA中可以看到
}
inline void disable_ints(void) { asm(" bclr INTM“) ;} // 置高INTM(关闭所有可屏蔽中断)
void init_ints(void) // 初始化中断
{ asm( " BSET CLKOFF ") //禁止clkout
IFR0 |= IFR0;
IFR1 |= IFR1;
IER0 |= 0X080C;// 对应 INT0 INT2 INT3
IER1 |= 0X0009;// 对应 INT1 INT4
EMIF_GCTRL = 0X31 ; // EMIF全局控制寄存器
EMIF_CE0_CTRCL1 = 0X1FFF ; //CE0空间控制寄存器1
EMIF_CE1_CTRCL1 = 0X1FFF ; //CE1空间控制寄存器1
EMIF_CE2_CTRCL1 = 0X1FFF ; //CE2空间控制寄存器1
EMIF_CE3_CTRCL1 = 0X1FFF ; //CE3空间控制寄存器1
asm( " bclr M40 ") ; // 第31位检测进位/借位
asm( " bclr INTM ") ; // 开启使能所有可屏蔽中断
}
interrupt void soft_int2_RS232(void) { asm(" nop") ; } // 简单一个NOP,不清楚关键字interrupt 用的对不对
中断向量表: int2 : .ivec _soft_int2_RS232
按我的理解:发送后,环回接收,FPGA里的中断信号置低传给DSP,DSP就应该跳到中断函数,就是在send(0X1234)之后跳进中断服务程序。但是却没有。
用Emulator仿真,在CCS里看Registers,IER0、IER1、各状态寄存器ST都设置好了。但IFR0、IFR1都是0000(芯片手册里IFR和IER是一起的,是不是不用设置);IVPD和IVPH都是FFFF,这个是复位值,我觉得应该是在中断响应后,IVPD应被自动写入)0X18。
不知道我说的清楚与否,可问我,我再针对说清楚点。

相关帖子

沙发
realreal| | 2010-5-27 21:33 | 只看该作者
中断是外部中断2?检查下中断函数地址吧,还有FPGA给出的中断信号,负脉冲别太窄了

使用特权

评论回复
板凳
stblade|  楼主 | 2010-5-28 09:56 | 只看该作者
2# realreal
是外部中断int2.
中断地址:
      intr.h中:......
                #define  int2    3
                 ......
                int2_vec   0x18
     中断向量表里:
                int2: .ivec   _soft_int2_RS232
     main()中:
               禁止所有可屏蔽中断
               初始化所有中断(使能IER相应中断位,完后开启所有可屏蔽中断)
     中断用interrupt关键字:interrupt void soft_int2_RS232(void){...}
     在中断进到DSP时,IFR相应位是置1的,也就是DSP收到了中断。在之后是等待时间的for循环语句。就是:mov ......//此语句完后,中断产生,IFR置1
                               for(){...}//等待一段时间
     在for语句中用单步运行时,IFR一直是‘1’,但一旦任何时间全速运行就成‘0’了,也就是说中断执行了。但是实际没有进interrupt void soft_int2_RS232(void)的断点。
     不知道为何IFR都已经置‘1’,中断都进不去。

使用特权

评论回复
地板
婕迷云潇潇| | 2010-6-5 11:13 | 只看该作者
你怎么弄得二星会员?打断就对了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

2

帖子

1

粉丝