修改合并快起死机问题

This commit is contained in:
sober.song 2023-12-29 00:29:00 +08:00
parent 924dc666e9
commit f6e9ed6ab3
10 changed files with 151 additions and 100 deletions

View File

@ -201,6 +201,8 @@ ${PREFIX}/lib/modules/$KERVER/hdal/kdrv_videoout/fbdev/nvt_fb.ko
#insmod ${PREFIX}/lib/modules/$KERVER/hdal/comm/usb2dev/nvt_usb2dev.ko #insmod ${PREFIX}/lib/modules/$KERVER/hdal/comm/usb2dev/nvt_usb2dev.ko
#fi #fi
mount /dev/mmcblk1p1 /mnt/sd2
if [ -f /usr/bin/isp_demon ]; then if [ -f /usr/bin/isp_demon ]; then
/usr/bin/isp_demon /usr/bin/isp_demon
else else
@ -234,4 +236,4 @@ insmod_if_exist ${PREFIX}/lib/modules/$KERVER/hdal/kflow_audiodec/unit/kflow_aud
#insmod /etc/lib/modules/$KERVER/extra/fs/exfat/exfat.ko #insmod /etc/lib/modules/$KERVER/extra/fs/exfat/exfat.ko
#fi #fi

View File

@ -17,7 +17,7 @@
#include "SF_SysStrgMng.h" #include "SF_SysStrgMng.h"
#include <sf_param_common.h> #include <sf_param_common.h>
#include <sf_param_struct.h> #include <sf_param_struct.h>
#include <FileSysTsk.h> #include <FileSysTsk.h>
typedef struct typedef struct
{ {
@ -26,22 +26,42 @@ typedef struct
int mounted_status; int mounted_status;
}STRG_CB_PARAM; }STRG_CB_PARAM;
SF_THREAD_S MMCMonitorTskCfg =
{
.IsRun = 0,
.TskId = -1,
};
SF_ST_MMC_DEV *sf_mmc_dev[MMC_DEV_MAX_NUM] = {NULL}; SF_ST_MMC_DEV *sf_mmc_dev[MMC_DEV_MAX_NUM] = {NULL};
SF_ST_MMC_DEV *pMMCDev = NULL;
void SF_SetMMCDev(SF_ST_MMC_DEV *pDev)
{
pMMCDev = pDev;
}
SF_ST_MMC_DEV *SF_GetMMCDev(void)
{
return pMMCDev;
}
void SF_StrgInit(void) void SF_StrgInit(void)
{ {
for(int i = 0; i < MMC_DEV_MAX_NUM; i++) for(int i = 0; i < MMC_DEV_MAX_NUM; i++)
{ {
sf_mmc_dev[i] = (SF_ST_MMC_DEV *)malloc(sizeof(SF_ST_MMC_DEV)); sf_mmc_dev[i] = (SF_ST_MMC_DEV *)malloc(sizeof(SF_ST_MMC_DEV));
if(sf_mmc_dev[i] == NULL) { if(sf_mmc_dev[i] == NULL) {
// 处理内存分配失败的情况 MLOGD("SF_StrgInit Failed, id = %d\n", i);
} }
sf_mmc_dev[i]->dcf_handle = -1; sf_mmc_dev[i]->dcf_handle = -1;
sf_mmc_dev[i]->dev_type = MMC_DEV_NO; sf_mmc_dev[i]->dev_type = MMC_DEV_NO;
sf_mmc_dev[i]->node = MMC_DEV_NODE_STATE_NO; sf_mmc_dev[i]->node = MMC_DEV_NODE_STATE_NO_EXIST;
sf_mmc_dev[i]->moumted_state = MMC_DEV_MOUNT_STATE_NO; sf_mmc_dev[i]->moumted_state = MMC_DEV_MOUNT_STATE_UNMOUNTED;
sf_mmc_dev[i]->space_state = MMC_DEV_SPACE_STATE_NO; sf_mmc_dev[i]->space_state = MMC_DEV_SPACE_STATE_ENOUGH;
sf_mmc_dev[i]->loop_state = MMC_DEV_LOOP_STATE_NO; sf_mmc_dev[i]->loop_state = MMC_DEV_LOOP_STATE_OFF;
} }
} }
@ -62,32 +82,33 @@ void SF_StrgSetDcfHandle(UINT32 strg_id, UINT32 handle)
} }
static UINT32 SF_StrgSpaceCheckFull(MMC_DEV_TYPE mmc_dev) static UINT32 SF_StrgSpaceCheckFull(MMC_DEV_TYPE mmc_dev)
{ {
UINT64 diskFree = 0; UINT64 diskFree = 0;
UINT32 ret = 0; UINT32 ret = 0;
/*check disk free size*/ return 0;
if(mmc_dev == MMC_DEV_SD) /*check disk free size*/
{ if(mmc_dev == MMC_DEV_SD)
diskFree = FileSys_GetDiskInfoEx('A', FST_INFO_FREE_SPACE); {
} diskFree = FileSys_GetDiskInfoEx('A', FST_INFO_FREE_SPACE);
else }
{ else
{
diskFree = FileSys_GetDiskInfoEx('B', FST_INFO_FREE_SPACE); diskFree = FileSys_GetDiskInfoEx('B', FST_INFO_FREE_SPACE);
} }
diskFree = diskFree/1024/1024; diskFree = diskFree/1024/1024;
if(diskFree < 30) /* 30MB */ if(diskFree < 30) /* 30MB */
{ {
ret = 1; ret = 1;
} }
else else
{ {
ret = 0; ret = 0;
} }
MLOGD("[%s:%d]sd card diskFree=%lluM\n", __FUNCTION__, __LINE__, diskFree); //MLOGD("[%s:%d]sd card diskFree=%lluM\n", __FUNCTION__, __LINE__, diskFree);
return ret; return ret;
} }
static int SF_StrgNodeCheck(const char *devName) static int SF_StrgNodeCheck(const char *devName)
@ -175,9 +196,9 @@ void SF_StrgRegister(SF_MESSAGE_BUF_S *pMessageBuf)
for(int i = 0; i < 2; i++) for(int i = 0; i < 2; i++)
{ {
MLOGD("node:%d, mount:%d, space:%d, loop:%d\n", MLOGD("node:%d, mount:%d, loop:%d\n",
sf_mmc_dev[i]->node, sf_mmc_dev[i]->moumted_state, sf_mmc_dev[i]->node, sf_mmc_dev[i]->moumted_state,
sf_mmc_dev[i]->space_state, sf_mmc_dev[i]->loop_state); sf_mmc_dev[i]->loop_state);
} }
} }
@ -185,27 +206,6 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void)
{ {
MMC_DEV_TYPE workable_dev = MMC_DEV_NO; MMC_DEV_TYPE workable_dev = MMC_DEV_NO;
//MLOGD("sf mmc check workable dev start!!!\n"); //MLOGD("sf mmc check workable dev start!!!\n");
UINT32 isfull = 0;
isfull = SF_StrgSpaceCheckFull(MMC_DEV_EMMC);
if(isfull == 1)
{
sf_mmc_dev[MMC_DEV_EMMC]->space_state = MMC_DEV_SPACE_STATE_NO_ENOUGH;
}
else if(isfull == 0)
{
sf_mmc_dev[MMC_DEV_EMMC]->space_state = MMC_DEV_SPACE_STATE_ENOUGH;
}
isfull = SF_StrgSpaceCheckFull(MMC_DEV_SD);
if(isfull == 1)
{
sf_mmc_dev[MMC_DEV_SD]->space_state = MMC_DEV_SPACE_STATE_NO_ENOUGH;
}
else if(isfull == 0)
{
sf_mmc_dev[MMC_DEV_SD]->space_state = MMC_DEV_SPACE_STATE_ENOUGH;
}
if((sf_mmc_dev[MMC_DEV_SD]->node == MMC_DEV_NODE_STATE_NO_EXIST) && if((sf_mmc_dev[MMC_DEV_SD]->node == MMC_DEV_NODE_STATE_NO_EXIST) &&
(sf_mmc_dev[MMC_DEV_EMMC]->node == MMC_DEV_NODE_STATE_NO_EXIST)) (sf_mmc_dev[MMC_DEV_EMMC]->node == MMC_DEV_NODE_STATE_NO_EXIST))
@ -216,11 +216,11 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void)
{ {
if(sf_mmc_dev[MMC_DEV_SD]->moumted_state == MMC_DEV_MOUNT_STATE_MOUNTED) if(sf_mmc_dev[MMC_DEV_SD]->moumted_state == MMC_DEV_MOUNT_STATE_MOUNTED)
{ {
if(sf_mmc_dev[MMC_DEV_SD]->space_state == MMC_DEV_SPACE_STATE_ENOUGH) if(!SF_StrgSpaceCheckFull(MMC_DEV_SD))
{ {
workable_dev = MMC_DEV_SD; workable_dev = MMC_DEV_SD;
} }
else if(sf_mmc_dev[MMC_DEV_SD]->space_state == MMC_DEV_SPACE_STATE_NO_ENOUGH) else
{ {
if(sf_mmc_dev[MMC_DEV_SD]->loop_state == MMC_DEV_LOOP_STATE_ON) if(sf_mmc_dev[MMC_DEV_SD]->loop_state == MMC_DEV_LOOP_STATE_ON)
{ {
@ -233,11 +233,11 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void)
{ {
if(sf_mmc_dev[MMC_DEV_EMMC]->moumted_state == MMC_DEV_MOUNT_STATE_MOUNTED) if(sf_mmc_dev[MMC_DEV_EMMC]->moumted_state == MMC_DEV_MOUNT_STATE_MOUNTED)
{ {
if(sf_mmc_dev[MMC_DEV_EMMC]->space_state == MMC_DEV_SPACE_STATE_ENOUGH) if(!SF_StrgSpaceCheckFull(MMC_DEV_EMMC))
{ {
workable_dev = MMC_DEV_EMMC; workable_dev = MMC_DEV_EMMC;
} }
else if(sf_mmc_dev[MMC_DEV_EMMC]->space_state == MMC_DEV_SPACE_STATE_NO_ENOUGH) else
{ {
if(sf_mmc_dev[MMC_DEV_EMMC]->loop_state == MMC_DEV_LOOP_STATE_ON) if(sf_mmc_dev[MMC_DEV_EMMC]->loop_state == MMC_DEV_LOOP_STATE_ON)
{ {
@ -255,7 +255,7 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void)
} }
else if(sf_mmc_dev[MMC_DEV_SD]->moumted_state == MMC_DEV_MOUNT_STATE_UNMOUNTED) else if(sf_mmc_dev[MMC_DEV_SD]->moumted_state == MMC_DEV_MOUNT_STATE_UNMOUNTED)
{ {
if(sf_mmc_dev[MMC_DEV_EMMC]->space_state == MMC_DEV_SPACE_STATE_ENOUGH) if(!SF_StrgSpaceCheckFull(MMC_DEV_EMMC))
{ {
workable_dev = MMC_DEV_EMMC; workable_dev = MMC_DEV_EMMC;
} }
@ -269,7 +269,7 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void)
} }
else if(sf_mmc_dev[MMC_DEV_EMMC]->moumted_state == MMC_DEV_MOUNT_STATE_UNMOUNTED) else if(sf_mmc_dev[MMC_DEV_EMMC]->moumted_state == MMC_DEV_MOUNT_STATE_UNMOUNTED)
{ {
if(sf_mmc_dev[MMC_DEV_SD]->space_state == MMC_DEV_SPACE_STATE_ENOUGH) if(!SF_StrgSpaceCheckFull(MMC_DEV_SD))
{ {
workable_dev = MMC_DEV_SD; workable_dev = MMC_DEV_SD;
} }
@ -283,16 +283,16 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void)
} }
else else
{ {
if(sf_mmc_dev[MMC_DEV_EMMC]->space_state == MMC_DEV_SPACE_STATE_ENOUGH && if(!SF_StrgSpaceCheckFull(MMC_DEV_SD) &&
sf_mmc_dev[MMC_DEV_SD]->space_state == MMC_DEV_SPACE_STATE_ENOUGH) !SF_StrgSpaceCheckFull(MMC_DEV_EMMC))
{ {
workable_dev = MMC_DEV_EMMC; workable_dev = MMC_DEV_EMMC;
} }
else if(sf_mmc_dev[MMC_DEV_EMMC]->space_state == MMC_DEV_SPACE_STATE_ENOUGH) else if(!SF_StrgSpaceCheckFull(MMC_DEV_EMMC))
{ {
workable_dev = MMC_DEV_EMMC; workable_dev = MMC_DEV_EMMC;
} }
else if(sf_mmc_dev[MMC_DEV_SD]->space_state == MMC_DEV_SPACE_STATE_ENOUGH) else if(!SF_StrgSpaceCheckFull(MMC_DEV_SD))
{ {
workable_dev = MMC_DEV_SD; workable_dev = MMC_DEV_SD;
} }
@ -306,21 +306,41 @@ SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void)
} }
} }
//MLOGD("sf mmc check workable dev end, dev_id = %d!!!\n", workable_dev);
for(int i = 0; i < 2; i++) for(int i = 0; i < 2; i++)
{ {
sf_mmc_dev[i]->dev_type = workable_dev; sf_mmc_dev[i]->dev_type = workable_dev;
//MLOGD("node:%d, mount:%d, space:%d, loop:%d\n",
//sf_mmc_dev[i]->node, sf_mmc_dev[i]->moumted_state,
//sf_mmc_dev[i]->space_state, sf_mmc_dev[i]->loop_state);
} }
if(workable_dev == MMC_DEV_NO) if(workable_dev == MMC_DEV_NO)
{ {
return NULL; return NULL;
} }
else else
{ {
return sf_mmc_dev[workable_dev]; return sf_mmc_dev[workable_dev];
} }
} }
static void* mmc_monitoring_thread(void *arg)
{
while(MMCMonitorTskCfg.IsRun)
{
#if USE_MMC_DEV_CHECK
SF_SetMMCDev(SF_StrgCheckWorkableDev());
#endif
sf_sleep_ms(500);
}
return NULL;
}
int sf_mmc_dev_check_start(void)
{
int ret = pthread_create(&MMCMonitorTskCfg.TskId, NULL, mmc_monitoring_thread, NULL);
if(ret != SF_SUCCESS)
{
MLOGD("thread sf_mmc_monitoring_start creat fail!\n");
return ret;
}
return 0;
}

View File

@ -32,7 +32,7 @@
#define EMMC_DEVICE_NAME "/dev/mmcblk1p1" #define EMMC_DEVICE_NAME "/dev/mmcblk1p1"
#define EMMC_MOUNT_ROOT "/mnt/sd2" #define EMMC_MOUNT_ROOT "/mnt/sd2"
#define USE_MMC_DEV_CHECK (0) #define USE_MMC_DEV_CHECK (1)
typedef enum typedef enum
{ {
@ -79,12 +79,15 @@ typedef struct
int dcf_handle; int dcf_handle;
}SF_ST_MMC_DEV; }SF_ST_MMC_DEV;
void SF_StrgInit(void); void SF_StrgInit(void);
void SF_StrgUnInit(void); void SF_StrgUnInit(void);
void SF_StrgSetDcfHandle(UINT32 strg_id, UINT32 handle); void SF_StrgSetDcfHandle(UINT32 strg_id, UINT32 handle);
void SF_StrgRegister(SF_MESSAGE_BUF_S *pMessageBuf); void SF_StrgRegister(SF_MESSAGE_BUF_S *pMessageBuf);
SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void); SF_ST_MMC_DEV *SF_StrgCheckWorkableDev(void);
void SF_SetMMCDev(SF_ST_MMC_DEV *pDev);
SF_ST_MMC_DEV *SF_GetMMCDev(void);
int sf_mmc_dev_check_start(void);

View File

@ -180,6 +180,7 @@ void Strg_CB(UINT32 event, UINT32 param1, UINT32 param2)
printf("strg_cb send MOUNT! dev_id = %d\n", param1); printf("strg_cb send MOUNT! dev_id = %d\n", param1);
#if USE_MMC_DEV_CHECK #if USE_MMC_DEV_CHECK
SF_StrgRegister(&stMessageBuf); SF_StrgRegister(&stMessageBuf);
#endif
} }
#endif #endif

View File

@ -763,11 +763,16 @@ DCF_HANDLE System_Get_DCF_Handle(void)
{ {
#if USE_MMC_DEV_CHECK #if USE_MMC_DEV_CHECK
SF_ST_MMC_DEV *mmc_dev = SF_StrgCheckWorkableDev(); SF_ST_MMC_DEV *mmc_dev = SF_StrgCheckWorkableDev();
if(mmc_dev->dcf_handle < 0) if(mmc_dev == NULL)
{ {
DBG_ERR("No MMC_Dev Can use!\n"); DBG_ERR("No MMC_Dev Can use!\n");
return -1; return -1;
} }
if(mmc_dev->dcf_handle < 0)
{
DBG_ERR("dcf_handle err!\n");
return -1;
}
DBG_WRN("DCF_GET_HANDLE, %d\n", mmc_dev->dcf_handle); DBG_WRN("DCF_GET_HANDLE, %d\n", mmc_dev->dcf_handle);
return mmc_dev->dcf_handle; return mmc_dev->dcf_handle;
#else #else
@ -1222,6 +1227,13 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
stMessageBuf.cmdId = CMD_SD; stMessageBuf.cmdId = CMD_SD;
sf_com_message_send_to_app(&stMessageBuf); sf_com_message_send_to_app(&stMessageBuf);
#if USE_MMC_DEV_CHECK #if USE_MMC_DEV_CHECK
if(strg_id == 1)
{
printf("emmc mounted failed, remount\n");
system("mount /dev/mmcblk1p1 /mnt/sd2");
stMessageBuf.arg1 = CMD_SD_STRG_CB_MOUNT_FINISH;
}
SF_StrgRegister(&stMessageBuf); SF_StrgRegister(&stMessageBuf);
#endif #endif
printf("System_OnStrgAttach send UNMOUNT! dev_id = %d\n", strg_id); printf("System_OnStrgAttach send UNMOUNT! dev_id = %d\n", strg_id);

View File

@ -20,6 +20,7 @@
#include "sf_log.h" #include "sf_log.h"
#endif #endif
#include "SF_SysStrgMng.h"
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
@ -476,7 +477,7 @@ int NvtMain(void)
#endif #endif
sf_sd_exist_reg_cb(DrvCARD_DetStrgCard); sf_sd_exist_reg_cb(DrvCARD_DetStrgCard);
sf_mmc_dev_check_start();
#endif #endif
System_WaitForPowerOffStart(); // Wait for shutdown cmd System_WaitForPowerOffStart(); // Wait for shutdown cmd

View File

@ -702,11 +702,17 @@ UINT32 PhotoExe_GetFreePicNum(void)
#if USE_MMC_DEV_CHECK #if USE_MMC_DEV_CHECK
SF_ST_MMC_DEV *mmc_dev = SF_StrgCheckWorkableDev(); SF_ST_MMC_DEV *mmc_dev = SF_StrgCheckWorkableDev();
if(mmc_dev->dcf_handle < 0) if(mmc_dev == NULL)
{ {
DBG_ERR("No MMC_Dev Can use!\n"); 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 #endif
#if (FILESIZE_ALIGN_FUNC) #if (FILESIZE_ALIGN_FUNC)

View File

@ -39,6 +39,7 @@
#include <kwrap/debug.h> #include <kwrap/debug.h>
#include "SF_SysStrgMng.h" #include "SF_SysStrgMng.h"
SF_ST_MMC_DEV *mmc_dev = NULL;
void UIStorageCheck_AllSize(UINT64 *uiTotal, UINT64 *uiRemain) void UIStorageCheck_AllSize(UINT64 *uiTotal, UINT64 *uiRemain)
{ {
@ -60,12 +61,17 @@ static BOOL check_CurrDir_writable(void)
{ {
#if USE_MMC_DEV_CHECK #if USE_MMC_DEV_CHECK
SF_ST_MMC_DEV *mmc_dev = SF_StrgCheckWorkableDev(); if(mmc_dev == NULL)
if(mmc_dev->dcf_handle < 0)
{ {
DBG_ERR("No MMC_Dev Can use!\n"); DBG_ERR("No MMC_Dev Can use!\n");
return FALSE; return FALSE;
} }
if(mmc_dev->dcf_handle < 0)
{
DBG_ERR("dcf_handle err!\n");
return FALSE;
}
#endif #endif
UINT32 useFileDB = 0; UINT32 useFileDB = 0;
useFileDB = UI_GetData(FL_IsUseFileDB); useFileDB = UI_GetData(FL_IsUseFileDB);
@ -109,12 +115,17 @@ BOOL UIStorageCheck_DCIMWritable(void)
{ {
#if USE_MMC_DEV_CHECK #if USE_MMC_DEV_CHECK
SF_ST_MMC_DEV *mmc_dev = SF_StrgCheckWorkableDev(); if(mmc_dev == NULL)
if(mmc_dev->dcf_handle < 0)
{ {
DBG_ERR("No MMC_Dev Can use!\n"); DBG_ERR("No MMC_Dev Can use!\n");
return FALSE; return FALSE;
} }
if(mmc_dev->dcf_handle < 0)
{
DBG_ERR("dcf_handle err!\n");
return FALSE;
}
#endif #endif
UINT32 useFileDB = 0; UINT32 useFileDB = 0;
useFileDB = UI_GetData(FL_IsUseFileDB); useFileDB = UI_GetData(FL_IsUseFileDB);
@ -243,20 +254,23 @@ static BOOL UIStrgCheckErr(MMC_DEV_TYPE dev_id)
BOOL UIStorageCheck(UINT32 uiCheckItem, UINT32 *pFreeCount) BOOL UIStorageCheck(UINT32 uiCheckItem, UINT32 *pFreeCount)
{ {
#if USE_MMC_DEV_CHECK UINT32 useFileDB = 0;
useFileDB = UI_GetData(FL_IsUseFileDB);
SF_ST_MMC_DEV *mmc_dev = SF_StrgCheckWorkableDev(); mmc_dev = SF_GetMMCDev();
if(mmc_dev->dcf_handle < 0) DBG_IND("UI_StorageCheck: Check item = 0x%x\r\n", uiCheckItem);
#if USE_MMC_DEV_CHECK
if(mmc_dev == NULL)
{ {
DBG_ERR("No MMC_Dev Can use!\n"); DBG_ERR("No MMC_Dev Can use!\n");
return FALSE; return FALSE;
} }
if(mmc_dev->dcf_handle < 0)
{
DBG_ERR("dcf_handle err!\n");
return FALSE;
}
#endif #endif
UINT32 useFileDB = 0;
useFileDB = UI_GetData(FL_IsUseFileDB);
DBG_IND("UI_StorageCheck: Check item = 0x%x\r\n", uiCheckItem);
switch (uiCheckItem) { switch (uiCheckItem) {
case STORAGE_CHECK_FOLDER_FULL: case STORAGE_CHECK_FOLDER_FULL:
if (useFileDB) { if (useFileDB) {

View File

@ -673,14 +673,6 @@ static void update_camera_message(void)
{ {
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
// if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO)) // if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO))
#if USE_MMC_DEV_CHECK
SF_ST_MMC_DEV *mmc_dev = SF_StrgCheckWorkableDev();
if(mmc_dev->dcf_handle < 0)
{
DBG_ERR("No MMC_Dev Can use!\n");
}
#endif
switch (puiPara->ImgSize) switch (puiPara->ImgSize)
{ {
case PHOTO_SIZE_40M: case PHOTO_SIZE_40M:

View File

@ -122,10 +122,10 @@ void SF_RtosStrgInit(void)
// 处理内存分配失败的情况 // 处理内存分配失败的情况
} }
sf_rtos_mmc_dev[i]->dcf_handle = -1; sf_rtos_mmc_dev[i]->dcf_handle = -1;
sf_rtos_mmc_dev[i]->dev_type = MMC_DEV_NO; sf_rtos_mmc_dev[i]->dev_type = MMC_DEV_EMMC;
//sf_rtos_mmc_dev[i]->node = MMC_DEV_NODE_STATE_NO; //sf_rtos_mmc_dev[i]->node = MMC_DEV_NODE_STATE_NO;
sf_rtos_mmc_dev[i]->moumted_state = MMC_DEV_MOUNT_STATE_NO; sf_rtos_mmc_dev[i]->moumted_state = MMC_DEV_MOUNT_STATE_UNMOUNTED;
sf_rtos_mmc_dev[i]->space_state = MMC_DEV_SPACE_STATE_NO; sf_rtos_mmc_dev[i]->space_state = MMC_DEV_SPACE_STATE_ENOUGH;
//sf_rtos_mmc_dev[i]->loop_state = MMC_DEV_LOOP_STATE_NO; //sf_rtos_mmc_dev[i]->loop_state = MMC_DEV_LOOP_STATE_NO;
} }
DBG_WRN("SF_RtosStrgInit!\n"); DBG_WRN("SF_RtosStrgInit!\n");
@ -302,7 +302,7 @@ SF_RTOS_ST_MMC_DEV *SF_RtosStrgCheckWorkableDev(void)
} }
if(workable_dev == MMC_DEV_NO) if(workable_dev == MMC_DEV_NO)
{ {
return NULL; return sf_rtos_mmc_dev[MMC_DEV_EMMC];
} }
else else
{ {