工具/软件:Code Composer Studio
尊敬的先生:
我正在使用 CC3220器件。我对致命错误检测有疑问。 我附加了 UART 日志图像以供参考。 当 WiFi 与路由器断开连接时、我会遇到致命错误、并且此错误经常出现
请查看带有标记的图像。
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
尊敬的先生:
我正在使用 CC3220器件。我对致命错误检测有疑问。 我附加了 UART 日志图像以供参考。 当 WiFi 与路由器断开连接时、我会遇到致命错误、并且此错误经常出现
请查看带有标记的图像。
您好 Ketan、
sl_device_event_fature_device_abort 通常是由应用程序中导致 NWP 中止的不当操作引起的。 一个原因是、如果您在中断中使用 SL_API 调用-也许您在应用程序的某个位置执行此操作? 如果不知道代码在做什么、就很难说。 无论如何、如果确实发生这种情况、您必须从 SimpleLinkFatalErrorEventHandler 向任务发出信号、以通过 sl_Stop() sl_Start()重新启动 NWP。
有一个类似问题的 E2E、这是由于 WiFi 信号连接弱而发生的。也许您会发现它有用。
Jesu
尊敬的先生:
我标记了 MQTT 包装编号、这意味着它运行正常、运行时间几乎为7到8小时、然后在该错误发生后。我将通过关闭和打开路由器来模拟此错误。
我没有在中断中调用任何 sl_API。服务是否会导致此问题? 我使用的是 SDK2.10.0.04版本
在这里、我在致命错误回调函数中添加了一些内容。 请看一下。 这是 sl_stop 和 sl_start 的正确调用?
void SimpleLinkFatalErrorEventHandler (SlDeviceFatal_t * slFatalErrorEvent)
{
int RetVal =-1;
交换机(slFatalErrorEvent->ID)。
{
案例 SL_DEVICE_EVENT_FATAL_DEVICE_ABORT:
{
WMErrorLog (ERROR_LOG、
"[ERROR]-致命错误:检测到中止 NWP 事件:"
"AbortType=%d、AbortData=0x%x"、
slFatalErrorEvent->Data.DeviceAssert.Code、
slFatalErrorEvent->Data.DeviceAssert.Value);
/*要使更改生效,我们重新启动 NWP */
RetVal = sl_Stop (sl_stop_timeout);
如果(RetVal < 0)
{
show_warning (RetVal、"sl_Stop() failed");
}
MODE = SL_Start (NULL、NULL、NULL);
如果(RetVal < 0)
{
show_warning (RetVal、"sl_Start() failed");
}
}
中断;
}
}
}