1.rtos下emmc修改
This commit is contained in:
		
							parent
							
								
									7e4f40ccc0
								
							
						
					
					
						commit
						dd14b586b3
					
				|  | @ -849,7 +849,7 @@ | |||
| // 2. enable FS_DX_TYPE_DRIVE_B as DX_TYPE_CARD2
 | ||||
| // 3. enable FS_MULTI_STRG_FUNC
 | ||||
| // 4. NETWORK = NETWORK_NONE (Both uITRON and eCos)
 | ||||
| #define FS_MULTI_STRG_FUNC              DISABLE | ||||
| #define FS_MULTI_STRG_FUNC              ENABLE | ||||
| //MULTI_DRIVE
 | ||||
| #if defined(_EMBMEM_EMMC_) && (FS_MULTI_STRG_FUNC==DISABLE) | ||||
| #define FS_DX_TYPE_DRIVE_A              USER_DX_TYPE_EMBMEM_FAT | ||||
|  |  | |||
|  | @ -299,16 +299,16 @@ void System_OnStrgInit_FS(void) | |||
| 		Pool.addr = mempool_filesys; | ||||
| #if (FS_MULTI_STRG_FUNC == ENABLE) | ||||
| 		MEM_RANGE Pool2; | ||||
| 		Pool.Size = POOL_SIZE_FS_BUFFER; | ||||
| 		Pool.size = POOL_SIZE_FILESYS; | ||||
| 		GxStrg_SetConfigEx(0, FILE_CFG_BUF, (UINT32)&Pool); | ||||
| 		Pool2.Addr = Pool.Addr + POOL_SIZE_FS_BUFFER; | ||||
| 		Pool2.Size = POOL_SIZE_FS_BUFFER; | ||||
| 		Pool2.addr = Pool.addr + POOL_SIZE_FILESYS; | ||||
| 		Pool2.size = POOL_SIZE_FILESYS; | ||||
| 		GxStrg_SetConfigEx(1, FILE_CFG_BUF, (UINT32)&Pool2); | ||||
| #if defined(_CPU2_LINUX_) && defined(_EMBMEM_EMMC_) | ||||
| 		// 3rd is for linux-pstore mounted by filesys
 | ||||
| 		MEM_RANGE Pool3; | ||||
| 		Pool3.Addr = Pool2.Addr + POOL_SIZE_FS_BUFFER; | ||||
| 		Pool3.Size = POOL_SIZE_FS_BUFFER; | ||||
| 		Pool3.Addr = Pool2.addr + POOL_SIZE_FS_BUFFER; | ||||
| 		Pool3.size = POOL_SIZE_FS_BUFFER; | ||||
| 		GxStrg_SetConfigEx(PST_DEV_ID, FILE_CFG_BUF, (UINT32)&Pool3); | ||||
| #endif | ||||
| #else | ||||
|  | @ -592,22 +592,24 @@ INT32 System_OnStrgInsert(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) | |||
| 		// Open DCF
 | ||||
| 		dcfParm.Drive = (stg_id == 0) ? 'A' : 'B'; | ||||
| #if	(FS_MULTI_STRG_FUNC) | ||||
| 		if (POOL_CNT_DCF_BUFFER !=2) { | ||||
| 			DBG_FATAL("POOL_CNT_DCF_BUFFER be 2 for FS_MULTI_STRG_FUNC.\r\n"); | ||||
| 		} else { | ||||
| //		if (POOL_CNT_DCF_BUFFER !=2) {
 | ||||
| //			DBG_FATAL("POOL_CNT_DCF_BUFFER be 2 for FS_MULTI_STRG_FUNC.\r\n");
 | ||||
| //		} else {
 | ||||
| 			switch(stg_id) { | ||||
| 			case 0: | ||||
| 				dcfParm.WorkbuffAddr = dma_getCacheAddr(OS_GetMempoolAddr(POOL_ID_DCF_BUFFER)); | ||||
| //				dcfParm.WorkbuffAddr = dma_getCacheAddr(OS_GetMempoolAddr(POOL_ID_DCF_BUFFER));
 | ||||
| 				dcfParm.WorkbuffAddr = mempool_dcf; | ||||
| 				break; | ||||
| 			case 1: | ||||
| 				dcfParm.WorkbuffAddr = dma_getCacheAddr(OS_GetMempoolAddr(POOL_ID_DCF_BUFFER)) + POOL_SIZE_DCF_BUFFER; | ||||
| //				dcfParm.WorkbuffAddr = dma_getCacheAddr(OS_GetMempoolAddr(POOL_ID_DCF_BUFFER)) + POOL_SIZE_DCF_BUFFER;
 | ||||
| 				dcfParm.WorkbuffAddr = mempool_dcf + POOL_SIZE_DCF_BUFFER; | ||||
| 				break; | ||||
| 			default: | ||||
| 				DBG_ERR("unknown stg_id=%d\r\n", stg_id); | ||||
| 				dcfParm.WorkbuffAddr = 0; | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
| //		}
 | ||||
| #else | ||||
| 
 | ||||
| 		dcfParm.WorkbuffAddr = mempool_dcf;//dma_getCacheAddr(OS_GetMempoolAddr(POOL_ID_DCF_BUFFER));
 | ||||
|  |  | |||
|  | @ -25,5 +25,15 @@ void card_init(void) | |||
| 	sdio_setCallBack(SDIO_CALLBACK_CARD_DETECT, (SDIO_CALLBACK_HDL)card_det_insert); | ||||
| 	sdio_setCallBack(SDIO_CALLBACK_WRITE_PROTECT, (SDIO_CALLBACK_HDL)card_det_wp); | ||||
| 	pStrg->SetParam(STRG_SET_MEMORY_REGION, mempool_storage_sdio, POOL_SIZE_STORAGE_SDIO); | ||||
| 
 | ||||
| #if	FS_MULTI_STRG_FUNC | ||||
| 	pStrg = sdio2_getStorageObject(STRG_OBJ_FAT1); | ||||
| 	sdio2_setCallBack(SDIO_CALLBACK_CARD_DETECT, (SDIO_CALLBACK_HDL)card_det_insert); | ||||
| 	sdio2_setCallBack(SDIO_CALLBACK_WRITE_PROTECT, (SDIO_CALLBACK_HDL)card_det_wp); | ||||
| 	pStrg->SetParam(STRG_SET_MEMORY_REGION, mempool_storage_sdio + POOL_SIZE_STORAGE_SDIO, POOL_SIZE_STORAGE_SDIO); | ||||
| #endif | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	#endif | ||||
| } | ||||
|  |  | |||
|  | @ -12,6 +12,7 @@ | |||
| #include "sys_fastboot.h" | ||||
| #include "PrjCfg.h" | ||||
| #include "DxHunting.h" | ||||
| #include <kwrap/debug.h> | ||||
| #if HUNTING_CAMERA_MCU == ENABLE | ||||
| #include "PrjInc.h" | ||||
| #include "wdt.h" | ||||
|  | @ -32,7 +33,7 @@ static void card_insert_job(void) | |||
| 	int    ret; | ||||
| 
 | ||||
| 	FILE_TSK_INIT_PARAM     Param = {0}; | ||||
| 	FS_HANDLE               StrgDXH; | ||||
| 	FS_HANDLE               StrgDXH, StrgDXH2; | ||||
| 
 | ||||
| 	printf("filesys_init b\r\n"); | ||||
| 	memset(&Param, 0, sizeof(FILE_TSK_INIT_PARAM)); | ||||
|  | @ -42,6 +43,49 @@ static void card_insert_job(void) | |||
| 	StrgDXH = (FS_HANDLE)sdio_getStorageObject(STRG_OBJ_FAT1); | ||||
| #endif | ||||
| 
 | ||||
| #if	FS_MULTI_STRG_FUNC | ||||
| 	StrgDXH2 = (FS_HANDLE)sdio2_getStorageObject(STRG_OBJ_FAT1); | ||||
| 
 | ||||
| 
 | ||||
| 	DBG_WRN("sdio2_getStorageObject\n"); | ||||
| 	{ | ||||
|     	UINT32 totoal_sectors = 0; | ||||
| //	    UINT32 uiPhyAddr = 0;
 | ||||
| //		UINT32 uiPhySize = 0;
 | ||||
| //		unsigned long long partition_ofs= 0, partition_size = 0;
 | ||||
| //		unsigned long long usr_area_size = 0;
 | ||||
|     	STORAGE_OBJ* pStrg = sdio2_getStorageObject(STRG_OBJ_FAT1); | ||||
| //    	void *strg_mem = malloc(0x300);
 | ||||
| 
 | ||||
| //    	pStrg->SetParam(STRG_SET_MEMORY_REGION, (UINT32)strg_mem, 0x300);
 | ||||
|     	pStrg->Open(); //for initial emmc speed up, should open first, and then set partition
 | ||||
|     	pStrg->GetParam(STRG_GET_DEVICE_PHY_SECTORS, (UINT32)&totoal_sectors, 0); | ||||
|     	if (totoal_sectors == 0) { | ||||
|     		DBG_WRN("totoal_sectors couldn't be zero\n"); | ||||
|     	} | ||||
| 
 | ||||
| 		DBG_WRN("storage_partition_init: totoal_sectors = %d\r\n", totoal_sectors); | ||||
|     	pStrg->SetParam(STRG_SET_PARTITION_SECTORS, 16, totoal_sectors - 16); | ||||
| //    	pStrg->Close();
 | ||||
| 
 | ||||
| 		//set the FAT size
 | ||||
| //		ret = storage_get_partition_addr(&partition_ofs, &partition_size, PARTITION_PATH_ROOTFSL1);
 | ||||
| //        usr_area_size = (unsigned long long)totoal_sectors*(unsigned long long)_EMBMEM_BLK_SIZE_;
 | ||||
| //		uiPhyAddr = partition_ofs/_EMBMEM_BLK_SIZE_;
 | ||||
| //		uiPhySize = (usr_area_size - partition_ofs)/_EMBMEM_BLK_SIZE_;
 | ||||
| //		if (ret == 0) {
 | ||||
| //		pStrg = EMB_GETSTRGOBJ(STRG_OBJ_FW_FAT);
 | ||||
| //		pStrg->SetParam(STRG_SET_MEMORY_REGION, (UINT32)strg_mem, STRG_MEM_SIZE);
 | ||||
| //		pStrg->SetParam(STRG_SET_PARTITION_SECTORS, uiPhyAddr, uiPhySize);
 | ||||
| //		} else {
 | ||||
| //			DBG_ERR("Cat get the %s path info\r\n", PARTITION_PATH_ROOTFSL1);
 | ||||
| //		}
 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| #endif | ||||
| 
 | ||||
| 
 | ||||
| 	uiPoolAddr = mempool_filesys; | ||||
| 	Param.FSParam.WorkBuf = uiPoolAddr; | ||||
| 	Param.FSParam.WorkBufSize = (POOL_SIZE_FILESYS); | ||||
|  | @ -52,11 +96,11 @@ static void card_insert_job(void) | |||
| 	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())) { | ||||
| 		printf("FileSys_Init failed\r\n"); | ||||
| 		DBG_WRN("FileSys_Init failed\r\n"); | ||||
| 	} | ||||
| 	ret = FileSys_OpenEx('A', StrgDXH, &Param); | ||||
| 	if (FST_STA_OK != ret) { | ||||
| 		printf("FileSys_Open err %d\r\n", ret); | ||||
| 		DBG_WRN("FileSys_Open err %d\r\n", ret); | ||||
| 	} | ||||
| 	// call the function to wait init finish
 | ||||
| 	FileSys_WaitFinishEx('A'); | ||||
|  | @ -64,7 +108,7 @@ static void card_insert_job(void) | |||
| #if HUNTING_CAMERA_MCU == ENABLE | ||||
|     if(TRUE == sf_check_card_full()) | ||||
|     { | ||||
|         printf("ERR card full\r\n"); | ||||
|     	DBG_WRN("ERR card full\r\n"); | ||||
|         fastboot_set_done(BOOT_INIT_FILESYSOK); | ||||
|     } | ||||
|     else | ||||
|  | @ -75,8 +119,31 @@ static void card_insert_job(void) | |||
|     } | ||||
| #endif | ||||
| 
 | ||||
| #if	FS_MULTI_STRG_FUNC | ||||
| 	uiPoolAddr = mempool_filesys + POOL_SIZE_FILESYS; | ||||
| 	Param.FSParam.WorkBuf = uiPoolAddr; | ||||
| 	Param.FSParam.WorkBufSize = (POOL_SIZE_FILESYS); | ||||
| 	// support exFAT
 | ||||
| 	Param.FSParam.bSupportExFAT   = FALSE; | ||||
| 	//Param.pDiskErrCB = (FileSys_CB)Card_InitCB;
 | ||||
| 	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 (FST_STA_OK != FileSys_Init(FileSys_GetOPS_uITRON())) {
 | ||||
| //		printf("FileSys_Init failed\r\n");
 | ||||
| //	}
 | ||||
| 	DBG_WRN("Open B:\n"); | ||||
| 	ret = FileSys_OpenEx('B', StrgDXH2, &Param); | ||||
| 	if (FST_STA_OK != ret) { | ||||
| 		printf("FileSys_Open err %d\r\n", ret); | ||||
| 	} | ||||
| 	// call the function to wait init finish
 | ||||
| 	FileSys_WaitFinishEx('B'); | ||||
| //    FileSys_SetParamEx('B', FST_PARM_UPDATE_FSINFO , TRUE);
 | ||||
| #endif | ||||
| 
 | ||||
| 	//fastboot_set_done(BOOT_INIT_FILESYSOK);
 | ||||
| 	printf("filesys_init e\r\n"); | ||||
|     DBG_WRN("filesys_init e\r\n"); | ||||
| } | ||||
| 
 | ||||
| #if !defined(_EMBMEM_EMMC_) | ||||
|  |  | |||
|  | @ -60,7 +60,11 @@ void mempool_init(void) | |||
| 	UINT32               pa; | ||||
| 	HD_RESULT            ret; | ||||
| 
 | ||||
| #if	FS_MULTI_STRG_FUNC | ||||
| 	ret = vendor_common_mem_alloc_fixed_pool("sdio", &pa, (void **)&va, POOL_SIZE_STORAGE_SDIO * 2, DDR_ID0); | ||||
| #else | ||||
| 	ret = vendor_common_mem_alloc_fixed_pool("sdio", &pa, (void **)&va, POOL_SIZE_STORAGE_SDIO, DDR_ID0); | ||||
| #endif | ||||
| 	if (ret != HD_OK) { | ||||
| 		return; | ||||
| 	} | ||||
|  | @ -77,7 +81,11 @@ void mempool_init(void) | |||
| 	} | ||||
| 	mempool_storage_nor = (UINT32)va; | ||||
| 
 | ||||
| #if	FS_MULTI_STRG_FUNC | ||||
| 	ret = vendor_common_mem_alloc_fixed_pool("filesys", &pa, (void **)&va, POOL_SIZE_FILESYS * 2, DDR_ID0); | ||||
| #else | ||||
| 	ret = vendor_common_mem_alloc_fixed_pool("filesys", &pa, (void **)&va, POOL_SIZE_FILESYS, DDR_ID0); | ||||
| #endif | ||||
| 	if (ret != HD_OK) { | ||||
| 		return; | ||||
| 	} | ||||
|  | @ -215,11 +223,17 @@ void mempool_init(void) | |||
| 	mempool_usbcmd_va = (UINT32)va; | ||||
| #endif | ||||
| #if (HUNTING_CAMERA_MODEL == ENABLE) | ||||
| 
 | ||||
| #if	(FS_MULTI_STRG_FUNC) | ||||
| 	ret = vendor_common_mem_alloc_fixed_pool("dcf", &pa, (void **)&va, POOL_SIZE_DCF_BUFFER * 2, DDR_ID0); | ||||
| #else | ||||
| 	ret = vendor_common_mem_alloc_fixed_pool("dcf", &pa, (void **)&va, POOL_SIZE_DCF_BUFFER, DDR_ID0); | ||||
| #endif | ||||
| 	if (ret != HD_OK) { | ||||
| 		return; | ||||
| 	} | ||||
|     mempool_dcf = (UINT32)va; | ||||
| 
 | ||||
| #endif | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -88,6 +88,7 @@ static CHAR                g_photo_fast_write_file_Path[NMC_TOTALFILEPATH_MAX_LE | |||
| static INT32               g_photo_fast_id_mapping[PHOTO_CAP_ID_MAX]             = {-1,-1}; | ||||
| static PHOTO_FILENAME_CB   *g_fpPhotoFastFileNameCB = NULL; | ||||
| static DCF_HANDLE g_dcf_hdl = 0; | ||||
| static DCF_HANDLE g_dcf_hdl2 = 0; | ||||
| static HD_PATH_ID      g_video_enc_path[PHOTO_ENC_JPG_TYPE_MAX_ID] = {0}; | ||||
| static UINT32          g_bVideoEncPathStart[PHOTO_ENC_JPG_TYPE_MAX_ID] = {0}; | ||||
| static HD_VIDEOENC_BUFINFO g_enc_buf_info[PHOTO_ENC_JPG_TYPE_MAX_ID] = {0}; | ||||
|  | @ -722,6 +723,31 @@ INT32 PhotoFast_FileNaming_Open(void) | |||
| 	DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME); | ||||
| 	DCF_ScanObj(); | ||||
| 
 | ||||
| #if	(FS_MULTI_STRG_FUNC) | ||||
| 	{ | ||||
| 		DCF_OPEN_PARM dcfParm = { | ||||
| 			.Drive = 'B', | ||||
| 			.WorkbuffAddr = mempool_dcf + POOL_SIZE_DCF_BUFFER, | ||||
| 			.WorkbuffSize = POOL_SIZE_DCF_BUFFER, | ||||
| 		}; | ||||
| 		g_dcf_hdl2 = DCF_Open(&dcfParm); | ||||
| 		if(g_dcf_hdl2 < 0){ | ||||
| 			DBG_ERR("get dcf handle error!\n"); | ||||
| 		} | ||||
| 
 | ||||
| 
 | ||||
| 		DBG_WRN("DCF_ScanObjEx emmc handle=%d\n", g_dcf_hdl2); | ||||
| //		DCF_SetParm(DCF_PRMID_REMOVE_DUPLICATE_FOLDER, TRUE);
 | ||||
| //		DCF_SetParm(DCF_PRMID_REMOVE_DUPLICATE_FILE, TRUE);
 | ||||
| //		DCF_SetParm(DCF_PRMID_SET_VALID_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_MP4|DCF_FILE_TYPE_MOV);
 | ||||
| //		DCF_SetParm(DCF_PRMID_SET_DEP_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_WAV|DCF_FILE_TYPE_MPO);
 | ||||
| //		DCF_SetDirFreeChars(DCF_DIR_NAME);
 | ||||
| //		DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME);
 | ||||
| 		DCF_ScanObjEx(g_dcf_hdl2); | ||||
| 	} | ||||
| #endif | ||||
| 
 | ||||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
|  | @ -734,6 +760,11 @@ INT32 PhotoFast_FileNaming_Close(void) | |||
| 			g_dcf_hdl = -1; | ||||
| 		} | ||||
| 
 | ||||
| #if	(FS_MULTI_STRG_FUNC) | ||||
| 		DCF_Close(g_dcf_hdl2); | ||||
| 		g_dcf_hdl2 = -1; | ||||
| #endif | ||||
| 
 | ||||
| 		DCF_UnInstallID(); | ||||
| 	} | ||||
| 	 | ||||
|  | @ -856,6 +887,11 @@ INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId, | |||
| 	INT32    rt; | ||||
| 	UINT32   Length; | ||||
| 	CHAR     FilePath[NMC_TOTALFILEPATH_MAX_LEN]; | ||||
| 
 | ||||
| #if	FS_MULTI_STRG_FUNC | ||||
| 	CHAR     FilePath2[NMC_TOTALFILEPATH_MAX_LEN]; | ||||
| #endif | ||||
| 
 | ||||
| 	UINT32   fileType; | ||||
| 	UINT32   open_flag; | ||||
| 	UINT32 nextFolderID = 0, nextFileID = 0; | ||||
|  | @ -898,9 +934,30 @@ INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId, | |||
|                 } | ||||
|             } | ||||
|             DCF_MakeObjPath(nextFolderID, nextFileID, fileType, FilePath); | ||||
|                 DCF_AddDBfile(FilePath); | ||||
|                 DBG_DUMP("%s added to DCF\r\n", FilePath); | ||||
|             DCF_AddDBfile(FilePath); | ||||
|             DBG_DUMP("%s added to DCF\r\n", FilePath); | ||||
|             } | ||||
| 
 | ||||
| #if	0//FS_MULTI_STRG_FUNC
 | ||||
| 
 | ||||
|         if (DCF_GetDBInfoEx(g_dcf_hdl2, DCF_INFO_IS_9999)) { | ||||
|             DBG_ERR("Exceed max dcf file!\r\n"); | ||||
|             return FST_STA_NOFREE_SPACE; | ||||
|         } | ||||
|         else { | ||||
|             if (Fmt == HD_CODEC_TYPE_RAW){ | ||||
|                 fileType = DCF_FILE_TYPE_RAW; | ||||
|             } | ||||
|             else{ | ||||
|                 fileType = DCF_FILE_TYPE_JPG; | ||||
|             } | ||||
|             //DCF_GetNextIDEx(g_dcf_hdl2, &nextFolderID,&nextFileID);
 | ||||
|             DCF_MakeObjPathEx(g_dcf_hdl2, nextFolderID, nextFileID, fileType, FilePath2); | ||||
|             DCF_AddDBfileEx(g_dcf_hdl2, FilePath2); | ||||
|             DBG_DUMP("%s added to DCF2\r\n", FilePath2); | ||||
|         } | ||||
| #endif | ||||
| 
 | ||||
|         } | ||||
|         else{ | ||||
|             strncpy(FilePath, Path, sizeof(FilePath)); | ||||
|  | @ -948,6 +1005,29 @@ INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId, | |||
| 		rt =FST_STA_ERROR; | ||||
| 	} | ||||
| 
 | ||||
| #if	FS_MULTI_STRG_FUNC | ||||
| 
 | ||||
| 	DBG_WRN("write %s\n", FilePath2); | ||||
| 	if ((fp = FileSys_OpenFile(FilePath2, open_flag)) != NULL) { | ||||
| 		Length = Size; | ||||
| 
 | ||||
| 		rt = FileSys_WriteFile(fp, (UINT8 *)Addr, &Length, 0, NULL); | ||||
|         FileSys_FlushFile(fp); | ||||
| 		FileSys_CloseFile(fp); | ||||
| 		if (rt == FST_STA_OK) { | ||||
| 		// DCF_AddDBfile(FilePath);
 | ||||
| 		// DBG_DUMP("%s added to DCF\r\n", FilePath);
 | ||||
| 		} else { | ||||
| 			DBG_ERR("Addr=0x%x,Size=0x%x,Fmt=%d\r\n", Addr, Size, Fmt); | ||||
| 		} | ||||
| 	}else{ | ||||
| 		DBG_ERR("FileSys_OpenFile fail\r\n"); | ||||
| 		rt =FST_STA_ERROR; | ||||
| 	} | ||||
| 
 | ||||
| #endif | ||||
| 
 | ||||
| 
 | ||||
| 	return rt; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -153,10 +153,10 @@ ER AppInit_ModeUSBMSDC(void) | |||
| 	MSDCInfo.msdc_vendor_cb = NULL; | ||||
| 	//#NT#2016/12/20#Niven Cho -begin
 | ||||
| 	//#NT#MULTI_DRIVE
 | ||||
| #if (FS_MULTI_STRG_FUNC == ENABLE) | ||||
| 	char *pDxName2 = NULL; | ||||
| 	DX_HANDLE pStrgDev2 = 0; | ||||
| #endif | ||||
| // #if (FS_MULTI_STRG_FUNC == ENABLE)
 | ||||
| // 	char *pDxName2 = NULL;
 | ||||
| // 	DX_HANDLE pStrgDev2 = 0;
 | ||||
| // #endif
 | ||||
| 
 | ||||
| 	pStrgDev = Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_A); | ||||
| 
 | ||||
|  | @ -178,21 +178,21 @@ ER AppInit_ModeUSBMSDC(void) | |||
| 	} | ||||
| 	DBG_DUMP("===>%s\r\n", pDxName); | ||||
| 
 | ||||
| #if (FS_MULTI_STRG_FUNC == ENABLE) | ||||
| 	MSDCInfo.pStrgHandle[1] = pStrgDev2; | ||||
| // #if (FS_MULTI_STRG_FUNC == ENABLE)
 | ||||
| // 	MSDCInfo.pStrgHandle[1] = pStrgDev2;
 | ||||
| 
 | ||||
| 	if (Dx_GetInfo(pStrgDev2, DX_INFO_NAME, &pDxName2) != DX_OK) { | ||||
| 		pDxName2 = NULL; | ||||
| 	} | ||||
| #endif | ||||
| // 	if (Dx_GetInfo(pStrgDev2, DX_INFO_NAME, &pDxName2) != DX_OK) {
 | ||||
| // 		pDxName2 = NULL;
 | ||||
| // 	}
 | ||||
| // #endif
 | ||||
| 
 | ||||
| #if (FS_MULTI_STRG_FUNC == ENABLE) | ||||
| 	MSDCInfo.pStrgHandle[1] = pStrgDev2; | ||||
| // #if (FS_MULTI_STRG_FUNC == ENABLE)
 | ||||
| // 	MSDCInfo.pStrgHandle[1] = pStrgDev2;
 | ||||
| 
 | ||||
| 	if (Dx_GetInfo(pStrgDev2, DX_INFO_NAME, &pDxName2) != DX_OK) { | ||||
| 		pDxName2 = NULL; | ||||
| 	} | ||||
| #endif | ||||
| // 	if (Dx_GetInfo(pStrgDev2, DX_INFO_NAME, &pDxName2) != DX_OK) {
 | ||||
| // 		pDxName2 = NULL;
 | ||||
| // 	}
 | ||||
| // #endif
 | ||||
| 
 | ||||
| #if (FS_MULTI_STRG_FUNC == ENABLE) | ||||
| 	MSDCInfo.msdc_storage_detCB[0] = (MSDC_StorageDet_CB)DrvCARD_DetStrgCard; | ||||
|  | @ -280,7 +280,7 @@ INT32 MSDCExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray) | |||
| 	pLastStrgDev = GxStrg_GetDevice(0); | ||||
| 
 | ||||
| 	if (pLastStrgDev == 0) { | ||||
| 		//PowerOn_CB() POWERON_CB_SXOPEN 沒有提早啟動File System
 | ||||
| 		//PowerOn_CB() POWERON_CB_SXOPEN <EFBFBD>S<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ұ<EFBFBD>File System
 | ||||
| 		DBG_ERR("MSDC: Wait for FS start...\r\n"); | ||||
| 		FileSys_WaitFinish(); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 payton
						payton