USB MassStorage 例程从功能上可以划分成两个比较独立的部分:
USB通信部分,对应 MassStorage.c 中代码
Flash读写部分,对应 FlashDisk.c 中代码
现在现象是每次重启都要求格式化,那可能是 Flash 读写部分有问题,,
可以先不管 USB 通信部分,,按照“SFC_ReadJEDEC()、校验读回ID、SFC_Erase()、SFC_Read()、校验读回数据、SFC_Write()、SFC_Read()、校验读回数据”的流程,先验证一下SFC读写SPI Flash部分是否工作正常。。另外这部分调试可配合逻辑分析仪抓取通信过程,,查看SFC发出的命令 SPI Flash 是否支持、SPI Flash 是否被写保护等问题
|