主题: AWR2944中讨论的其他器件
工具/软件:
您好、
我们使用该DebugP_log函数在 CCS 控制台中记录消息、但它会在运行一段时间后停止输出任何信息。
它 在 MSS 侧工作正常、但 DSS 侧遇到问题。
该DebugP_log功能是否有任何设置、例如日志缓冲区或其他配置?
谢谢
BRS
Bruce
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
您好、
我们使用该DebugP_log函数在 CCS 控制台中记录消息、但它会在运行一段时间后停止输出任何信息。
它 在 MSS 侧工作正常、但 DSS 侧遇到问题。
该DebugP_log功能是否有任何设置、例如日志缓冲区或其他配置?
谢谢
BRS
Bruce
您好 Bruce、
理想情况下、我们不会在长时间运行测试用例中使用 CCS 上打印的 DebugP_LOG 函数。
理想情况下、我们遵循以下两种方法之一:
a)具有专门用于此目的的存储器、并根据应用程序和跟踪状态更新值
b)通过 UART 注销、并检查 TeraTerm 等工具上的输出。
我们在任何场景中都不会将其用于长期测试。 如果存在限制、则可能是对 CCS 内部缓冲区和一些内部机制的限制。
但理想的情况是将 UART 用于这些类型的调试。
此致、
Saswat Kumar
尊敬的 Saswat:
有关从 UART 输出 DSS 日志的更多问题。
1.在 AWR2944EVM 中、似乎没有直接输出 DSS 日志的硬件组件(如 USB 端口)。 是否使用 XDS USB 输出 DSS 日志?
这是 dss.syscfg 和 mss.syscfg 中的当前 UART 设置。 是否应该修改 dss.syscfg? 如果是、您能否帮助提供正确的设置?
dss.syscfg

mss.syscfg

谢谢。
尊敬的 Saswat:
您可以参考函数 DPM_sendresult 和来自 MSS 的 UART 传输。
=>您的意思是我可以使用 DPM_sendresult () API 来发送 DSS 日志吗?
/**
*@b 描述
*@n
*该函数用于将处理链结果发送到
*远程 DPM 实体。 此功能仅适用于
*远程和分布式域。
*
*标志"isAckNeeded"可以设置,这将导致
*当对等域有时发送到报告的 DPM 框架
*已收到有关结果可用性的通知。 这很有用
*和可用于确保结果缓冲区不是
*被重复使用
*
*\ref DPM_Report_Notify_DPC_Result_acked
*
*@param[in] handle
* DPM 模块的手柄
*@param[in] isAckNeedededed
*表示之后是否需要确认的标志
*结果已传递给远程 DPM 实体。
*@param[in] ptrResult
*要发送的分析结果
*
*\ingroup DPM_EXTERNAL_FUNCTION
*
*@重估
*成功- 0
*@重估
*错误-@引用 DPM_ERROR_CODE 之一
*/
int32_t DPM_sendResult
(
DPM_Handle 手柄、
Bool isAckNeeded、
DPM_Buffer* ptrResult
)
谢谢。
尊敬的 Saswat:
您可以选择 MSS 中未使用的存储器、从 DSS 写入它并通过 MSS_UART 流式传输该存储器。
==>您是指如下示例代码所示的概念吗?
1.在 DSS 和 MSS 中声明一个内存块。
/*! 用于处理结果的 HSRAM */
#pragma DATA_SECTION (gHSRAM、".demoSharedMem");
#pragma DATA_ALIGN (gHSRAM、64U);
2.将 DSS 日志消息复制到 DSS 部分中的 HSRAM
if ((RetVal = MmwDemo_copyResultToHSRAM (&gHSRAM、Result、&gMmwDssMCB.dataPathObj.subFrameStats[Result->subFrameIdx])>= 0)
3.在 DSS 部分中执行 DPM_sendResult。
retVal = DPM_sendResult (gMmwDssMCB.dataPathObj.objDetDpmHandle、TRUE、&resultBuffer);
4.通知 MSS 从 HSRAM 复制日志
案例 DPM_Report_Notify_DPC_Result:
{
/********************************************************************************
*数据路径已完成帧处理,结果已报告
************************************************************************** /
DPC_Objectt Detection_Execute、ResultExportedInfo exportInfo;
int32_t retVal=0;
/*重置帧数据处理标志、在实际流式传输完完整的 OBJ 数据后设置*/
gMmwMssMCB.stats.isLastFrameDataProcessed = false;
memcpy ((void *)(&gMmwMssMCB.ptrResult)、(void *) arg0、sizeof (DPM_Buffer);
exportInfo.subFrameIdx =((DPC_Objectt Detection_Execute *) gMmwMssMCB.ptrResult.ptrBuffer[0])->subFrameIdx;
/*处理结果后向数据路径发送通知*/
RetVal = DPM_ioctl (gMmwMssMCB.objDetDpmHandle、
DPC_OBJDET_IOCTL__DYNAMIC_EXECURE_RESULT_EXPORTED、
导出信息(&E)
sizeof (DPC_Objectt Detection_Execute、ResultExportedInfo);
if (RetVal < 0){
TEST_PRINT ("错误:DPM DPC_OBJDET_IOCTL__DYNAMIC_EXECURE_RESULT_EXPORTED 失败[错误代码%d]\n"、RetVal);
CLI_WRITE ("FIH_Debug:错误:DPM DPC_OBJDET_IOCTL__DYNAMIC_EXECURE_RESULT_EXPORTED 失败[错误代码%d]\n"、
retVal);
MmwDemo_debugAssert (0);
}
/*向 UART 任务发送信号以传输数据*/
Semaphorep_post (&gMmwMssMCB.UartExportSemHandle);
}
5.将 DSS 日志输出到 UART。
cli_write ("DSS 日志:%s\n"、消息);
谢谢。