64K字节SRAM,堆、栈最大可以设多大值?

[复制链接]
4033|8
 楼主| huhu2009 发表于 2010-4-23 13:00 | 显示全部楼层 |阅读模式
STM32F103VE是64K字节的SRAM,那么堆、栈最大能设多少呢?
香水城 发表于 2010-4-23 14:48 | 显示全部楼层
如果有64K字节的SRAM,理论上堆、栈最大能设到64K字节。
 楼主| huhu2009 发表于 2010-4-23 19:53 | 显示全部楼层
香主是说堆、栈的值加起来是64K字节是吧,RAM空间除了用于堆栈,应该还有别的区域吧
xsgy123 发表于 2010-4-23 20:06 | 显示全部楼层
LS指的别的区域指的是什么区域,堆栈应该是数据存储最基本的单位吧
hsbjb 发表于 2010-4-23 21:11 | 显示全部楼层
64K只是理论值,实际肯定不会这样,其它的也会占用点空间,但很小
sinadz 发表于 2010-4-23 21:56 | 显示全部楼层
香主还是说下这64k的具体分配
mcuisp 发表于 2010-4-23 23:36 | 显示全部楼层
堆、栈,方向不一样,一个往上,一个往下。可以分配满64K空间。
不过当然不能按64k用,呵呵
香水城 发表于 2010-4-24 09:51 | 显示全部楼层
香主还是说下这64k的具体分配
sinadz 发表于 2010-4-23 21:56


这个问题你要问生产编译器的公司。

我们提供了空间,如何分配是有编译器和链接器决定的。
BitFu 发表于 2010-4-24 12:49 | 显示全部楼层
栈是可变的,要留足够的空间才行,如果没有操作系统用的会很少,主要取决于函数的嵌套深度参数类型。

一般情况RAM存放三种类型的数据:
1.全局变量
2.堆(典型的MALLOC函数调用),这个得看你用了还是没有
3.栈,这个必然要用到的,有操作系统的话用的就更多了,每一个任务都会有一个栈,根据任务的函数嵌套程度可分配不同的大小。

具体要看什么编译器了,所以首先要估计一下你的栈要用多少,然后,再计算一下你的全局变量有多少,最后定一下可能的动态分配内存(堆)有多少就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

163

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部