stm32堆空间和栈空间大小计算?Stack_Size 和 Heap_Size

2019-07-21 03:53发布

QQ截图20160829181915.jpg

裸机程序里面这两个值  在程序中我要怎么计算才能知道分配多少合适?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
Sun_Fly
1楼-- · 2019-07-22 10:34
Heap Size 大小设置成0XFFF0FFFF都不会出错,512K的f103
xiaoyehack
2楼-- · 2019-07-22 15:34
Sun_Fly 发表于 2017-4-26 15:56
Heap Size 大小设置成0XFFF0FFFF都不会出错,512K的f103

128 k
PeterFan
3楼-- · 2019-07-22 21:22
 精彩回答 2  元偷偷看……
phangbob
4楼-- · 2019-07-23 01:44
正点原子 发表于 2016-8-29 18:23
1,Stack Size,一般小工程0X400足够,我们综合实验才设置0X1000就够用,所以默认无需设置太大。2,Heap Si ...

请问下,我理解是
1-没有使用malloc的情况下,没有使用到heap,然后在startup.s文件中初始化的heap都被删除掉,在map文件中只显示stack的大小,没有heap。
2-但是我在一个工程中,发现其占用的ram很大,heap也没有删除,在map文件中STACK和HEAP都存在

    0x200008b0        -       0x00000200   Zero   RW          509    HEAP                startup_stm32f10x_hd.o
    0x20000ab0        -       0x00000400   Zero   RW          508    STACK               startup_stm32f10x_hd.o


请问,这是什么原因造成的呢??
phangbob
5楼-- · 2019-07-23 03:44
正点原子 发表于 2016-8-29 18:23
1,Stack Size,一般小工程0X400足够,我们综合实验才设置0X1000就够用,所以默认无需设置太大。2,Heap Si ...

对了,补充下问题描述,那个工程是IAP工程......
那HEAP不释放,是和“USART_RX_BUF[USART_REC_LEN] __attribute__ ((at(0X20001000)))”这有关吗?

如何理解?谢谢。
J2366079297
6楼-- · 2019-07-23 06:47
你好,内存分配给堆栈后剩余的空间如何使用?malloc只能申请heap定义的内存吗?

一周热门 更多>