修复RTOS存储文件死机问题
This commit is contained in:
parent
50ad347fc8
commit
72c115a00b
|
@ -332,9 +332,8 @@ static void* mmc_monitoring_thread(void *arg)
|
|||
{
|
||||
while(MMCMonitorTskCfg.IsRun)
|
||||
{
|
||||
#if USE_MMC_DEV_CHECK
|
||||
pMMCDev = SF_StrgCheckWorkableDev();
|
||||
#endif
|
||||
|
||||
sf_sleep_ms(1000);
|
||||
}
|
||||
return NULL;
|
||||
|
|
|
@ -90,7 +90,7 @@ static void card_insert_job2(void)
|
|||
int ret;
|
||||
FILE_TSK_INIT_PARAM Param = {0};
|
||||
FS_HANDLE StrgDXH2;
|
||||
UINT32 start_sector = 8192 ; /* linux cmd fdisk can list partition info */
|
||||
UINT32 start_sector = 16 ; /* linux cmd fdisk can list partition info */
|
||||
UINT32 totoal_sectors = 0;
|
||||
StrgDXH2 = (FS_HANDLE)sdio2_getStorageObject(STRG_OBJ_FAT1);
|
||||
STORAGE_OBJ* pStrg = sdio2_getStorageObject(STRG_OBJ_FAT1);
|
||||
|
@ -146,9 +146,6 @@ static void sys_detect_card_task(void)
|
|||
#if defined(_EMBMEM_EMMC_)
|
||||
THREAD_ENTRY();
|
||||
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
SF_RtosStrgInit();
|
||||
#endif
|
||||
card_insert_job();
|
||||
|
||||
THREAD_RETURN(0);
|
||||
|
@ -181,9 +178,9 @@ static void sys_detect_card_task(void)
|
|||
|
||||
vTaskDelay(pdMS_TO_TICKS(1000));
|
||||
}
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
SF_RtosStrgUnInit();
|
||||
#endif
|
||||
//#if USE_RTOS_MMC_CHECK
|
||||
//SF_RtosStrgUnInit();
|
||||
//#endif
|
||||
THREAD_RETURN(0);
|
||||
#endif
|
||||
}
|
||||
|
@ -232,6 +229,11 @@ void filesys_init(void)
|
|||
vos_task_resume(task_hdl2);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
SF_RtosStrgInit();
|
||||
#endif
|
||||
|
||||
|
||||
#if 0
|
||||
if (FST_STA_OK != FileSys_Init(FileSys_GetOPS_uITRON())) {
|
||||
|
@ -317,4 +319,4 @@ void sf_log_open(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -866,17 +866,25 @@ static DCF_HANDLE MovieFast_Get_DCF_Handle(void)
|
|||
//#else
|
||||
//return g_dcf_hdl;
|
||||
//#endif
|
||||
SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl);
|
||||
SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl2);
|
||||
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev();
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
if(mmc_dev ==NULL)
|
||||
{
|
||||
DBG_ERR("No MMC_Dev Can use!\n");
|
||||
return -1;
|
||||
}
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
{
|
||||
DBG_ERR("dcf_handle err\n");
|
||||
return -1;
|
||||
}
|
||||
DBG_WRN("Moviefast DCF_GET_HANDLE, %d\n", mmc_dev->dcf_handle);
|
||||
return mmc_dev->dcf_handle;
|
||||
#else
|
||||
return g_dcf_hdl;
|
||||
return g_dcf_hdl2;
|
||||
#endif
|
||||
}
|
||||
INT32 MovieFast_Wait_FileSys(UINT32 timeout_ms)
|
||||
|
@ -1179,9 +1187,12 @@ static void MovieFast_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT3
|
|||
#if HUNTING_CAMERA_MCU == ENABLE
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev();
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
if(mmc_dev != NULL)
|
||||
{
|
||||
DBG_ERR("No MMC_Dev Can use!\n");
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
{
|
||||
DBG_ERR("dcf_handle err\n");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1195,7 +1206,7 @@ static void MovieFast_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT3
|
|||
}
|
||||
}
|
||||
#else
|
||||
snprintf(tmp, sizeof(tmp), "%c%s%s", 'A', MOVIE_THUMB_PATH, thumb_current_path); /* DCF 8.3 naming rule */
|
||||
snprintf(tmp, sizeof(tmp), "%c%s%s", 'B', MOVIE_THUMB_PATH, thumb_current_path); /* DCF 8.3 naming rule */
|
||||
#endif
|
||||
#else
|
||||
snprintf(tmp, sizeof(tmp), "%s%s", MOVIE_THUMB_PATH, (thumb_current_path + (length - 12))); /* DCF 8.3 naming rule */
|
||||
|
@ -1310,7 +1321,7 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread(void *arg)
|
|||
#endif
|
||||
{
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl);
|
||||
//SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl);
|
||||
#endif
|
||||
fastboot_set_done(BOOT_INIT_FILENAMINGOK);
|
||||
}
|
||||
|
@ -1353,7 +1364,7 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread2(void *arg)
|
|||
#endif
|
||||
{
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl2);
|
||||
//SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl2);
|
||||
#endif
|
||||
fastboot_set_done(BOOT_INIT_FILENAMINGOK_2);
|
||||
}
|
||||
|
|
|
@ -624,19 +624,25 @@ UINT32 PhotoExe_GetFreePicNum(void)
|
|||
UINT32 CaptureSize;
|
||||
UINT32 size;
|
||||
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
#if 0//USE_RTOS_MMC_CHECK
|
||||
SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev();
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
if(mmc_dev ==NULL)
|
||||
{
|
||||
DBG_ERR("No MMC_Dev Can use!\n");
|
||||
return FALSE;
|
||||
return 0;
|
||||
}
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
{
|
||||
DBG_ERR("dcf_handle err\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#if (FILESIZE_ALIGN_FUNC)
|
||||
reserveSize += FS_ALIGN_RESERVED_SIZE;
|
||||
#endif
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
#if 0//USE_RTOS_MMC_CHECK
|
||||
|
||||
if(mmc_dev->dev_type == MMC_DEV_SD)
|
||||
{
|
||||
|
|
|
@ -58,14 +58,20 @@ void UIStorageCheck_ResetFileReachMax(void)
|
|||
|
||||
static BOOL check_CurrDir_writable(void)
|
||||
{
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
#if 0//USE_RTOS_MMC_CHECK
|
||||
|
||||
SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev();
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
if(mmc_dev ==NULL)
|
||||
{
|
||||
DBG_ERR("No MMC_Dev Can use!\n");
|
||||
return FALSE;
|
||||
}
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
{
|
||||
DBG_ERR("dcf_handle err\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#endif
|
||||
UINT32 useFileDB = 0;
|
||||
useFileDB = UI_GetData(FL_IsUseFileDB);
|
||||
|
@ -76,7 +82,7 @@ static BOOL check_CurrDir_writable(void)
|
|||
#if (USE_DCF == ENABLE)
|
||||
UINT32 CurrDirID;
|
||||
SDCFDIRINFO dirinfo = {0};
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
#if 0//USE_RTOS_MMC_CHECK
|
||||
CurrDirID = DCF_GetDBInfoEx(mmc_dev->dcf_handle, DCF_INFO_CUR_DIR_ID);
|
||||
if (CurrDirID) {
|
||||
if (DCF_GetDirInfoEx(mmc_dev->dcf_handle, CurrDirID, &dirinfo)) {
|
||||
|
@ -108,14 +114,20 @@ static BOOL check_CurrDir_writable(void)
|
|||
|
||||
BOOL UIStorageCheck_DCIMWritable(void)
|
||||
{
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
#if 0//USE_RTOS_MMC_CHECK
|
||||
|
||||
SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev();
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
if(mmc_dev ==NULL)
|
||||
{
|
||||
DBG_ERR("No MMC_Dev Can use!\n");
|
||||
return FALSE;
|
||||
}
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
{
|
||||
DBG_ERR("dcf_handle err\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#endif
|
||||
UINT32 useFileDB = 0;
|
||||
useFileDB = UI_GetData(FL_IsUseFileDB);
|
||||
|
@ -125,7 +137,7 @@ BOOL UIStorageCheck_DCIMWritable(void)
|
|||
INT32 uiStatus = 0;
|
||||
UINT8 ucAttrib = 0;
|
||||
BOOL ret = FALSE;
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
#if 0//USE_RTOS_MMC_CHECK
|
||||
if(mmc_dev->dev_type == MMC_DEV_SD)
|
||||
{
|
||||
uiStatus = FileSys_GetAttrib("A:\\DCIM", &ucAttrib);
|
||||
|
@ -175,7 +187,7 @@ static BOOL UIStrgCheckFolderFull(DCF_HANDLE DcfHandle)
|
|||
return TRUE;
|
||||
}
|
||||
bIsFileReachMax = FALSE;
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
#if 0//USE_RTOS_MMC_CHECK
|
||||
ret = DCF_GetNextIDEx(DcfHandle, &DCF_DirId, &DCF_FileId);
|
||||
#else
|
||||
ret = DCF_GetNextID(&DCF_DirId, &DCF_FileId);
|
||||
|
@ -216,7 +228,7 @@ static BOOL UIStrgCheckFull(UINT32 *pFreeCount)
|
|||
|
||||
static BOOL UIStrgCheckErr(MMC_DEV_TYPE dev_id)
|
||||
{
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
#if 0//USE_RTOS_MMC_CHECK
|
||||
|
||||
if(dev_id == MMC_DEV_SD)
|
||||
{
|
||||
|
@ -247,14 +259,20 @@ static BOOL UIStrgCheckErr(MMC_DEV_TYPE dev_id)
|
|||
|
||||
BOOL UIStorageCheck(UINT32 uiCheckItem, UINT32 *pFreeCount)
|
||||
{
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
#if 0//USE_RTOS_MMC_CHECK
|
||||
|
||||
SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev();
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
if(mmc_dev ==NULL)
|
||||
{
|
||||
DBG_ERR("No MMC_Dev Can use!\n");
|
||||
return FALSE;
|
||||
}
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
{
|
||||
DBG_ERR("dcf_handle err\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#endif
|
||||
UINT32 useFileDB = 0;
|
||||
useFileDB = UI_GetData(FL_IsUseFileDB);
|
||||
|
@ -266,7 +284,7 @@ BOOL UIStorageCheck(UINT32 uiCheckItem, UINT32 *pFreeCount)
|
|||
if (useFileDB) {
|
||||
return FALSE;
|
||||
} else {
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
#if 0//USE_RTOS_MMC_CHECK
|
||||
UIStrgCheckFolderFull(mmc_dev->dcf_handle);
|
||||
#else
|
||||
UIStrgCheckFolderFull(0);
|
||||
|
@ -286,7 +304,7 @@ BOOL UIStorageCheck(UINT32 uiCheckItem, UINT32 *pFreeCount)
|
|||
break;
|
||||
case STORAGE_CHECK_ERROR:
|
||||
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
#if 0//USE_RTOS_MMC_CHECK
|
||||
UIStrgCheckErr(mmc_dev->dev_type);
|
||||
#else
|
||||
UIStrgCheckErr(0);
|
||||
|
|
|
@ -748,7 +748,7 @@ INT32 PhotoFast_FileNaming_Open(void)
|
|||
|
||||
DCF_ScanObjEx(g_dcf_hdl);
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl);
|
||||
//SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl);
|
||||
#endif
|
||||
}
|
||||
else{
|
||||
|
@ -780,7 +780,7 @@ INT32 PhotoFast_FileNaming_Open2(void)
|
|||
DBG_WRN("DCF_ScanObjEx emmc handle=%d\n", g_dcf_hdl2);
|
||||
DCF_ScanObjEx(g_dcf_hdl2);
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl2);
|
||||
//SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl2);
|
||||
#endif
|
||||
}
|
||||
else{
|
||||
|
@ -812,8 +812,8 @@ INT32 PhotoFast_FileNaming_Close(void)
|
|||
}
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
|
||||
SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl);
|
||||
SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl2);
|
||||
//SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl);
|
||||
//SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl2);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
@ -936,17 +936,26 @@ DCF_HANDLE PhotoFast_Get_DCF_Handle()
|
|||
//#else
|
||||
//return g_dcf_hdl;
|
||||
//#endif
|
||||
|
||||
SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl);
|
||||
SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl2);
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev();
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
if(mmc_dev ==NULL)
|
||||
{
|
||||
DBG_ERR("No MMC_Dev Can use!\n");
|
||||
return -1;
|
||||
}
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
{
|
||||
DBG_ERR("dcf_handle err\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
DBG_WRN("photofast DCF_GET_HANDLE, %d\n", mmc_dev->dcf_handle);
|
||||
return mmc_dev->dcf_handle;
|
||||
#else
|
||||
return g_dcf_hdl;
|
||||
return g_dcf_hdl2;
|
||||
#endif
|
||||
}
|
||||
INT32 PhotoFast_Wait_FileSys(UINT32 timeout_ms)
|
||||
|
|
|
@ -2248,7 +2248,7 @@ INT32 PhotoFast_SliceEncode_CB2(void* user_data)
|
|||
if(param->cnt >= param->max_cnt)
|
||||
break;
|
||||
#if SF_NO_SD_SEND == ENABLE
|
||||
if(PhotoFast_Wait_FileSys(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK){
|
||||
if(PhotoFast_Wait_FileSys(1) != E_OK){
|
||||
goto EXIT;
|
||||
}
|
||||
#endif
|
||||
|
@ -2391,9 +2391,12 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data)
|
|||
#if HUNTING_CAMERA_MCU == ENABLE
|
||||
#if USE_RTOS_MMC_CHECK
|
||||
SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev();
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
if(mmc_dev != NULL)
|
||||
{
|
||||
DBG_ERR("No MMC_Dev Can use!\n");
|
||||
if(mmc_dev->dcf_handle < 0)
|
||||
{
|
||||
DBG_ERR("dcf_handle err\n");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2407,7 +2410,7 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data)
|
|||
}
|
||||
}
|
||||
#else
|
||||
snprintf(tmp, sizeof(tmp), "%c%s%s", 'A', PHOTO_THUMB_PATH, file_path); /* DCF 8.3 naming rule */
|
||||
snprintf(tmp, sizeof(tmp), "%c%s%s", 'B', PHOTO_THUMB_PATH, file_path); /* DCF 8.3 naming rule */
|
||||
#endif
|
||||
#else
|
||||
UINT32 length = strlen(file_path);
|
||||
|
|
|
@ -176,7 +176,7 @@ static UINT32 sf_rtos_mmc_dev_space_check_full(MMC_DEV_TYPE mmc_dev)
|
|||
IsCardFull = FALSE;
|
||||
ret = 0;
|
||||
}
|
||||
DBG_WRN("[%d]sd card diskFree=%lluM, ret = %d\n", __LINE__, diskFree, ret);
|
||||
DBG_WRN("[strg_id:%d]diskFree=%lluM, ret = %d\n", mmc_dev, diskFree, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -214,27 +214,6 @@ SF_RTOS_ST_MMC_DEV *SF_RtosStrgCheckWorkableDev(void)
|
|||
{
|
||||
MMC_DEV_TYPE workable_dev = MMC_DEV_NO;
|
||||
|
||||
UINT32 isfull = 0;
|
||||
isfull = sf_rtos_mmc_dev_space_check_full(MMC_DEV_SD);
|
||||
if(isfull == 1)
|
||||
{
|
||||
sf_rtos_mmc_dev[MMC_DEV_SD]->space_state = MMC_DEV_SPACE_STATE_NO_ENOUGH;
|
||||
}
|
||||
else if(isfull == 0)
|
||||
{
|
||||
sf_rtos_mmc_dev[MMC_DEV_SD]->space_state = MMC_DEV_SPACE_STATE_ENOUGH;
|
||||
}
|
||||
|
||||
isfull = sf_rtos_mmc_dev_space_check_full(MMC_DEV_EMMC);
|
||||
if(isfull == 1)
|
||||
{
|
||||
sf_rtos_mmc_dev[MMC_DEV_EMMC]->space_state = MMC_DEV_SPACE_STATE_NO_ENOUGH;
|
||||
}
|
||||
else if(isfull == 0)
|
||||
{
|
||||
sf_rtos_mmc_dev[MMC_DEV_EMMC]->space_state = MMC_DEV_SPACE_STATE_ENOUGH;
|
||||
}
|
||||
|
||||
if((sf_rtos_mmc_dev[MMC_DEV_SD]->moumted_state == MMC_DEV_MOUNT_STATE_UNMOUNTED) &&
|
||||
(sf_rtos_mmc_dev[MMC_DEV_EMMC]->moumted_state == MMC_DEV_MOUNT_STATE_UNMOUNTED))
|
||||
{
|
||||
|
@ -242,7 +221,7 @@ SF_RTOS_ST_MMC_DEV *SF_RtosStrgCheckWorkableDev(void)
|
|||
}
|
||||
else if(sf_rtos_mmc_dev[MMC_DEV_SD]->moumted_state == MMC_DEV_MOUNT_STATE_UNMOUNTED)
|
||||
{
|
||||
if(sf_rtos_mmc_dev[MMC_DEV_EMMC]->space_state == MMC_DEV_SPACE_STATE_ENOUGH)
|
||||
if(!sf_rtos_mmc_dev_space_check_full(MMC_DEV_EMMC))
|
||||
{
|
||||
workable_dev = MMC_DEV_EMMC;
|
||||
}
|
||||
|
@ -256,7 +235,7 @@ SF_RTOS_ST_MMC_DEV *SF_RtosStrgCheckWorkableDev(void)
|
|||
}
|
||||
else if(sf_rtos_mmc_dev[MMC_DEV_EMMC]->moumted_state == MMC_DEV_MOUNT_STATE_UNMOUNTED)
|
||||
{
|
||||
if(sf_rtos_mmc_dev[MMC_DEV_SD]->space_state == MMC_DEV_SPACE_STATE_ENOUGH)
|
||||
if(!sf_rtos_mmc_dev_space_check_full(MMC_DEV_SD))
|
||||
{
|
||||
workable_dev = MMC_DEV_SD;
|
||||
}
|
||||
|
@ -270,16 +249,16 @@ SF_RTOS_ST_MMC_DEV *SF_RtosStrgCheckWorkableDev(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
if(sf_rtos_mmc_dev[MMC_DEV_EMMC]->space_state == MMC_DEV_SPACE_STATE_ENOUGH &&
|
||||
sf_rtos_mmc_dev[MMC_DEV_SD]->space_state == MMC_DEV_SPACE_STATE_ENOUGH)
|
||||
if(!sf_rtos_mmc_dev_space_check_full(MMC_DEV_EMMC) &&
|
||||
!sf_rtos_mmc_dev_space_check_full(MMC_DEV_SD))
|
||||
{
|
||||
workable_dev = MMC_DEV_EMMC;
|
||||
}
|
||||
else if(sf_rtos_mmc_dev[MMC_DEV_EMMC]->space_state == MMC_DEV_SPACE_STATE_ENOUGH)
|
||||
else if(!sf_rtos_mmc_dev_space_check_full(MMC_DEV_EMMC))
|
||||
{
|
||||
workable_dev = MMC_DEV_EMMC;
|
||||
}
|
||||
else if(sf_rtos_mmc_dev[MMC_DEV_SD]->space_state == MMC_DEV_SPACE_STATE_ENOUGH)
|
||||
else if(!sf_rtos_mmc_dev_space_check_full(MMC_DEV_SD))
|
||||
{
|
||||
workable_dev = MMC_DEV_SD;
|
||||
}
|
||||
|
@ -297,12 +276,11 @@ SF_RTOS_ST_MMC_DEV *SF_RtosStrgCheckWorkableDev(void)
|
|||
for(int i = 0; i < 2; i++)
|
||||
{
|
||||
sf_rtos_mmc_dev[i]->dev_type = workable_dev;
|
||||
DBG_WRN("mount:%d, space:%d\n", sf_rtos_mmc_dev[i]->moumted_state,
|
||||
sf_rtos_mmc_dev[i]->space_state);
|
||||
DBG_WRN("mount:%d\n", sf_rtos_mmc_dev[i]->moumted_state);
|
||||
}
|
||||
if(workable_dev == MMC_DEV_NO)
|
||||
{
|
||||
return sf_rtos_mmc_dev[MMC_DEV_EMMC];
|
||||
return NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue
Block a user