最近在用stm32做电子相册实验,开发板是安富莱的,实验是:stm32f103zet6 + SDIO + FATFS +FSMC ->TFT,目前已经能读取SD卡里面的BMP图片到TFT上显示了。
而stm32f103zet6有64K的ram(试验中还没有使用外部SRAM),现在想充分利用芯片自身的资源,定义一个尽量大的buffer,以便一次性在SD卡中读取更多的字节数来提高速度。
我在在实验中一步一步的增大buffer,增大到一定程度时,出现了hard default。后来我将堆栈增大,他又正常了。
目前定义了5120个字节的数组来缓存数据,还只是占芯片资源的一小部分,想继续增大,但不知道如何设置堆栈大小才合适,所以想问下大家怎么计算堆栈的大小,谢谢!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5120这个大小略显奇葩....应该是512的2次倍数...比如4096 8192什么的....
另外...
你究竟是要放堆里...还是要放栈里?....这是两个地方啊....
这种Buffer放在堆里明显比栈里合适的多....
我测试的是8192的时候基本提升就很小了...4096更具性价比...
一周热门 更多>