请问如何大概计算stm32所需的堆栈空间的大小,望知道的大侠指教指教……

2019-12-15 11:04发布

最近在用stm32做电子相册实验,开发板是安富莱的,实验是:stm32f103zet6 + SDIO + FATFS +FSMC ->TFT,目前已经能读取SD卡里面的BMP图片到TFT上显示了。

而stm32f103zet6有64K的ram(试验中还没有使用外部SRAM),现在想充分利用芯片自身的资源,定义一个尽量大的buffer,以便一次性在SD卡中读取更多的字节数来提高速度。

我在在实验中一步一步的增大buffer,增大到一定程度时,出现了hard default。后来我将堆栈增大,他又正常了。

目前定义了5120个字节的数组来缓存数据,还只是占芯片资源的一小部分,想继续增大,但不知道如何设置堆栈大小才合适,所以想问下大家怎么计算堆栈的大小,谢谢!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
liyang121316
1楼-- · 2019-12-16 11:47
danielmi 发表于 2011-11-4 10:44
回复【2楼】huatuizh
编译出来的outpu里面,有个工程名.html的文件,会列出最大函数调用路径所消耗的stack ...

LZ能否截图明示?
tanek
2楼-- · 2019-12-16 15:50
这种情况是不是你定义缓冲的时候定义在了堆栈,而不是静态区或者用堆或者pool来申请存储
tanek
3楼-- · 2019-12-16 20:44
定义缓冲一般不用使用堆栈的空间
bolizhicheng204
4楼-- · 2019-12-16 22:41
 精彩回答 2  元偷偷看……

一周热门 更多>