原因很明显,就是 芯片的 空间不足。解决方法是 在KEIL 的DEVICE中选择 更大的空间的芯片型号,或者尝试减少工程内不必要的*.c文件,
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching startup_stm32f10x_hd.o(HEAP).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching exfuns.o(.data).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching usart.o(.bss).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching libspace.o(.bss).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching touch.o(.data).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching fontupd.o(.bss).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching malloc.o(.data).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching fontupd.o(.data).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching ili93xx.o(.bss).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching ff.o(.data).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching usart.o(.data).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching delay.o(.data).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching ili93xx.o(.data).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching flash.o(.data).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching usart2.o(.data).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching diskio.o(.data).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching key.o(.data).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching mmc_sd.o(.data).
..\OBJ\VoiceProject.axf: Error: L6406E: No space in execution regions with .ANY selector matching ott2001a.o(.data).
..\OBJ\VoiceProject.axf: Error: L6407E: Sections of aggregate size 0x544 bytes could not fit into .ANY selector(s).
Not enough information to list image symbols.
Not enough information to list the image map.
Finished: 2 information, 0 warning and 20 error messages.
"..\OBJ\VoiceProject.axf" - 20 Error(s), 0 Warning(s).
Target not created.
多方排查发现是我内存分配的函数里面分配空间太多所致:
#define MEM_MAX_SIZE 42*1024 //最大管理内存 42K
改为20k就行。