智能车制作

标题: S12单片机堆栈会溢出吗? [打印本页]

作者: kexinmcu    时间: 2010-5-5 19:20
标题: S12单片机堆栈会溢出吗?
大家用S12单片机处理图像数据遇到过堆栈溢出吗?随着程序的增加,编译代码时编译器提示"warning:C12056 SP debug info incorrect because of optimizatoin or inline assebler"这是堆栈溢出的意思吗?
作者: librae8226    时间: 2010-5-18 18:32
这不是堆栈溢出,这是编译器对代码优化时出现的警告,但是确实有溢出这个情况,而且亟需解决,同问!!!!!!!!!!!!!!!!
作者: chengyongji    时间: 2010-5-18 18:50
嗯,我也遇到这个问题,等待高手回答
作者: gjs1988    时间: 2010-7-7 22:57
等待高手?
作者: jiang1101    时间: 2010-7-12 20:02
关注
作者: GhostStalker    时间: 2010-7-15 10:58
这个 warning是代码最优化时 堆栈指针不 一致 造成。在菜单->edit->standard setting->compiler for HC12->option中选中Main Optimize Target,再选中optimize for execution time,即可。
前几天我写了个程序 也有这问题 也是刚刚找到的方法
作者: vgjkl    时间: 2011-7-11 22:39
回复 6# GhostStalker

请问这样做仅仅是把这个Warning屏蔽了,还是把问题根本的解决了?
作者: 远方的笨蛋    时间: 2012-7-8 19:00
GhostStalker 发表于 2010-7-15 10:58
这个 warning是代码最优化时 堆栈指针不 一致 造成。在菜单->edit->standard setting->compiler for HC12-> ...

同样求解:请问这样做仅仅是把这个Warning屏蔽了,还是把问题根本的解决了?

作者: bemaster    时间: 2012-7-11 23:51
这是代码中出现了编译器认为“没必要”的代码。比如你定义了一个临时变量而你只是对这个变量进行了赋值操作编译器在检查时很可能将这些代码认为是有风险的,一般可以忽略,不过也有可能是你的代码存在某种风险被编译器优化时检查出来了,如果可以的话检查一下你的代码逻辑结构
作者: 支点305    时间: 2014-12-18 11:04
bemaster 发表于 2012-7-11 23:51
这是代码中出现了编译器认为“没必要”的代码。比如你定义了一个临时变量而你只是对这个变量进行了赋值操作 ...

求教函数递归调用引起程序复位是什么原因呢,应该怎么解决呢?





欢迎光临 智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2