2660|8

481

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

单步进入一个函数后,会改变其它变量的地址,连INfoA中都写入了数据 [复制链接]

单步进入一个函数后,会改变其它变量的地址,连INfoA中都写入了数据。

而这个函数并没有用到过那些变量,也没有对InfoA进行操作,就像是跑飞了。

各位有没有遇到过这种情况啊?大概是什么原因啊

最新回复

看一下你的堆栈设置吧,是否有堆栈溢出发生  详情 回复 发表于 2012-2-20 17:12
 
点赞 关注

回复
举报

65

帖子

0

TA的资源

一粒金砂(高级)

沙发
 

回复 楼主 l0700830216 的帖子

430用单步的方法调试时,由于其Timer等外设还是在继续正常工作,有时候是会出一些超出期望的情况。用全速运行再加断点的方法看看?
另外,你代码中有对Flash进行擦写的部分嘛?若没有,而InfoA的部分却被擦写,那就有些奇怪了。
把问题描述的再清楚一点吧。
 
 

回复

424

帖子

0

TA的资源

纯净的硅(高级)

板凳
 
问题1:”会改变其它变量的地址“
               什么变量?
问题1: "INfoA中都写入了数据"
               如何观察到InfoA被改写?

建议你再说明清楚一点!
 
 
 

回复

481

帖子

0

TA的资源

纯净的硅(中级)

4
 

回复 沙发 modernthink 的帖子

我整个跳过了这个函数时,给的返回值是err,也就是函数执行不成功。所以我才想进入函数内跟踪查看的。至于你提到的Timer等外设还是在继续正常工作,这个有可能的。不过我在一个小程序里测试时,这个函数是可以单步和全速运行的。
我程序里是有对InfoA进行操作的,不过和这个函数无关的。
 
 
 

回复

481

帖子

0

TA的资源

纯净的硅(中级)

5
 

回复 板凳 鸵鸟蝈蝈 的帖子

1、都是些全局变量。
2、通过IAR的view -> memory进行观察的InfoA。
 
 
 

回复

481

帖子

0

TA的资源

纯净的硅(中级)

6
 
还要补充一点是,在small模式下,这个函数是没有这种情况的。而在改到large模式下时,就在这个函数里才出现的这种情况。
 
 
 

回复

400

帖子

0

TA的资源

五彩晶圆(中级)

7
 
看一下你的堆栈设置吧,是否有堆栈溢出发生
 
 
 

回复

481

帖子

0

TA的资源

纯净的硅(中级)

8
 

回复 7楼 Triton.zhang 的帖子

之前我也怀疑是堆栈的问题,不过通过View->stack,看stack并没有达到100%的使用率。但是我觉得这不能完全排除掉是不是因为堆栈溢出造成的。
 
 
 

回复

481

帖子

0

TA的资源

纯净的硅(中级)

9
 

回复 7楼 Triton.zhang 的帖子

我把stack设到5K了,进入到该函数时stack被全部使用了,而改到160时却是没有被100%使用,不过这两种情况都是有我上面描叙现象出现。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表