工具/软件:Code Composer Studio
您好!
我想在应用程序中使用 Log 保存错误代码和自定义诊断数据、然后通过 HTTP 服务器提供这些记录。 你推荐什么? 我已经实现了 HTTP GET / POST 的所有功能、但在实施自己的环形缓冲区之前、我想问一下、是否有任何基于 RTOS 的实现可用于我的目的?
谢谢!
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.
工具/软件:Code Composer Studio
您好!
我想在应用程序中使用 Log 保存错误代码和自定义诊断数据、然后通过 HTTP 服务器提供这些记录。 你推荐什么? 我已经实现了 HTTP GET / POST 的所有功能、但在实施自己的环形缓冲区之前、我想问一下、是否有任何基于 RTOS 的实现可用于我的目的?
谢谢!
您好、Charles、
感谢你的答复。 是的、他们按我的预期工作。
但是、我真正需要的是、在以后从内部缓冲区访问这些消息时、可以使用任何缓冲区。 请查看我的原始问题。 如果 TI RTOS 有一种存储 System_printf 或 Log_Info1内容的列表缓冲区、当收到正确的 http GET 请求时、我可以重复使用它来查询它们。 例如:api/log.cgi RTOS 是否有一些 API 来访问它们?
谢谢你。
Daniel、您好!
您可以添加此项(如果有的话,还可以删除 LoggingSetup)。
BIOS.logsEnabled = true;
VAR LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
VAR 默认值= xdc.useModule('xdc.runtime.Defaults');
var logerBufParams = new LoggerBuf.Params();
LoggerBufParams.bufType = LoggerBuf.BufType_Circular;//最新状态
LoggerBufParams.numEntry = 2048;
var logger0 = LoggerBuf.create (logerBufParams);
Defaults.common$.logger = logger0;
Task.common$.diags_USER1 = XDC.MODULE ("xdc.runtime.Diags").ALWAYS_ON;
Task.common$.diags_USER2 = XDC.MODULE ("xdc.runtime.Diags").ALWAYS_ON;
//根据需要使用其他模块。
这使所有模块使用一个记录器实例。 您可以在 CDOC 中查找模块、以查看需要启用哪些诊断掩码。 例如、这里是任务上下文切换
注:LoggingSetup 不支持 LoggerBuf。 使用 LoggerBuf 时,必须手动执行 LoggingSetup 为您执行的所有操作(例如创建记录器实例、启用模块的诊断掩码等)
注意:您可以使用多个记录器实例、然后专门分配给某些模块。 这就是 LoggingSetup 的功能(xdc.runtime.Main 获得一个、BIOS 的 Load 模块获得一个、而 BIOS 的其余模块获得一个)。 这由控制 common$.logger 字段。 如果未显式设置、则从 xdc.runtime.Defaults 继承。
注:运行时代码不变。 它仍然使用 Log_XYZ。
Todd