为啥DSP仿真时候总是进入asm(" ESTOP0");中?求讲解!
时间:10-02
整理:3721RD
点击:
interrupt void ILLEGAL_ISR(void) // Illegal operation TRAP
{
// Insert ISR Code here
asm(" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
一仿真,就跳入这个循环中,我cmd文件见下:
PRAMH0 : origin =0x3f8000, length = 0x002000
DRAMH0 : origin = 0x3f9000, length = 0x002000
求懂得人指导下,不胜感激l
{
// Insert ISR Code here
asm(" ESTOP0");
for(;;);
// Uncomment this line after adding ISR Code
// return;
}
一仿真,就跳入这个循环中,我cmd文件见下:
PRAMH0 : origin =0x3f8000, length = 0x002000
DRAMH0 : origin = 0x3f9000, length = 0x002000
求懂得人指导下,不胜感激l
非法中断
把你的中断全关了,一个一个打开,看是哪个中断的问题
我后来单步调试了下,卡在了下面这个程序:
.def _DSP28x_usDelay
.global __DSP28x_usDelay
_DSP28x_usDelay:
SUB ACC,#1
BF _DSP28x_usDelay,GEQ ;; Loop if ACC >= 0
LRETR
其中,卡在 SUB ACC,#1这里,到这里就直接跳到了asm(" ESTOP0");中
不应该啊,你在什么地址调用了这个延时函数。