请教一下程序的空间不够的问题

2019-07-21 06:46发布

最近写了个程序,错误都改好了,但是还有一个错误,提示空间不够,但是我把STM32从RB改到了RG,也就是Flash从128K变到了1M,但是仍然提示空间不够,而且差的空间不变,一直是0x18f10个字节,以下是错误提示:
.obj舞动.axf: Error: L6406E: No space in execution regions with .ANY selector matching adc_dma.o(.bss).
.obj舞动.axf: Error: L6407E: Sections of aggregate size 0x18f10 bytes could not fit into .ANY selector(s).
后来新建了一个工程,用RG后辍的STM32,Flash是1M的,但是仍然出现同样的错误,大家帮忙看看,呵呵
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
xsx127
1楼-- · 2019-07-22 20:02
找你的数组,很明显的问题,ram被你的大数组撑爆了
LeBron
2楼-- · 2019-07-22 23:14
 精彩回答 2  元偷偷看……
LeBron
3楼-- · 2019-07-23 01:47
请问,楼主解决的方法是什么,我的也是出现这种错误,我觉得我的芯片内存足够大啊:1MFlash,192+4 Kbytes of SRAM ;option那边可以改的都改了,我一个2000多行的数组也定义为了unsigned const char XX[]; 再次编译仍然错误,而且错误没减少。
ljmf5
4楼-- · 2019-07-23 05:39
本帖最后由 ljmf5 于 2016-10-10 15:54 编辑
1501697860 发表于 2013-4-2 15:13
我的改了MALLOC.C,就好了
#define MEM1_BLOCK_SIZE                        8
#define MEM1_MAX_SIZE                        8*1024
...

就这么改了,修改之后可能会出现Library reports error: __use_no_semihosting was request的新错误,不过参照http://www.openedv.com/posts/list/2520.htm这里面的解决方法就能搞定了
可是,虽然编译没问题了,但单片机执行时还是出现问题了,预计还是把RAm给撑爆了
lh25
5楼-- · 2019-07-23 06:32
1501697860 发表于 2013-4-2 15:13
我的改了MALLOC.C,就好了
#define MEM1_BLOCK_SIZE                        8 
#define MEM1_MAX_SIZE                        8*1024
...

为什么要改这个,我改了这个就没有错误了,能解释下吗
ofourme
6楼-- · 2019-07-23 12:10
ram空间不够。

一周热门 更多>