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.

[参考译文] CC3220S:调试首次进入故障 ISR、但在运行两次之后、它按预期工作。

Guru**** 2535780 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/999325/cc3220s-debug-goes-to-fault-isr-on-first-time-but-after-running-it-twice-it-works-as-expected

器件型号:CC3220S

您好、

我有一个用于初始化某些 GPIO 引脚和 UART 和 SPI 等外设的应用程序。 我还将示例项目中的本地 OTA 线程(使用 FreeRTOS 版本)集成到了我的应用程序中。  

当我有时开始调试程序时、在编译程序后会进入 FAULTISR、但是、在停止程序并重新启动调试后、程序会按预期进行初始化。 通常、我需要至少重新启动一次调试、但在某些情况下、我需要执行清理并重新编译。

我尝试单步执行该程序、并注意到问题是在睡眠时出现的。 因此、在禁用此选项后、程序在大多数时间都能够正常启动(问题仍然偶尔出现、但发生频率较低)。 在对 usleep 进行一些阅读之后、我注意到它会调用 vTaskDelay 函数、因此如果未启动调度程序、可能会导致一些问题。 因此、我在调度程序启动后修改了代码以调用 usleep。 这似乎根本没有帮助。 我不知道应该如何调试这个问题。 如果有任何帮助、我们将不胜感激!

谢谢!

Vasav  

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

    Vasav、您好!

    您是否使用建议与 SDK 版本配合使用的 FreeRTOS 版本? 可以在 SimpleLink 内核 SDK 发行说明中找到预期的版本、网址为 SDK 的 docs/simplelink_mcu_sdk/。

    FreeRTOS 的使用睡眠不会出现问题、您是否在单独的测试程序中测试了使用睡眠行为?如果没有程序的全部功能、请查看问题是否仍然存在? 为此、您可以尝试使用 SDK 中的 power_measurement 演示等简单演示。

    此致、

    Michael

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

    您好、Michael、

    事实证明、当我在初始化调度程序后移动 usleep 时确实解决了问题。 我的程序不起作用的原因是一些 GPIO 引脚被初始化。 我们可以解决此问题。

    谢谢!

    Vasav