数组扩大后,编译器没说出错但程序运行不了

2019-07-20 21:06发布

u16 *q,wordcolor=0xf100; u8 a,b,numchar[5],input[]={' ',' ',' ',' ',' '},i,k; u16 xy[5][2],lcdx,lcdy,scannum,j,cache1[300],cache2[300]; 主函数就定义这些变量,当把cache1和cache2的大小都变到500的时候,程序就执行不了了,用的是战舰开发板,要是RAM不够大的话,编译器会报错吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
lol
1楼-- · 2019-07-21 15:14
czdspeed 发表于 2016-7-27 15:22
你这个是不是内存不够用了,这个提示上说了“No space”啊。

对,我把要定义的全局数组用at+地址的方式定义定义到了外部SRAM,现在不提示NO SPACE 了,这个问题算解决了。但是当我把程序烧进板子的时候,屏幕白屏什么也不显示,这个是什么原因您清楚吗?
czdspeed
2楼-- · 2019-07-21 19:55
lol 发表于 2016-7-28 10:52
对,我把要定义的全局数组用at+地址的方式定义定义到了外部SRAM,现在不提示NO SPACE 了,这个问题算解决 ...

你单步设置断点跑一下看看能不能运行吧,我不知道这个是否加载了驱动。如果没有加载白屏很正常啊。
lol
3楼-- · 2019-07-22 00:36
czdspeed 发表于 2016-7-28 15:49
你单步设置断点跑一下看看能不能运行吧,我不知道这个是否加载了驱动。如果没有加载白屏很正常啊。

恩,加载了驱动。现在情况是数组小的时候是都正常,当数组变大以后烧进去就白屏,外部SRAM用的多难道就白屏吗?
czdspeed
4楼-- · 2019-07-22 04:26
 精彩回答 2  元偷偷看……
lol
5楼-- · 2019-07-22 08:38
czdspeed 发表于 2016-7-28 16:46
你单步走流程还正确吗,如果正确就不要管白屏的问题了,那个可能是点亮了背光吧。我也不是太清楚。

好吧,还是谢谢您啦

一周热门 更多>