标题:
求助:s12在线调试正常,但离线自动运行出错
[打印本页]
作者:
yanbin560
时间:
2011-4-23 10:02
标题:
求助:s12在线调试正常,但离线自动运行出错
各位好:
我使用的是cw for s12(x)v5.0,程序在线调试,点击run,运行正常,但断电取下USB Multilink Interface后,再通电启动,程序运行不正常,不知道各位高手有什么想法,我想,如果是硬件方面的问题,调试时也应该不对的,我是新手,请各位赐教,非常感谢!
作者:
yanbin560
时间:
2011-4-23 10:11
调试器运行的时钟是否与离线自动运行时的不一样?
作者:
xqy200909
时间:
2011-4-25 14:32
把程序发上来看看,否则无法解答。
作者:
yanbin560
时间:
2011-4-28 10:27
看到另外一个帖子,问题和我是一样的
http://bbs.eccn.com/viewthread.php?tid=92766
我的程序是加了一段SPI通讯程序后出现了这个问题,该程序是向电源芯片内写入控制字,程序段如下:
word PwrSPIReadWriteWord(word PwrSet)
{ word tmp, bitmsk=0x0001;
byte i;
PwrSPICS_ClrVal();
for(i = 0; i<16; i++)
{
PwrSPISCK_SetVal();
if(PwrSet&bitmsk)
PwrSPISI_SetVal();
else
PwrSPISI_ClrVal();
asm nop;
asm nop;
asm nop;
asm nop;
asm nop;
asm nop;
asm nop;
asm nop;
PwrSPISCK_ClrVal();
if(PwrSPISO_GetVal())
tmp |= bitmsk;
asm nop;
asm nop;
asm nop;
asm nop;
asm nop;
asm nop;
asm nop;
asm nop;
bitmsk = bitmsk<<1;
}
PwrSPISI_ClrVal();
PwrSPICS_SetVal();
return tmp;
}
在线调试时,这段程序运行不了,出现ILLEGAL_BP,但去掉一个asm nop,就可正常运行,但离线运行时就会出问题,现象应该还是ILLEGAL_BP
作者:
strongchen
时间:
2011-5-6 11:19
如果你的程序中多一个 "asm nop” 就不能正常运行的话,说明程序本身就有问题。首先应该解决这个问题。你可以在调试界面进入汇编指令窗口,看看有和没有这条指令时,汇编代码有什么区别。
作者:
strongchen
时间:
2011-5-6 11:22
然后看一下具体走到哪条汇编指令时出错。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0