求互,求解释关于例子中MALLOC内存大小的定义的问题。

2019-07-20 23:29发布

在F407的开发指南中讲到:
MEM1_MAX_Size 100*1024,但是在参数手册中看到这款芯片的SRAM分两部分,112K以及16K。那这个SIZE为什么不能设置大一些呢?在实践中发现,如果设置大,将导致编译出很多错。
..OBJMALLOC.axf: Error: L6406E: No space in execution regions with .ANY selector matching malloc.o(.bss).
..OBJMALLOC.axf: Error: L6406E: No space in execution regions with .ANY selector matching startup_stm32f429_439xx.o(STACK).
..OBJMALLOC.axf: Error: L6406E: No space in execution regions with .ANY selector matching startup_stm32f429_439xx.o(HEAP).
..OBJMALLOC.axf: Error: L6406E: No space in execution regions with .ANY selector matching usart.o(.bss).
..OBJMALLOC.axf: Error: L6406E: No space in execution regions with .ANY selector matching libspace.o(.bss).
..OBJMALLOC.axf: Error: L6406E: No space in execution regions with .ANY selector matching malloc.o(.data).
..OBJMALLOC.axf: Error: L6406E: No space in execution regions with .ANY selector matching system_stm32f4xx.o(.data).
..OBJMALLOC.axf: Error: L6406E: No space in execution regions with .ANY selector matching stm32f4xx_rcc.o(.data).
..OBJMALLOC.axf: Error: L6406E: No space in execution regions with .ANY selector matching lcd.o(.bss).
..OBJMALLOC.axf: Error: L6406E: No space in execution regions with .ANY selector matching usart.o(.data).
..OBJMALLOC.axf: Error: L6406E: No space in execution regions with .ANY selector matching lcd.o(.data).


我猜测一点原因是因为其他的程序也要占空间,所以不能把内存都占满,是这样吗?
如何能最大的设置这个数字呢?
谢谢~~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。