VOS_VOID OM_AcpuLogShowToFile(VOS_BOOL bIsSendMsg) { FILE *fp; OM_AUTOCONFIG_CNF_STRU *pstSendCnf; VOS_UINT32 ulTemp = 0x5a5a5a5a; #if(VOS_WIN32 == VOS_OS_VER) VOS_CHAR g_acLogPath[] = ".\\yaffs0\\A_OmLog.bin"; #else #if (FEATURE_ON == FEATURE_MULTI_FS_PARTITION) VOS_CHAR g_acLogPath[] = "/data/modemlog/A_OmLog.bin"; #else VOS_CHAR g_acLogPath[] = "/yaffs0/A_OmLog.bin"; #endif #endif fp = mdrv_file_open(g_acLogPath, "w+"); if (VOS_NULL_PTR == fp) { return; } mdrv_file_write((VOS_VOID*)&(g_stAcpuCnfCtrlInfo.stPcToUeSucRecord), sizeof(VOS_CHAR), sizeof(g_stAcpuCnfCtrlInfo.stPcToUeSucRecord), fp); mdrv_file_write((VOS_VOID*)&(g_stAcpuCbtCtrlInfo.stPcToUeSucRecord), sizeof(VOS_CHAR), sizeof(g_stAcpuCbtCtrlInfo.stPcToUeSucRecord), fp); mdrv_file_write((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); mdrv_file_write((VOS_VOID*)&(g_stAcpuCnfCtrlInfo.stPcToUeErrRecord), sizeof(VOS_CHAR), sizeof(g_stAcpuCnfCtrlInfo.stPcToUeErrRecord), fp); mdrv_file_write((VOS_VOID*)&(g_stAcpuCbtCtrlInfo.stPcToUeErrRecord), sizeof(VOS_CHAR), sizeof(g_stAcpuCbtCtrlInfo.stPcToUeErrRecord), fp); mdrv_file_write((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); mdrv_file_write((VOS_VOID*)&(g_stAcpuTxCnfCtrlInfo.stUeToPcSucRecord), sizeof(VOS_CHAR), sizeof(g_stAcpuTxCnfCtrlInfo.stUeToPcSucRecord), fp); mdrv_file_write((VOS_VOID*)&(g_stAcpuTxIndCtrlInfo.stUeToPcSucRecord), sizeof(VOS_CHAR), sizeof(g_stAcpuTxIndCtrlInfo.stUeToPcSucRecord), fp); mdrv_file_write((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); mdrv_file_write((VOS_VOID*)&(g_stAcpuTxCnfCtrlInfo.stUeToPcErrRecord), sizeof(VOS_CHAR), sizeof(g_stAcpuTxCnfCtrlInfo.stUeToPcErrRecord), fp); mdrv_file_write((VOS_VOID*)&(g_stAcpuTxIndCtrlInfo.stUeToPcErrRecord), sizeof(VOS_CHAR), sizeof(g_stAcpuTxIndCtrlInfo.stUeToPcErrRecord), fp); mdrv_file_write((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); mdrv_file_write((VOS_VOID*)&g_stAcpuDebugInfo , sizeof(VOS_CHAR), sizeof(g_stAcpuDebugInfo), fp); mdrv_file_write((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); mdrv_file_write((VOS_VOID*)&g_stVComDebugInfo[0] , sizeof(VOS_CHAR), sizeof(g_stVComDebugInfo), fp); mdrv_file_write((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); mdrv_file_write((VOS_VOID*)g_astAcpuRecordInfo , sizeof(VOS_CHAR), sizeof(g_astAcpuRecordInfo), fp); mdrv_file_write((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); mdrv_file_write((VOS_VOID*)&g_stAcpuCnfCtrlInfo.ulOMSwitchOnOff , sizeof(VOS_CHAR), sizeof(g_stAcpuCnfCtrlInfo.ulOMSwitchOnOff), fp); mdrv_file_write((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); /* SCM 相关*/ SCM_LogToFile(fp); mdrv_file_write((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); /* SOCP 相关*/ #if (FEATURE_SOCP_SYNC_ENABLE == FEATURE_ON) SOCP_LogToFile(fp); #endif mdrv_file_write((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); #ifdef SCM_SNCHECK mdrv_file_write((VOS_VOID*)&g_ulSnErrCount , sizeof(VOS_CHAR), sizeof(g_ulSnErrCount), fp); mdrv_file_write((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); #endif mdrv_file_close(fp); /* 发送消息給 Acpu */ if(VOS_FALSE == bIsSendMsg) { return; } pstSendCnf = (OM_AUTOCONFIG_CNF_STRU*)VOS_AllocMsg(ACPU_PID_OMAGENT, sizeof(OM_AUTOCONFIG_CNF_STRU) - VOS_MSG_HEAD_LENGTH); /* 分配消息失败 */ if (VOS_NULL_PTR == pstSendCnf) { return; } pstSendCnf->ulReceiverPid = CCPU_PID_OMAGENT; pstSendCnf->usPrimId = OM_RECORD_DBU_INFO_REQ; (VOS_VOID)VOS_SendMsg(ACPU_PID_OMAGENT, pstSendCnf); return; }
VOS_VOID OM_AcpuLogShowToFile(VOS_BOOL bIsSendMsg) { FILE *fp; OM_AUTOCONFIG_CNF_STRU *pstSendCnf; VOS_UINT32 ulTemp = 0x5a5a5a5a; #if(VOS_WIN32 == VOS_OS_VER) VOS_CHAR g_acLogPath[] = ".\\yaffs0\\A_OmLog.bin"; #else #if (FEATURE_ON == FEATURE_MULTI_FS_PARTITION) VOS_CHAR g_acLogPath[] = "/modem_log/A_OmLog.bin"; #else VOS_CHAR g_acLogPath[] = "/yaffs0/A_OmLog.bin"; #endif #endif fp = DRV_FILE_OPEN(g_acLogPath, "w+"); if (VOS_NULL_PTR == fp) { return; } DRV_FILE_WRITE((VOS_VOID*)&g_stAcpuPcToUeSucRecord, sizeof(VOS_CHAR), sizeof(g_stAcpuPcToUeSucRecord), fp); DRV_FILE_WRITE((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); DRV_FILE_WRITE((VOS_VOID*)&g_stAcpuPcToUeErrRecord, sizeof(VOS_CHAR), sizeof(g_stAcpuPcToUeErrRecord), fp); DRV_FILE_WRITE((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); DRV_FILE_WRITE((VOS_VOID*)&g_stAcpuUeToPcSucRecord, sizeof(VOS_CHAR), sizeof(g_stAcpuUeToPcSucRecord), fp); DRV_FILE_WRITE((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); DRV_FILE_WRITE((VOS_VOID*)&g_stAcpuUeToPcErrRecord, sizeof(VOS_CHAR), sizeof(g_stAcpuUeToPcErrRecord), fp); DRV_FILE_WRITE((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); DRV_FILE_WRITE((VOS_VOID*)&g_stAcpuDebugInfo , sizeof(VOS_CHAR), sizeof(g_stAcpuDebugInfo), fp); DRV_FILE_WRITE((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); DRV_FILE_WRITE((VOS_VOID*)&g_stVComDebugInfo , sizeof(VOS_CHAR), sizeof(g_stVComDebugInfo), fp); DRV_FILE_WRITE((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); DRV_FILE_WRITE((VOS_VOID*)g_astAcpuRecordInfo , sizeof(VOS_CHAR), sizeof(g_astAcpuRecordInfo), fp); DRV_FILE_WRITE((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); DRV_FILE_WRITE((VOS_VOID*)&g_ulAcpuOMSwitchOnOff , sizeof(VOS_CHAR), sizeof(g_ulAcpuOMSwitchOnOff), fp); DRV_FILE_WRITE((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); /* SCM 相关*/ SCM_LogToFile(fp); DRV_FILE_WRITE((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); /* SOCP 相关*/ SOCP_LogToFile(fp); DRV_FILE_WRITE((VOS_VOID*)&ulTemp, sizeof(VOS_CHAR), sizeof(VOS_UINT32), fp); DRV_FILE_CLOSE(fp); OM_AcpuReadNVLog(); /* 发送消息給 Acpu */ if(VOS_FALSE == bIsSendMsg) { return; } pstSendCnf = (OM_AUTOCONFIG_CNF_STRU*)VOS_AllocMsg(ACPU_PID_OMAGENT, sizeof(OM_AUTOCONFIG_CNF_STRU) - VOS_MSG_HEAD_LENGTH); /* 分配消息失败 */ if (VOS_NULL_PTR == pstSendCnf) { return; } pstSendCnf->ulReceiverPid = CCPU_PID_OMAGENT; pstSendCnf->usPrimId = OM_RECORD_DBU_INFO_REQ; (VOS_VOID)VOS_SendMsg(ACPU_PID_OMAGENT, pstSendCnf); return; }