您好、
我有一个用于初始化某些 GPIO 引脚和 UART 和 SPI 等外设的应用程序。 我还将示例项目中的本地 OTA 线程(使用 FreeRTOS 版本)集成到了我的应用程序中。
当我有时开始调试程序时、在编译程序后会进入 FAULTISR、但是、在停止程序并重新启动调试后、程序会按预期进行初始化。 通常、我需要至少重新启动一次调试、但在某些情况下、我需要执行清理并重新编译。
我尝试单步执行该程序、并注意到问题是在睡眠时出现的。 因此、在禁用此选项后、程序在大多数时间都能够正常启动(问题仍然偶尔出现、但发生频率较低)。 在对 usleep 进行一些阅读之后、我注意到它会调用 vTaskDelay 函数、因此如果未启动调度程序、可能会导致一些问题。 因此、我在调度程序启动后修改了代码以调用 usleep。 这似乎根本没有帮助。 我不知道应该如何调试这个问题。 如果有任何帮助、我们将不胜感激!
谢谢!
Vasav