关于stack 和heap的设置问题

bbslee888   2009-4-1 22:22 楼主
请问,在编写程序的时候我如何正确设置stack size和 heap size的大小??
越大越好??

回复评论 (6)

2推荐 lbx_00 

对IAR中STACK和HEAP的大小设置,对程序编译阶段,IAR会加以检查并告警或出错.其实代码写入FLASH后,CPU运行时,STACK和HEAP的大小取决于430中RAM的大小,与程序编译阶段时设置的大小一点关系都没有.也就是说,编译时可以将他们设为一个合适的值使编译通过就行,运行时程序功能的实现取决于RAM的大小.
点赞  2009-4-9 16:22
heap size,如果你不用动态分配,可以为0
如果你程序嵌套很少,参数传递很少,其实也不用很大
点赞  2009-4-2 08:38
编写程序的时候如何设置?
这个一般是IAR编译器的设置,你的项目-->general Option--->stack size
点赞  2009-4-2 11:17
请问参数多少算多呢?
我编译后的信息中 182 bytes of DATA memory (+ 162 absolute )

****************************************
* *
* END OF CROSS REFERENCE *
* *
****************************************

11 444 bytes of CODE memory
182 bytes of DATA memory (+ 162 absolute )
308 bytes of CONST memory

Errors: none
Warnings: none
其中182B的DATA 随着我将数据固定定义在ram中的固定位置而越来越小,不知道这个到底影响什么?是不是将所有的参数都固定放在ram某个地方会更好?
点赞  2009-4-8 16:22
引用:

请问参数多少算多呢?
我编译后的信息中 182 bytes of DATA memory (+ 162 absolute )

****************************************
* ...
请问,楼主,你这输出信息是怎么设置的??
点赞  2009-4-10 14:13
options--->linker--->>list--->选择generate linker listing

然后编译一下程序 在workplace中的output 菜单中就可以看到 xxx.map文件可以看到

引用:

请问,楼主,你这输出信息是怎么设置的??
点赞  2009-4-10 18:56
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复