1.优化无sd卡时文件系统处理
This commit is contained in:
		
							parent
							
								
									ec11a26dd1
								
							
						
					
					
						commit
						8904ab034e
					
				| 
						 | 
				
			
			@ -27,7 +27,7 @@
 | 
			
		|||
#define MAX_OPENED_FILE_NUM 10
 | 
			
		||||
 | 
			
		||||
static THREAD_HANDLE task_hdl, task_hdl2;
 | 
			
		||||
 | 
			
		||||
int FileInitFalg = 0;
 | 
			
		||||
static void card_insert_job(void)
 | 
			
		||||
{
 | 
			
		||||
	UINT32 uiPoolAddr;
 | 
			
		||||
| 
						 | 
				
			
			@ -53,9 +53,16 @@ static void card_insert_job(void)
 | 
			
		|||
	strncpy(Param.FSParam.szMountPath, "/mnt/sd", sizeof(Param.FSParam.szMountPath) - 1); //only used by FsLinux
 | 
			
		||||
	Param.FSParam.szMountPath[sizeof(Param.FSParam.szMountPath) - 1] = '\0';
 | 
			
		||||
	Param.FSParam.MaxOpenedFileNum = MAX_OPENED_FILE_NUM;
 | 
			
		||||
	if (FST_STA_OK != FileSys_Init(FileSys_GetOPS_uITRON())) {
 | 
			
		||||
		DBG_WRN("FileSys_Init failed\r\n");
 | 
			
		||||
	}
 | 
			
		||||
    if(!FileInitFalg)
 | 
			
		||||
    {
 | 
			
		||||
        if (FST_STA_OK != FileSys_Init(FileSys_GetOPS_uITRON())) {
 | 
			
		||||
            DBG_WRN("FileSys_Init failed\r\n");
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            FileInitFalg = 0;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
	ret = FileSys_OpenEx('A', StrgDXH, &Param);
 | 
			
		||||
	if (FST_STA_OK != ret) {
 | 
			
		||||
		DBG_WRN("FileSys_Open err %d\r\n", ret);
 | 
			
		||||
| 
						 | 
				
			
			@ -115,6 +122,15 @@ static void card_insert_job2(void)
 | 
			
		|||
	strncpy(Param.FSParam.szMountPath, "/mnt/sd2", sizeof(Param.FSParam.szMountPath) - 1); //only used by FsLinux
 | 
			
		||||
	Param.FSParam.szMountPath[sizeof(Param.FSParam.szMountPath) - 1] = '\0';
 | 
			
		||||
	Param.FSParam.MaxOpenedFileNum = MAX_OPENED_FILE_NUM;
 | 
			
		||||
    if(!FileInitFalg)
 | 
			
		||||
    {
 | 
			
		||||
        if (FST_STA_OK != FileSys_Init(FileSys_GetOPS_uITRON())) {
 | 
			
		||||
            DBG_WRN("FileSys_Init failed\r\n");
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            FileInitFalg = 0;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
	DBG_WRN("Open B:\n");
 | 
			
		||||
	ret = FileSys_OpenEx('B', StrgDXH2, &Param);
 | 
			
		||||
	if (FST_STA_OK != ret) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -326,7 +326,10 @@ static void MovieFast_ShutDown(void)
 | 
			
		|||
        }
 | 
			
		||||
        #endif
 | 
			
		||||
        //DBG_DUMP("wait filesys close ...\n");
 | 
			
		||||
        FileSys_Close(FST_TIME_INFINITE);
 | 
			
		||||
 | 
			
		||||
        //FileSys_Close(FST_TIME_INFINITE);
 | 
			
		||||
        FileSys_CloseEx('A', FST_TIME_INFINITE);
 | 
			
		||||
        FileSys_CloseEx('B', FST_TIME_INFINITE);
 | 
			
		||||
        #if SF_IQ_TEST != ENABLE
 | 
			
		||||
		if(sf_get_power_off_flag()){
 | 
			
		||||
			sf_mcu_reg_set(SF_MCU_POWEROFF,0);
 | 
			
		||||
| 
						 | 
				
			
			@ -914,15 +917,22 @@ INT32 MovieFast_Wait_FileSys(UINT32 timeout_ms)
 | 
			
		|||
// 		DBG_ERR("boot_init = BOOT_INIT_INVALID\n");
 | 
			
		||||
// 		return E_SYS;
 | 
			
		||||
// 	}
 | 
			
		||||
    INT32 ret = fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK, timeout_ms);
 | 
			
		||||
    INT32 ret = E_SYS;
 | 
			
		||||
 | 
			
		||||
    if(gpio_getPin(GPIO_CARD_DETECT) == 0)
 | 
			
		||||
    {
 | 
			
		||||
        ret = fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK, timeout_ms);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    INT32 ret2 = fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK_2, timeout_ms);
 | 
			
		||||
 | 
			
		||||
// E_OK
 | 
			
		||||
    if(ret == E_OK && ret2 == E_OK)
 | 
			
		||||
    if(ret == E_OK || ret2 == E_OK)
 | 
			
		||||
    {
 | 
			
		||||
        return E_OK;
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        fastboot_msg_en(ENABLE);
 | 
			
		||||
        DBG_ERR("boot_init = BOOT_INIT_INVALID\n");
 | 
			
		||||
		return E_SYS;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -932,7 +942,6 @@ INT32 MovieFast_Wait_FileNaming(UINT32 timeout_ms)
 | 
			
		|||
{
 | 
			
		||||
	DCF_HANDLE handle = MovieFast_Get_DCF_Handle();
 | 
			
		||||
	BOOT_INIT boot_init = BOOT_INIT_INVALID;
 | 
			
		||||
 | 
			
		||||
	if(handle == g_dcf_hdl){
 | 
			
		||||
		boot_init = BOOT_INIT_FILENAMINGOK;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -943,7 +952,9 @@ INT32 MovieFast_Wait_FileNaming(UINT32 timeout_ms)
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
	if(boot_init != BOOT_INIT_INVALID)
 | 
			
		||||
    {
 | 
			
		||||
		return fastboot_wait_done_timeout(boot_init, timeout_ms);
 | 
			
		||||
    }
 | 
			
		||||
	else{
 | 
			
		||||
		DBG_ERR("boot_init = BOOT_INIT_INVALID\n");
 | 
			
		||||
		return E_SYS;
 | 
			
		||||
| 
						 | 
				
			
			@ -1302,6 +1313,8 @@ static void MovieFast_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT3
 | 
			
		|||
				MovieFast_FileNamingCB(id, pFileName);
 | 
			
		||||
			}
 | 
			
		||||
			else{
 | 
			
		||||
                fastboot_msg_en(ENABLE);
 | 
			
		||||
                DBG_ERR(" MovieFast_Wait_FileNaming err TIMEOUT\n");
 | 
			
		||||
				vos_flag_set(MOVIEFAST_FLG_ID, FLGMOVIEFAST_SHUTDOWN);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -1376,9 +1389,18 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread(void *arg)
 | 
			
		|||
		//fastboot_wait_done(BOOT_INIT_FILESYSOK);
 | 
			
		||||
        if(fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK, FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK)
 | 
			
		||||
        {
 | 
			
		||||
            fastboot_msg_en(ENABLE);
 | 
			
		||||
            if(gpio_getPin(GPIO_CARD_DETECT) == 0)
 | 
			
		||||
            {
 | 
			
		||||
                fastboot_msg_en(ENABLE);
 | 
			
		||||
            }
 | 
			
		||||
            DBG_ERR(" FILESYS TIMEOUT failed\r\n");
 | 
			
		||||
            THREAD_RETURN(1);
 | 
			
		||||
            //THREAD_RETURN(1);
 | 
			
		||||
            if(fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK, FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK)
 | 
			
		||||
            {
 | 
			
		||||
                //fastboot_msg_en(ENABLE);
 | 
			
		||||
                DBG_ERR(" FILESYS TIMEOUT failed 2\r\n");
 | 
			
		||||
                //THREAD_RETURN(1);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
		MovieFast_FileNaming_Init();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1421,7 +1443,11 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread2(void *arg)
 | 
			
		|||
        {
 | 
			
		||||
            fastboot_msg_en(ENABLE);
 | 
			
		||||
            DBG_ERR(" BOOT_INIT_FILESYSOK_2 TIMEOUT failed\r\n");
 | 
			
		||||
            THREAD_RETURN(1);
 | 
			
		||||
            if(fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK_2, FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK)
 | 
			
		||||
            {
 | 
			
		||||
                DBG_ERR(" BOOT_INIT_FILESYSOK_2 TIMEOUT failed 2\r\n");
 | 
			
		||||
            }
 | 
			
		||||
            //THREAD_RETURN(1);
 | 
			
		||||
        }
 | 
			
		||||
		MovieFast_FileNaming_Init();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,8 +41,9 @@
 | 
			
		|||
#if HUNTING_CAMERA_MCU == ENABLE
 | 
			
		||||
#include <sf_mcu.h>
 | 
			
		||||
#include "sf_led.h"
 | 
			
		||||
#endif
 | 
			
		||||
#include "IOCfg.h"
 | 
			
		||||
#include "sf_sd_common.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if POWERON_FAST_SLICE_ENC == ENABLE
 | 
			
		||||
| 
						 | 
				
			
			@ -980,11 +981,16 @@ INT32 PhotoFast_Wait_FileSys(UINT32 timeout_ms)
 | 
			
		|||
// 		boot_init = BOOT_INIT_FILESYSOK_2;
 | 
			
		||||
// 	}
 | 
			
		||||
// #endif
 | 
			
		||||
    INT32 ret = fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK, timeout_ms);
 | 
			
		||||
    INT32 ret = E_SYS;
 | 
			
		||||
 | 
			
		||||
    if(gpio_getPin(GPIO_CARD_DETECT) == 0)
 | 
			
		||||
    {
 | 
			
		||||
        ret = fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK, timeout_ms);
 | 
			
		||||
    }
 | 
			
		||||
    INT32 ret2 = fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK_2, timeout_ms);
 | 
			
		||||
 | 
			
		||||
// E_OK
 | 
			
		||||
    if(ret == E_OK && ret2 == E_OK)
 | 
			
		||||
    if(ret == E_OK || ret2 == E_OK)
 | 
			
		||||
    {
 | 
			
		||||
        return E_OK;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -2210,7 +2216,9 @@ static void PhotoFast_ShutDown(void)
 | 
			
		|||
            LogFile_Close();
 | 
			
		||||
        }
 | 
			
		||||
        #endif
 | 
			
		||||
        FileSys_Close(FST_TIME_INFINITE);
 | 
			
		||||
        // FileSys_Close(FST_TIME_INFINITE);
 | 
			
		||||
        FileSys_CloseEx('A', FST_TIME_INFINITE);
 | 
			
		||||
        FileSys_CloseEx('B', FST_TIME_INFINITE);
 | 
			
		||||
        #if SF_IQ_TEST != ENABLE
 | 
			
		||||
		if(sf_get_power_off_flag()){
 | 
			
		||||
			sf_mcu_reg_set(SF_MCU_POWEROFF,0);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user