栈区不够用,能否使用sdram作为栈区!!!

2019-07-20 01:36发布

    用得stm32f429  ,把emwin开起来,然后文件系统也加进去,现在是栈区不够用  ,外部有片32Msdram,能否把堆栈设定到sdram中去!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
zmingwang
2019-07-20 02:50
可以的,有两个办法:
1.在工程选项的target页下,将IRAM1的地址设置为SDRAM地址,比如0xC0000000,然后将中断向量表的第一项,也就是默认栈地址设置为一个内部RAM地址,比如0x20000400.在调用__main之前把FMC初始化了,然后重新把主堆栈修改为__initial_sp,此后栈就是在SDRAM中了.
2.修改分散加载文件,新建一个名为STACK的段,将段地址指定为SDRAM的地址,然后与方法一类似,先将默认栈设定为内部RAM,在__main之前初始化FMC,再设置MSP为__initial_sp,完成.

一周热门 更多>