读U盘需要的变量太大了,怎么办?

2019-07-20 01:09发布

本帖最后由 jshzp 于 2019-6-21 21:08 编辑

我的工程中,需要读写U盘中的一个指定文件名的二进制文件,文件不到100KB。另外还需要完成一些其它的简单功能。
电路板已经做好了,没有外扩RAM,只是使用了STM32F429IGT6片内的256KB内存。
在移植阿波罗开发板的U盘例程时,发现在去掉液晶、SPIFLASH、文本支持等无关代码,
编译后,ZI_data从原来的33MB只是减少到了约30MB,这远超过了F429片内的256KB内存。
之前画PCB时,以为256KB足够了。。。

例程里面30MB的变量,是做什么用途的?如果只是读取指定的二进制bin文件,能压缩吗?
除了增加块外存芯片,重新做电路板,还有别的办法吗?感谢指教



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
jshzp
2019-07-20 21:28
本帖最后由 jshzp 于 2019-6-21 21:05 编辑
1176658950 发表于 2019-6-21 17:37
看输出文件夹的.map文件,看看哪个变量跑这么多内存

感谢回复!map中看到有个约28兆的变量,如下
Base Addr           Size         Type   Attr         Idx       E Section Name              Object

0xc01f4000   0x01c3c000   Zero   RW          900    .ARM.__AT_0xC01F4000  malloc.o

估计是malloc.c文件里开的一个大变量,怎么具体查找是哪个变量呢?望继续指教开

一周热门 更多>