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.

[参考译文] RTOS/CC3220:系统异常输出

Guru**** 2555660 points
Other Parts Discussed in Thread: CC3220SF

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/769144/rtos-cc3220-system-exception-printout

器件型号:CC3220

工具/软件:TI-RTOS

您好!

我将 System_printf 与 CC3220SF 上的 TI-RTOS 搭配使用。 我在 UART 上收到不完整的错误输出。

[07:12:11] RTC:34
[07:12:41]错误:./WDT_IF.c:3
[07:12:42]发生 EException 时出现错误启动

我想发生的情况:  

  1. 发生 Hwi 错误
  2. 错误详细信息由 Hwi_excDumpContext 或类似文件打印、但不会清空缓冲区
  3. 30秒后看门狗启动
  4. 缓冲区刷新开始
  5. 器件重启(并切断缓冲器冲洗)

请注意、我已经像这样配置了 TI-RTOS:

VAR SysCallback = xdc.useModule('xdc.runtime.SysCallback');
System.SupportProxy = SysCallback;
SysCallback.putchFxn ="&UARTUtils_systemPutch";
SysCallback.readyFxn ="&UARTUtils_systemReady"; 

并配置了系统 printf 输出,如 中所述:http://dev.ti.com/tirex/content/simplelink_academy_cc13x2sdk_2_10_02_10/modules/debug/debugging_output/debugging_output.html#task-5-system_printf-output-via-uart

我的期望是打印以下内容:

[07:12:11] RTC:34
[07:12:12] ThreadType: Error details : blablaba 中发生异常
[07:12:42]看门狗
[07:12:42]起动
此类配置是否存在已知问题? 您是否知道如何在 UART 上打印完整的错误详细信息?

相关说明:当发生 HWI 异常时,重新启动整个系统的最佳方法是什么?  (而不是等待看门狗)

谢谢、

C é dric

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Cedric、

    考虑到您所描述的内容以及您的 System.SupportProxy 配置,我希望例外报告在30秒看门狗发生之前很长时间出现。 我不确定您所指的是什么缓冲区刷新,因为 SysCallback 本身没有缓冲,异常处理程序在发出错误后立即调用 abort()。

    我不熟悉 UARTUtils,但我希望 UARTUtils_systemPutch()函数会立即开始从异常处理程序向 UART 发送字符。 这是一个中断驱动的缓冲输出吗? 如果是这样、这个过程可能会被暂停、因为我认为在'abort()'的过程中、中断被禁用。

    什么代码打印'RTC:34'、'Watchdog'和'Starting'? 它是调用 System_printf()还是使用 UART 发送器的其他路径?

    Alan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Cedric、

    这是否得到了解决?

    Todd

    [更新2013年2月13日:标记为 TI 认为已解决、因为原始海报中没有回复]。