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
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();
}
#endif
if (GxStrg_GetDeviceCtrl(stg_id, CARD_READONLY)) {
System_SetState(SYS_STATE_CARD, CARD_LOCKED);
DBG_IND("Card Locked\r\n");
} else {
System_SetState(SYS_STATE_CARD, CARD_INSERTED);
DBG_IND("Card inserted\r\n");
if(stg_id == 0){
if (GxStrg_GetDeviceCtrl(stg_id, CARD_READONLY)) {
System_SetState(SYS_STATE_CARD, CARD_LOCKED);
DBG_IND("Card Locked\r\n");
} else {
System_SetState(SYS_STATE_CARD, CARD_INSERTED);
DBG_IND("Card inserted\r\n");
}
}
return NVTEVT_CONSUME;
}
@ -930,6 +934,7 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
UINT32 result = paramArray[1];
#if HUNTING_CAMERA_MCU == ENABLE
SF_MESSAGE_BUF_S stMessageBuf = {0};
UINT32 strg_id = paramArray[0];
#endif
#if defined(__FREERTOS)
@ -969,25 +974,25 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
result = FileSys_FormatDisk(pStrgDevCur, TRUE);
}
#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) {
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)){
system("mount -t vfat /dev/mmcblk0 /mnt/sd/ -o remount,rw");
}
if(strg_id == 0){
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 (!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
//FileSys_GetDiskInfo(FST_INFO_DISK_SIZE);
@ -1087,16 +1092,20 @@ INT32 System_OnStrgAttach(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
#endif
break;
case FST_STA_DISK_UNFORMAT:
System_SetState(SYS_STATE_FS, FS_UNFORMATTED);
if(strg_id == 0)
System_SetState(SYS_STATE_FS, FS_UNFORMATTED);
break;
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;
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;
default:
System_SetState(SYS_STATE_FS, FS_DISK_ERROR);
if(strg_id == 0)
System_SetState(SYS_STATE_FS, FS_DISK_ERROR);
break;
}

View File

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

View File

@ -1247,16 +1247,17 @@ static void MovieExe_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName)
#endif
#elif USE_DCF
UINT32 dcf_path = 1; /* 0:emmc 1:sd */
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");
pFileName[0] = '\0';
} else {
DCF_GetNextID(&nextFolderID,&nextFileID);
DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName);
DCF_AddDBfile(pFileName);
DBG_DUMP("%s added to DCF\r\n", pFileName);
DCF_GetNextIDEx(dcf_path, &nextFolderID,&nextFileID);
DCF_MakeObjPathEx(dcf_path, nextFolderID, nextFileID, DCF_FILE_TYPE_MP4, pFileName);
DCF_AddDBfileEx(dcf_path, pFileName);
DBG_DUMP("%s added to DCF Path%lu\r\n", pFileName, dcf_path);
#if HUNTING_CAMERA_MCU == ENABLE
char tmp[NMC_TOTALFILEPATH_MAX_LEN] = {'\0'};
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
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");
pFileName[0] = '\0';
} else {
DCF_GetNextID(&nextFolderID,&nextFileID);
DCF_MakeObjPath(nextFolderID, nextFileID, DCF_FILE_TYPE_JPG, pFileName);
DCF_GetNextIDEx(dcf_path, &nextFolderID,&nextFileID);
DCF_MakeObjPathEx(dcf_path, nextFolderID, nextFileID, DCF_FILE_TYPE_JPG, pFileName);
}
#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");
}
UINT32 dcf_path = 1; /* 0:emmc , 1:sd */
FstStatus.Status = ImageApp_Photo_WriteCB(
dst_jpg_file.addr,
dst_jpg_file.size,
HD_CODEC_TYPE_JPEG, 0);
HD_CODEC_TYPE_JPEG, dcf_path);
{
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);
IMG_CAP_FST_INFO FstStatus = {FST_STA_OK};
UINT32 dcf_path = 1; /* 0:emmc 1:sd */
FstStatus.Status = ImageApp_Photo_WriteCB(
(UINT32)queue_ele_in->jpg_combined_addr,
queue_ele_in->jpg_combined_size,
HD_CODEC_TYPE_JPEG, 0);
HD_CODEC_TYPE_JPEG, dcf_path);
{
char* file_path = ImageApp_Photo_GetLastWriteFilePath();