请问,在编写程序的时候我如何正确设置stack size和 heap size的大小??
越大越好??
对IAR中STACK和HEAP的大小设置,对程序编译阶段,IAR会加以检查并告警或出错.其实代码写入FLASH后,CPU运行时,STACK和HEAP的大小取决于430中RAM的大小,与程序编译阶段时设置的大小一点关系都没有.也就是说,编译时可以将他们设为一个合适的值使编译通过就行,运行时程序功能的实现取决于RAM的大小.
heap size,如果你不用动态分配,可以为0
如果你程序嵌套很少,参数传递很少,其实也不用很大
编写程序的时候如何设置?
这个一般是IAR编译器的设置,你的项目-->general Option--->stack size
请问参数多少算多呢?
我编译后的信息中 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某个地方会更好?
options--->linker--->>list--->选择generate linker listing
然后编译一下程序 在workplace中的output 菜单中就可以看到 xxx.map文件可以看到