我使用smt32的探索者开发板,想实现通过单片机解压缩u盘中的压缩文件,我添加了usaHost驱动,添加了片外sram驱动,使用了虚拟文件系统,增加了minizip包,通过ls指令可以完整的查看u盘中的文件列表,打开文件也没有问题,文件列表如下:
Directory /:
System Volume Inform<DIR>
test_usbh.c 120
a.txt 22
text.txt 37
2.txt 19
1.txt 0
a.zip 165
1.zip 297
但是使用minizip指令进行打包时总是报堆栈溢出错误,控制台输出信息如下:
msh />minizip -o -9 666.zip 1.txt
MiniZip 1.01b, demo of zLib + Zip package written by Gilles Vollant
more info at http://www.winimage.com/zLibDll/minizip.html
thread:tshell stack overflow
我查看了内存列表如下
msh />list_memheap
memheap pool size max used size available size
-------- ---------- ------------- --------------
sdram 33554432 522336 33032096
heap 512392 279664 233848
msh />
内存应该足够吧,
我又通过仿真发现出现溢出时是在调用fopen函数时报的错误,改了很多设置故障仍然出现,那位大神帮帮我啊?谢谢
感谢支持!
个人认为,像是某些文件读写或是规范问题,这个需要两方面去看: