前言
我在使用STM32F4的FreeRTOS做项目实验过程中遇到报错:提示内存大小不足以存储当前代码,简单的说就是:芯片的存储空间不够
一、错误分析
linking…
…\OBJ\LED.axf: Error: L6406E: No space in execution regions with .ANY selector matching heap_4.o(.bss).
…\OBJ\LED.axf: Error: L6406E: No space in execution regions with .ANY selector matching spi.o(.bss).
…\OBJ\LED.axf: Error: L6406E: No space in execution regions with .ANY selector matching malloc.o(.bss).
。。。。。。
…\OBJ\LED.axf: Error: L6406E: No space in execution regions with .ANY selector matching spi.o(.data).
…\OBJ\LED.axf: Error: L6407E: Sections of aggregate size 0x12554 bytes could not fit into .ANY selector(s).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 31 error messages.
“…\OBJ\LED.axf” -

本文详细介绍了在使用STM32F4的FreeRTOS项目中遇到的内存不足错误L6406E和L6407E,分析了错误原因是因为malloc分配的内存超出了芯片RAM限制。通过调整内存管理参数,如将最大管理内存设为35K,成功解决了问题。同时提到,不同容量的STM32芯片之间的程序移植也可能导致类似错误。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



