1.emmc合并修改

This commit is contained in:
payton 2023-12-18 16:18:40 +08:00
parent 4712e1078b
commit 7bc6174a29
6 changed files with 57 additions and 35 deletions

View File

@ -833,17 +833,21 @@ INT32 System_OnStrgInsert(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
#endif #endif
dcfParm.WorkbuffSize = POOL_SIZE_DCF_BUFFER; dcfParm.WorkbuffSize = POOL_SIZE_DCF_BUFFER;
DCF_Open(&dcfParm);
UINT32 handle = DCF_Open(&dcfParm);
DBG_DUMP("Handle = %lu, drive = %c\n", handle, dcfParm.Drive);
// DCF_ScanObj(); // DCF_ScanObj();
} }
#endif #endif
if(stg_id == 0){
if (GxStrg_GetDeviceCtrl(stg_id, CARD_READONLY)) { if (GxStrg_GetDeviceCtrl(stg_id, CARD_READONLY)) {
System_SetState(SYS_STATE_CARD, CARD_LOCKED); System_SetState(SYS_STATE_CARD, CARD_LOCKED);
DBG_IND("Card Locked\r\n"); DBG_IND("Card Locked\r\n");
} else { } else {
System_SetState(SYS_STATE_CARD, CARD_INSERTED); System_SetState(SYS_STATE_CARD, CARD_INSERTED);
DBG_IND("Card inserted\r\n"); DBG_IND("Card inserted\r\n");
}
} }
return NVTEVT_CONSUME; return NVTEVT_CONSUME;
} }
@ -930,6 +934,7 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
UINT32 result = paramArray[1]; UINT32 result = paramArray[1];
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
SF_MESSAGE_BUF_S stMessageBuf = {0}; SF_MESSAGE_BUF_S stMessageBuf = {0};
UINT32 strg_id = paramArray[0];
#endif #endif
#if defined(__FREERTOS) #if defined(__FREERTOS)
@ -969,25 +974,25 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
result = FileSys_FormatDisk(pStrgDevCur, TRUE); result = FileSys_FormatDisk(pStrgDevCur, TRUE);
} }
#endif #endif
#if ( !defined(_EMBMEM_SPI_NOR_) && (FS_MULTI_STRG_FUNC == ENABLE))
UINT32 stg_id = paramArray[0];
if (stg_id != 0) { // stg_id=1 is interal storage FAT
return NVTEVT_CONSUME;
}
#endif
} }
DBG_WRN("stg_id = %lu\n", paramArray[0]);
switch (result) { switch (result) {
case FST_STA_OK: case FST_STA_OK:
printf("read only = %llu\n", FileSys_GetDiskInfoEx('A', FST_INFO_IS_READ_ONLY));
if(FileSys_GetDiskInfoEx('A', FST_INFO_IS_READ_ONLY)){ if(strg_id == 0){
system("mount -t vfat /dev/mmcblk0 /mnt/sd/ -o remount,rw"); printf("read only = %llu\n", FileSys_GetDiskInfoEx('A', FST_INFO_IS_READ_ONLY));
} if(FileSys_GetDiskInfoEx('A', FST_INFO_IS_READ_ONLY)){
system("mount -t vfat /dev/mmcblk0 /mnt/sd/ -o remount,rw");
}
}
//#if (USE_DCF == ENABLE) //#if (USE_DCF == ENABLE)
// if (!UI_GetData(FL_IsCopyToCarding)) { // if (!UI_GetData(FL_IsCopyToCarding)) {
DCF_ScanObj(); DBG_DUMP("DCF scan\n");
DCF_ScanObjEx(0); /* sd card: strg_id = 0, dcf handle = 1 */
DCF_ScanObjEx(1);
// } // }
//#endif //#endif
//FileSys_GetDiskInfo(FST_INFO_DISK_SIZE); //FileSys_GetDiskInfo(FST_INFO_DISK_SIZE);
@ -1087,16 +1092,20 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
#endif #endif
break; break;
case FST_STA_DISK_UNFORMAT: case FST_STA_DISK_UNFORMAT:
System_SetState(SYS_STATE_FS, FS_UNFORMATTED); if(strg_id == 0)
System_SetState(SYS_STATE_FS, FS_UNFORMATTED);
break; break;
case FST_STA_DISK_UNKNOWN_FORMAT: case FST_STA_DISK_UNKNOWN_FORMAT:
System_SetState(SYS_STATE_FS, FS_UNKNOWN_FORMAT); if(strg_id == 0)
System_SetState(SYS_STATE_FS, FS_UNKNOWN_FORMAT);
break; break;
case FST_STA_CARD_ERR: case FST_STA_CARD_ERR:
System_SetState(SYS_STATE_FS, FS_DISK_ERROR); if(strg_id == 0)
System_SetState(SYS_STATE_FS, FS_DISK_ERROR);
break; break;
default: default:
System_SetState(SYS_STATE_FS, FS_DISK_ERROR); if(strg_id == 0)
System_SetState(SYS_STATE_FS, FS_DISK_ERROR);
break; break;
} }

View File

@ -64,11 +64,18 @@ void mempool_init(void)
} }
mempool_storage_nand = (UINT32)va; mempool_storage_nand = (UINT32)va;
#endif #endif
#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); ret = vendor_common_mem_alloc_fixed_pool("filesys", &pa, (void **)&va, POOL_SIZE_FILESYS, DDR_ID0);
#endif
if (ret != HD_OK) { if (ret != HD_OK) {
return; return;
} }
mempool_filesys = (UINT32)va; mempool_filesys = (UINT32)va;
ret = vendor_common_mem_alloc_fixed_pool("gxgfx_temp", &pa, (void **)&va, POOL_SIZE_GFX_TEMP, DDR_ID0); ret = vendor_common_mem_alloc_fixed_pool("gxgfx_temp", &pa, (void **)&va, POOL_SIZE_GFX_TEMP, DDR_ID0);
if (ret != HD_OK) { if (ret != HD_OK) {
return; return;

View File

@ -1247,16 +1247,17 @@ static void MovieExe_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
#endif #endif
#elif USE_DCF #elif USE_DCF
UINT32 dcf_path = 1; /* 0:emmc 1:sd */
UINT32 nextFolderID = 0, nextFileID = 0; UINT32 nextFolderID = 0, nextFileID = 0;
if (DCF_GetDBInfo(DCF_INFO_IS_9999)) { if (DCF_GetDBInfoEx(dcf_path, DCF_INFO_IS_9999)) {
DBG_ERR("Exceed max dcf file!\r\n"); DBG_ERR("Exceed max dcf file!\r\n");
pFileName[0] = '\0'; pFileName[0] = '\0';
} else { } else {
DCF_GetNextID(&nextFolderID,&nextFileID); DCF_GetNextIDEx(dcf_path, &nextFolderID,&nextFileID);
DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName); DCF_MakeObjPathEx(dcf_path, nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName);
DCF_AddDBfile(pFileName); DCF_AddDBfileEx(dcf_path, pFileName);
DBG_DUMP("%s added to DCF\r\n", pFileName); DBG_DUMP("%s added to DCF Path%lu\r\n", pFileName, dcf_path);
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
char tmp[NMC_TOTALFILEPATH_MAX_LEN] = {'\0'}; char tmp[NMC_TOTALFILEPATH_MAX_LEN] = {'\0'};
sprintf(tmp, "S%03d%04d.JPG", nextFolderID, nextFileID); sprintf(tmp, "S%03d%04d.JPG", nextFolderID, nextFileID);
@ -1317,13 +1318,14 @@ static void MovieExe_RawEncodeFileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
#elif USE_DCF #elif USE_DCF
UINT32 nextFolderID = 0, nextFileID = 0; UINT32 nextFolderID = 0, nextFileID = 0;
UINT32 dcf_path = 1;
if (DCF_GetDBInfo(DCF_INFO_IS_9999)) { if (DCF_GetDBInfoEx(dcf_path, DCF_INFO_IS_9999)) {
DBG_ERR("Exceed max dcf file!\r\n"); DBG_ERR("Exceed max dcf file!\r\n");
pFileName[0] = '\0'; pFileName[0] = '\0';
} else { } else {
DCF_GetNextID(&nextFolderID,&nextFileID); DCF_GetNextIDEx(dcf_path, &nextFolderID,&nextFileID);
DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_JPG, pFileName); DCF_MakeObjPathEx(dcf_path, nextFolderID, nextFileID, DCF_FILE_TYPE_JPG, pFileName);
} }
#endif #endif

View File

@ -6185,10 +6185,12 @@ INT32 PhotoExe_Preview_SliceEncode(VControl *pCtrl, UINT32 paramNum, UINT32 *par
DBG_ERR("primary buffer overflow during combine jpg!\r\n"); DBG_ERR("primary buffer overflow during combine jpg!\r\n");
} }
UINT32 dcf_path = 1; /* 0:emmc , 1:sd */
FstStatus.Status = ImageApp_Photo_WriteCB( FstStatus.Status = ImageApp_Photo_WriteCB(
dst_jpg_file.addr, dst_jpg_file.addr,
dst_jpg_file.size, dst_jpg_file.size,
HD_CODEC_TYPE_JPEG, 0); HD_CODEC_TYPE_JPEG, dcf_path);
{ {
char* file_path = ImageApp_Photo_GetLastWriteFilePath(); char* file_path = ImageApp_Photo_GetLastWriteFilePath();
@ -6781,10 +6783,12 @@ INT32 PhotoExe_Preview_SliceEncode_CB3(void* user_data)
extern INT32 ImageApp_Photo_WriteCB(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId); extern INT32 ImageApp_Photo_WriteCB(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId);
IMG_CAP_FST_INFO FstStatus = {FST_STA_OK}; IMG_CAP_FST_INFO FstStatus = {FST_STA_OK};
UINT32 dcf_path = 1; /* 0:emmc 1:sd */
FstStatus.Status = ImageApp_Photo_WriteCB( FstStatus.Status = ImageApp_Photo_WriteCB(
(UINT32)queue_ele_in->jpg_combined_addr, (UINT32)queue_ele_in->jpg_combined_addr,
queue_ele_in->jpg_combined_size, queue_ele_in->jpg_combined_size,
HD_CODEC_TYPE_JPEG, 0); HD_CODEC_TYPE_JPEG, dcf_path);
{ {
char* file_path = ImageApp_Photo_GetLastWriteFilePath(); char* file_path = ImageApp_Photo_GetLastWriteFilePath();