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

[复制链接]
2194|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 | 显示全部楼层
看起来像仿真器挂了。。。
 楼主| nj21ic 发表于 2014-8-25 20:18 | 显示全部楼层
没有重名的,加volatile也没有用。发现程序最后报:hardfault 中断
 楼主| nj21ic 发表于 2014-8-25 21:13 | 显示全部楼层
试了两个stlink和jlink两种仿真器,在两块 开发板子做的实验
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

317

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部