关于STM32F407的启动文件求解

2019-03-23 17:42发布

请问启动文件这里面堆和栈的大小可以随便设置大小吗?他们是占用的SRAM的大小吗?我有一个函数局部变量占用了16K的数组做了个fft,做完就把我原始数据改乱了,还有一个函数局部变量有64K,进去就跑飞了,怎么更改可以解决这些问题呢?
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
ljj3166
1楼-- · 2019-03-23 22:15
 精彩回答 2  元偷偷看……
moyanming2013
2楼-- · 2019-03-24 02:13
局部变量分配在栈(STACK)上,你的2个变量占用16+64=80KByte的栈空间。
80KByte=0x14000Byte,故Stack_Size>0x14000。
F407有192KByte的SRAM,所以你可以把栈分的大些,因为还要考虑其它变量的占用,具体可以看下MAP文件来确定。 QQ截图20170315174741.jpg
duanks
3楼-- · 2019-03-24 02:17
本帖最后由 duanks 于 2017-3-15 18:23 编辑

局部变量一般是加在stack了,5000那个可以改大地点,heap也可以大点,200也才512字节,有点小了
dontium
4楼-- · 2019-03-24 06:59
 精彩回答 2  元偷偷看……
白丁
5楼-- · 2019-03-24 06:59
可以自己配置,但是你要懂该怎么配置,局部变量64k也是够大的了,看看手册sram有多大吧,有可能堆栈越界
倒影年华
6楼-- · 2019-03-24 11:58
白丁 发表于 2017-3-15 22:15
可以自己配置,但是你要懂该怎么配置,局部变量64k也是够大的了,看看手册sram有多大吧,有可能堆栈越界

F407ram是190k的。

一周热门 更多>