请问STM32F407启动文件里面堆和栈的大小可以设置吗?

2019-07-14 15:39发布

请问STM32F407启动文件里面堆和栈的大小可以设置吗?我有一个函数局部变量占用了16K的数组做了个fft,做完就把我原始数据改乱了,还有一个函数局部变量有64K,进去就跑飞了,怎么更改可以解决这些问题呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
鑫12345
1楼-- · 2019-07-14 20:35
局部变量就是放在 栈里面的,你定义的局部变量大小把栈击穿了,你可以把那个局部变量数组变定义成全局变量,也可以吧栈的空间 Stack Size 改成64K 加 其他栈需要,那就定义成70K吧
rstech_rd
2楼-- · 2019-07-14 22:55
 精彩回答 2  元偷偷看……
dsgdadsad
3楼-- · 2019-07-15 02:53
改成全局变量试一下
xianhaizhe
4楼-- · 2019-07-15 03:18
全局变量,或者局部静态变量,这样编译器会提前分配好内存,不需要动态分配使用堆栈了
jhhfhgj
5楼-- · 2019-07-15 09:09
局部变量分配在栈(STACK)上,你的2个变量占用16+64=80KByte的栈空间。
Shype
6楼-- · 2019-07-15 14:29
F407有192KByte的SRAM,所以你可以把栈分的大些,因为还要考虑其它变量的占用

一周热门 更多>