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.

[参考译文] CC3200:CC3200从 FaultISR 中断内写入文件

Guru**** 2555630 points
Other Parts Discussed in Thread: CC3200

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/567124/cc3200-cc3200-write-to-file-from-within-faultisr-interrupt

器件型号:CC3200

你好!

我的代码在某个位置是、而是随机生成 FaultISR、我尝试跟踪其中的位置。 我正在使用写入 CC3200文件系统的调试日志文件。 但是、当我在硬故障时尝试从 FaultISR 内写入代码时、代码会在 sl_FsWrite 内的_SlDrvCmdOp 上滞留等待。 我假设这是因为 FreeRTOS 任务循环被阻止在该时间运行。

我的问题是:

a)您能否确认这是预期行为(卡滞部分)?

b)什么是记住 FaultISR 原因、然后复位系统的方法? 为了实现完全恢复、我使用 TI 建议的 NWP 复位序列强制执行基于 WDT 的复位。

谢谢、

Michael

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

    我认为无法使用来自硬故障 ISR 的 SimpleLink API 调用(SimpleLink API 调用不是设计用于 ISR 上下文)。 我假设还会发出 SimpleLink 操作和操作系统同步对象所需的中断。

    我认为更适合您的方法是:
    -您可以保留部分 RAM 用于记录目的(此部分不能设置为已初始化)
    -在硬故障 ISR 中,将值保存到该 RAM 中
    -重置 CC3200
    -复位后、RAM 的这一部分仍然有效、您可以将其保存到文件中

    在这种情况下、最大的问题是正确复位 SoC 并使您的 RAM 部分仍然有效。 您可能需要使用电源管理框架设置 RAM 保持。

    1月