原子老师:
在上次请教你关于战舰板改为SDIO后,不能显示jpeg图片的问题解决后,我又添加了官方的UCGUI,编译后,老是报告好像是内存空间不够,见下面部分报告代码:
..\OBJ\TEST.axf: Error: L6406E: No space in execution regions with .ANY selector matching main.o(.bss)...\OBJ\TEST.axf: Error: L6406E: No space in execution regions with .ANY selector matching flash.o(.bss).
..\OBJ\TEST.axf: Error: L6406E: No space in execution regions with .ANY selector matching startup_stm32f10x_hd.o(STACK).
..\OBJ\TEST.axf: Error: L6406E: No space in execution regions with .ANY selector matching memory.o(.bss).
..\OBJ\TEST.axf: Error: L6406E: No space in execution regions with .ANY selector matching lcdcolor.o(.bss).
..\OBJ\TEST.axf: Error: L6406E: No space in execution regions with .ANY selector matching exfuns.o(.data).
..\OBJ\TEST.axf: Error: L6406E: No space in execution regions with .ANY selector matching usart.o(.bss).
..\OBJ\TEST.axf: Error: L6406E: No space in execution regions with .ANY selector matching stm32_eval_sdio_sd.o(.bss).
..\OBJ\TEST.axf: Error: L6406E: No space in execution regions with .ANY selector matching usb_prop.o(.data).
..\OBJ\TEST.axf: Error: L6406E: No space in execution regions with .ANY selector matching scsi_data.o(.data).
..\OBJ\TEST.axf: Error: L6406E: No space in execution regions with .ANY selector matching usb_bot.o(.bss).
..\OBJ\TEST.axf: Error: L6406E: No space in execution regions with .ANY selector matching guicore.o(.bss).
..\OBJ\TEST.axf: Error: L6406E: No space in execution regions with .ANY selector matching libspace.o(.bss).
。。。。。。。。。。。。。
我信思把 "malloc.h"里的内存分配由原来的 #define MEM1_MAX_SIZE 40*1024 改为:
#define MEM1_MAX_SIZE 20*1024 ,目地是为了留出内存空间大一点,让编译器自由分配空间大一点,但是不奏效,仍然报警!
还信思把启动文件的:Stack_Size EQU 0x00000400,Heap_Size EQU 0x00000200 分别 改为:
Stack_Size EQU 0x00000800, Heap_Size EQU 0x00000400 也
不奏效
“有病乱求医”,我是胡乱改这改那,都不见效果,所以还是来请教专家:原子老师,这个问题怎么能够解决呢?
说明:这个程序是在战舰板上调试的,但是没有用外部SRAM,因为目标机没有设有外部SRAM的,所以只能用片内的64K内存。
我的英文水平很糠,那编译后的报错内容是俺理解错了?人家不是告诉你内存不够?是告诉别的什么的?
|