请修改mcu\fs\fat\src\Rtfcore.c中以下部分,
#ifndef __FS_CARD_DOWNLOAD__
// Always ount free clusters right away
// 1. at system init
// 2. at FS_LockFAT(FS_REMOUNT_ENUM) or FS_TestMSDC, FS_DEVICE_COUNT_FREE_CLUSTER will be set before call MountRemovableDevice().
if ((kal_query_systemInit() == KAL_TRUE) ||
(Drive->Dev->DevData.Reserved & FS_DEVICE_COUNT_FREE_CLUSTER)) {
BatchCountFreeClusters(Drive);
}
#endif
修改为:
#ifndef __FS_CARD_DOWNLOAD__
// Always ount free clusters right away
// 1. at system init
// 2. at FS_LockFAT(FS_REMOUNT_ENUM) or FS_TestMSDC, FS_DEVICE_COUNT_FREE_CLUSTER will be set before call MountRemovableDevice().
if ((kal_query_systemInit() == KAL_TRUE) ||
(Drive->Dev->DeviceNumber == gFS_DeviceNumOfSYSDRV) || //添加这样一行
(Drive->Dev->DevData.Reserved & FS_DEVICE_COUNT_FREE_CLUSTER)) {
BatchCountFreeClusters(Drive);
}
#endif
#ifndef __FS_CARD_DOWNLOAD__
// Always ount free clusters right away
// 1. at system init
// 2. at FS_LockFAT(FS_REMOUNT_ENUM) or FS_TestMSDC, FS_DEVICE_COUNT_FREE_CLUSTER will be set before call MountRemovableDevice().
if ((kal_query_systemInit() == KAL_TRUE) ||
(Drive->Dev->DevData.Reserved & FS_DEVICE_COUNT_FREE_CLUSTER)) {
BatchCountFreeClusters(Drive);
}
#endif
修改为:
#ifndef __FS_CARD_DOWNLOAD__
// Always ount free clusters right away
// 1. at system init
// 2. at FS_LockFAT(FS_REMOUNT_ENUM) or FS_TestMSDC, FS_DEVICE_COUNT_FREE_CLUSTER will be set before call MountRemovableDevice().
if ((kal_query_systemInit() == KAL_TRUE) ||
(Drive->Dev->DeviceNumber == gFS_DeviceNumOfSYSDRV) || //添加这样一行
(Drive->Dev->DevData.Reserved & FS_DEVICE_COUNT_FREE_CLUSTER)) {
BatchCountFreeClusters(Drive);
}
#endif