Board logo

标题: 请教XDT256程序运行中遇到的疑难问题 [打印本页]

作者: zones    时间: 2010-1-6 18:24     标题: 请教XDT256程序运行中遇到的疑难问题

本帖最后由 zones 于 2010-1-9 09:43 编辑

最近用XDT256写了一个编译前大约130K的程序,实际运行过程中,有时出现异常情况.发现主程序在调用子程序时,没有按照规定的顺序调用,例如下面的例子,当程序运行到C时,本来应该接着运行D程序,但是却没有继续运行,程序又回到了for循环之外重新初始化然后再进入A开始继续运行.郁闷啊,请高手帮忙.
mai()
{
...
...
for(;;)
{
A();
B();
C();
D();
E();
}
}
作者: zones    时间: 2010-1-9 09:44

请高手帮帮啊
作者: strongchen    时间: 2010-1-11 10:06

有可能是函数C的格式中有问题,也有可能是执行函数C时堆栈溢出。你可以将函数C改写成一个简单的函数试试。
作者: zones    时间: 2010-1-11 22:55

本帖最后由 zones 于 2010-1-11 23:00 编辑

首先,感谢版主!
调试过程中总提示C函数:
SP debug info incorrect because of optimization or inline assembler

函数C 打印出来,大约是占4页纸,而且是用SWITCH(){}
编写的.

请问版主是否跟这有关呢?
作者: toumingse    时间: 2010-2-6 22:11

明显是堆栈溢出,你那个函数是否里面有类似的递归调用呢,
作者: 罗晓娜    时间: 2010-3-15 16:26

mc9s12xdt256cag 原装香港现货价格38元 有兴趣欢迎联系 深圳金信通 罗晓娜0755-82709601 QQ:727610097
作者: mcu2007    时间: 2010-3-17 11:39

本帖最后由 mcu2007 于 2010-3-17 11:40 编辑

还有你的编译设置是不是有问题的,我以前用的PIC时也出现过这样的问题,有可能在C函数的下方加个空指令就好了;但是程序在编译后的确是有问题的。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0