stm32usb和fatfs冲突使程序进入 HardFault

最近移植完stm32f105读写u盘,已经能够正确枚举完成,fatfs也正常,但是只要程序调用过f_readdir函数后,再插上u盘,程序就会进入hardFault_Handler,不调用f_readdir之前两者都正常。有谁遇到过相似的问题吗?

自问自答一下,问题已解决,产生的原因是堆栈溢出,在启动文件里面把Stack_Size EQU 0x00000400改成0x00000800就OK了!