打印

每次运行程序都会跑飞

[复制链接]
1142|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangchui|  楼主 | 2016-10-6 18:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jiahy| | 2016-10-6 18:56 | 只看该作者
然后呢?你是怎么应对这个的呢

使用特权

评论回复
板凳
huangchui|  楼主 | 2016-10-6 18:58 | 只看该作者
我又做了一个测试程序,这个程序内容很少,但是发现一个奇怪的现象,只要包含main.h这个头文件,程序就会跑飞。

使用特权

评论回复
地板
huangchui|  楼主 | 2016-10-6 19:06 | 只看该作者
定义了一些比较大的数组

使用特权

评论回复
5
liliang9554| | 2016-10-6 19:09 | 只看该作者
观察内存数据

使用特权

评论回复
6
huangchui|  楼主 | 2016-10-6 19:13 | 只看该作者
发现这些数组中的数据竟然不是初始定义的数值

使用特权

评论回复
7
午夜粪车| | 2016-10-6 19:15 | 只看该作者
请问楼上这个是为什么吗?我不是很懂啊

使用特权

评论回复
8
huangchui|  楼主 | 2016-10-6 19:17 | 只看该作者
在程序中没有对这些数组进行任何操作

使用特权

评论回复
9
huangchui|  楼主 | 2016-10-6 19:18 | 只看该作者
与相应的0x008000区域的数值一样,举例来说,假如数组Data_A实际分配的地址可能是0x3F8100~0x3F8200,运行程序并把Data_A拖到watch窗口中观察,这个数组里的数据数值与地址为0x008100~0x008200的saram区域的数值相同。该怎么办啊

使用特权

评论回复
10
heweibig| | 2016-10-6 19:20 | 只看该作者
如果是代码段肯定是不能放到SARAM中的   

使用特权

评论回复
11
wuhany| | 2016-10-6 19:24 | 只看该作者
如果嫌内存小,那么就需要外扩内存

使用特权

评论回复
12
shimx| | 2016-10-6 19:25 | 只看该作者
不过外扩内存的读写速度会比片内内存慢很多哦

使用特权

评论回复
13
huangchui|  楼主 | 2016-10-6 19:26 | 只看该作者
哦,那我就知道怎么回事了,多谢大家,结贴了哈

使用特权

评论回复
14
xietingfeng| | 2016-10-6 21:41 | 只看该作者
仿真的时候跑飞吗?

使用特权

评论回复
15
xietingfeng| | 2016-10-6 21:44 | 只看该作者
cmd怎么分配的?

使用特权

评论回复
16
Brand2| | 2016-10-13 21:45 | 只看该作者
定义了一些比较大的数组

先用一个小点的数组试试

使用特权

评论回复
17
myiclife| | 2016-10-13 22:35 | 只看该作者
仿真的时候才会跑飞。

使用特权

评论回复
18
myiclife| | 2016-10-13 22:37 | 只看该作者
cmd里面尽量不要修改。

使用特权

评论回复
19
pl202| | 2016-10-14 22:33 | 只看该作者
程序跑飞一般都是变量问题

使用特权

评论回复
20
pl202| | 2016-10-14 22:34 | 只看该作者
检查一下是不是存在超出变量的。

使用特权

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

本版积分规则

918

主题

12323

帖子

4

粉丝