1.rtos下只有emmc错误才进行内存发送

This commit is contained in:
payton 2024-01-26 20:27:57 +08:00
parent 4b93f31f08
commit 60c021b5d9
4 changed files with 37 additions and 11 deletions

View File

@ -96,7 +96,11 @@ static void card_insert_job2(void)
printf("filesys2_init b\r\n"); printf("filesys2_init b\r\n");
memset(&Param, 0, sizeof(FILE_TSK_INIT_PARAM)); memset(&Param, 0, sizeof(FILE_TSK_INIT_PARAM));
pStrg->Open(); ret = pStrg->Open();
if (FST_STA_OK != ret) {
DBG_ERR("Open err %d\r\n", ret);
sf_set_emmc_err(1);
}
pStrg->GetParam(STRG_GET_DEVICE_PHY_SECTORS, (UINT32)&totoal_sectors, 0); pStrg->GetParam(STRG_GET_DEVICE_PHY_SECTORS, (UINT32)&totoal_sectors, 0);
if (totoal_sectors == 0) { if (totoal_sectors == 0) {
DBG_WRN("totoal_sectors couldn't be zero\n"); DBG_WRN("totoal_sectors couldn't be zero\n");
@ -126,9 +130,14 @@ static void card_insert_job2(void)
ret = FileSys_OpenEx('B', StrgDXH2, &Param); ret = FileSys_OpenEx('B', StrgDXH2, &Param);
if (FST_STA_OK != ret) { if (FST_STA_OK != ret) {
printf("FileSys_Open err %d\r\n", ret); printf("FileSys_Open err %d\r\n", ret);
sf_set_emmc_err(1);
} }
FileSys_WaitFinishEx('B'); ret = FileSys_WaitFinishEx('B');
if (FST_STA_OK != ret) {
printf("FileSys_WaitFinishEx err %d\r\n", ret);
sf_set_emmc_err(1);
}
FileSys_SetParamEx('B', FST_PARM_UPDATE_FSINFO , TRUE); FileSys_SetParamEx('B', FST_PARM_UPDATE_FSINFO , TRUE);
#if USE_RTOS_MMC_CHECK #if USE_RTOS_MMC_CHECK
SF_RtosStrgRegister(1, ret); SF_RtosStrgRegister(1, ret);

View File

@ -2393,17 +2393,20 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data)
} }
if(waitFalg) if(waitFalg)
{ {
sf_fastboot_msg_en(ENABLE); if(sf_is_emmc_err())
DBG_WRN("filesys not ready, store data into mem\n"); {
sf_fastboot_msg_en(ENABLE);
DBG_WRN("filesys not ready, store data into mem\n");
SYS_USRMEM usrmem = {0}; SYS_USRMEM usrmem = {0};
if(sys_usrmem_init(&usrmem) == E_OK){ if(sys_usrmem_init(&usrmem) == E_OK){
sys_usrmem_write_photo( sys_usrmem_write_photo(
&usrmem, &usrmem,
(UINT32) queue_ele_in->jpg_thumb_addr, (UINT32) queue_ele_in->jpg_thumb_addr,
queue_ele_in->jpg_thumb_size queue_ele_in->jpg_thumb_size
); );
}
} }
} }
else else

View File

@ -533,5 +533,7 @@ UINT32 sf_in_mcu_update(void);
int sf_base64_decode(const char * base64, char * bindata); int sf_base64_decode(const char * base64, char * bindata);
void sf_dailyReport_refresh(void); void sf_dailyReport_refresh(void);
void sf_fastboot_msg_en(int en); void sf_fastboot_msg_en(int en);
void sf_set_emmc_err(BOOL val);
BOOL sf_is_emmc_err(void);
#endif #endif

View File

@ -49,6 +49,7 @@ static BOOL IsCardFull = FALSE;
SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL; SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL;
extern BOOL DrvCARD_DetStrgCard(void); extern BOOL DrvCARD_DetStrgCard(void);
static BOOL IsEmmcFull = FALSE; static BOOL IsEmmcFull = FALSE;
static BOOL IsEmmcErr = FALSE;
SF_RTOS_ST_MMC_DEV *sf_rtos_mmc_dev[MMC_DEV_MAX_NUM] = {NULL}; SF_RTOS_ST_MMC_DEV *sf_rtos_mmc_dev[MMC_DEV_MAX_NUM] = {NULL};
@ -129,6 +130,17 @@ UINT32 sf_check_emmc_full(void)
return ret; return ret;
} }
BOOL sf_is_emmc_err(void)
{
//printf("[%s]:%d IsEmmcFull:%d\n", __FUNCTION__, __LINE__, IsEmmcFull);
return IsEmmcErr;
}
void sf_set_emmc_err(BOOL val)
{
//printf("[%s]:%d IsEmmcFull:%d\n", __FUNCTION__, __LINE__, IsEmmcFull);
IsEmmcErr = val;
}
void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB) void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB)
{ {
g_fpSd_Exist_CB = fpCB; g_fpSd_Exist_CB = fpCB;