打印
[STM32F1]

全局变量的地址咋回变成0ffffffff?

[复制链接]
1771|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nj21ic|  楼主 | 2014-8-25 13:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 nj21ic 于 2014-8-25 14:47 编辑


全局变量的地址 应该 始终 不变的。
可是 程序中一个全局变量的地址 在执行了 一个函数 后 就 变成 oxFFFFFFFF了。
而这个函数 并没有 使用这个全局变量。
这到底是什么原因??
我用的 编译器 是 IAR6.7

再补充一下,后来还发现 这个错误 同代码量的多少还有关系。我如果在程序的后半部分,在出错语句的后面,就是 出错语句还没执行到的地方 随便去掉几个函数。编译后重新运行,就是正常的。
沙发
mmuuss586| | 2014-8-25 19:12 | 只看该作者
是不是哪里定义了,比如define,变量重名了;
换个变量名看看;

使用特权

评论回复
板凳
mmuuss586| | 2014-8-25 19:13 | 只看该作者
加上volatile看看;

使用特权

评论回复
地板
icecut| | 2014-8-25 19:44 | 只看该作者
看起来像仿真器挂了。。。

使用特权

评论回复
5
nj21ic|  楼主 | 2014-8-25 20:18 | 只看该作者
没有重名的,加volatile也没有用。发现程序最后报:hardfault 中断

使用特权

评论回复
6
nj21ic|  楼主 | 2014-8-25 21:13 | 只看该作者
试了两个stlink和jlink两种仿真器,在两块 开发板子做的实验

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

317

帖子

5

粉丝