主题 : QQ2440开发板中断问题---【求助,谢谢!】 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 1053
精华: 0
发帖: 4
金钱: 40 两
威望: 13 点
贡献值: 0 点
综合积分: 8 分
注册时间: 2008-07-13
最后登录: 2009-06-05
楼主  发表于: 2008-12-12 09:34

 QQ2440开发板中断问题---【求助,谢谢!】

     这几天想把ucos移植到QQ2440开发板上,用的是ADS1.2工具,RAM调试(起始地址:0x30000000),但是只要开中断(INTMSK对应为置0),程序就会跑飞。
  在关中断的情况下,观察(SRCPND)中断源寄存器里边是有中断位的。
  跑飞前上位机收到的一串字符串"Dummy_isr error, interrupt number: 0, INTMSK = 0xffffdfff",我不知道这是什么意思?
  我的中断相关设置如下:
       pISR_UNDEF    =(unsigned)HaltUndef;
    pISR_SWI      =(unsigned)HaltSwi;
    pISR_PABORT    =(unsigned)HaltPabort;
    pISR_DABORT    =(unsigned)HaltDabort;
    //pISR_IRQ = (unsigned)TimerTickHandle;
    rINTMOD        =0x0;                  // All=IRQ mode
    rINTMSK        =BIT_ALLMSK;             // All interrupt is masked.
       {
           extern void TimerTickHandle(void);
           pISR_TIMER3 = (unsigned)TimerTickHandle;
           ClearPending(BIT_TIMER3);    
        EnableIrq(BIT_TIMER3);
    }
    ClearPending(x)为清空中断的宏,EnableIrq(x)为使能中断的宏。这两句肯定都没有问题。
  TimerTickHandle为Timer3的中断服务子程序。
我想是不是因为2440里边的BIOS程序接管了中断,所以才没跑到我设定的中断服务子程序的?
如果是这样的话,应该怎么修改呢?我这里没有BIOS源程序。
哪位仁兄仁姐,帮忙分析一下,谢谢!
级别: 新手上路
UID: 52974
精华: 0
发帖: 17
金钱: 90 两
威望: 18 点
贡献值: 0 点
综合积分: 34 分
注册时间: 2011-07-29
最后登录: 2012-01-12
1楼  发表于: 2011-11-08 21:33
同问,论坛很没人气