在startup_stm32fxxxx.s文件中,修改Stack_Size和Heap_Size的值,即可修改Heap和Stack的大小。
下载贤集网APP入驻自媒体
如何修改嵌入式程序的Heap和Stack的大小 在一些项目中,如RTOS或GUI项目中默认的Heap和Stack的大小可能不能运行,如我的一个lvgl项目,由于这两者的size使用默认值,导致程序经常死机。所以在项目生成后需要修改Heap和Stack的尺寸,那么针对keil项目和GNU项目如何修改呢,下面就分别说明: keil项目的Heap和Stack的尺寸在startup_stm32fxxxx.s文件中, 修改Stack_Size和Heap_Size的值,就可以修改需要的值了。 GNU项目的Stack Size和Heap Size的值,不在startup_stm32f746xx.s里,而是在LinkerScript.ld连接脚本里。 修改上面的_Min_Heap_Size和_Min_Stack_Size就可以修改默认的值了。 对于不同的项目,Heap和Stack到底需要多大,根据项目需求而异,如果函数中的参数较多或全套较深则Stack较大,动态参数较多较大则Heap较大。虽然这两个值越大越好,但是也要根据项目的实际内存而定。